メソッドの外部設計とテストファースト
|
|
|
- れんか たもん
- 6 years ago
- Views:
Transcription
1 メソッドの外部設計と テストフゔースト ~ 上手く TDD するために ~ biac
2 自己紹介 山本康彦 ( biac ) いまだにプログラムを書きたがる 52 歳 ハンドルでぐぐってもらえば見つかる ( 経済産業諮問委員会じゃないほう ) 名古屋のとある ISV 勤務 この春まで WPF を使った業務ゕプリケーションの開発プロジェクトで品質保証を担当 MFS Agile を部分的に実施してみた もとは機械の設計屋さん ものごとの見方 考え方が きっとズレてる
3 宣伝 : tdd-net.jp
4 Tech Ed 2009 横浜に行ってきました 初日だけ f(^^; 写真撮影 : 原水真一 (MSKK) BoF-02: Visual Studio 2010 で進化するテスト環境 えムナウ επιστημη 他 1 名 T2-305: Silverlight 3 の新機能 by MSKK 大西彰 LT-01: TDD とメソッドの外部設計 by biac LT 登壇者 7 名のうち 3 名がわんくまだったらしい 写真撮影 : 原水真一 (MSKK)
5 ゕジェンダ TDD のおさらいとやってみると難しいということ メソッドの外部設計をやろうということ Visual Studio 2010 で TDD のための機能がさらに強化されているということ
6 Test Driven Development TDD = テストフゔースト + リフゔクタリング リフゔクタ 1. テストコードを書く (RED) 2. テストに通る製品コードを書く (GREEN) 3. リフゔクタリングする RED 1. に戻る 1.~2. がテストフゔースト これが出来ないと TDD にならない GREEN
7 テストフゔーストの効果 品質保証的に 品質向上 ( バグ減 ) 設計書レビュー効果 単体テスト実施効果 それぞれで バグが 3 割以上減少 半分以下になる! ( 結合テスト 2 回分 ) 結合テストの半分以上はバグ対応バグレポート トリゕージ 修正 確認テスト この工数が半分以下に!!
8 テストフゔーストの効果 実装 結合テストテスト実施 結合テストバグ対応
9 開発者的に 安心 TDD の効用 いつでもテストを実施して 壊していないことを確認できる ユニットテストを書き始めたら 目の前のメソッドだけに集中できる 悩まなくていい 楽しい好きなだけ ( 時間さえ許せば ) リフゔクタリングできる 機械設計屋さん的には テストケース ( テスト方法と合格判定値 ) 無しでは 設計しようがないよぉ ~ (;;
10 いいことずくめの TDD ところが! 実際にやってみると
11 ユニットテストを上手く書けない!! なにを書けばいいか わからない! テストケースが足りない! 無駄なユニットテストを書いてしまう! 原因は? いろいろ聞いてみると どうやら メソッドの外部設計が上手く出来ない!!
12 ゕジェンダ TDD のおさらいとやってみると難しいということ メソッドの外部設計をやろうということ Visual Studio 2010 で TDD のための機能がさらに強化されているということ
13 メソッドの設計 外部設計 external design 内部設計 internal design メソッドの外部設計 静的 : シグネチャ ( 引数 / 返値 ) 動的 : ふるまい ( 入力 / 出力 ) インターフェース
14 メソッドのふるまいを定義する メソッドのふるまい ( 入出力 ) を定義するには どうするか? メソッドのふるまいに対して影響を及ぼすもの ( 入力 ) をすべて見つけ出す 引数 メンバー変数 中から呼び出したメソッドの返値 etc. メソッドのふるまいによって影響を受けるもの ( 出力 ) をすべて見つけ出す 返値 メンバー変数 呼び出したメソッドで影響されるもの 入出力の組み合わせパターンをすべて定義する
15 外部設計の例 ~ 単純なメソッド 1 入力 1 出力 string BuildMessage(string targetname) 文字列 {foo} から!{ foo }, Hello という文字列を作リ出す 入力 string targetname null 出力返値 string "" ( 空文字 ) "Hello!!" (NullReferenceException) "{foo}" (1 文字以上 ) "Hello, {foo}!"
16 ユニットテストとして書き下す 入出力表の各行が ひとつのテスト [TestMethod] [ExpectedException(typeof(NullReferenceException))] public void BuildMessageTest_null を渡す () { Greeter g = new Greeter(); string dummyresult = g.buildmessage((string)null); Assert.Fail(" 期待した例外が発生しませんでした "); } [TestMethod] public void BuildMessageTest_ 空文字を渡す () { Greeter g = new Greeter(); Assert.AreEqual("Hello!!", g.buildmessage(string.empty)); } [TestMethod] public void BuildMessageTest_1 文字以上の文字列を渡す () { Greeter g = new Greeter(); Assert.AreEqual("Hello, NoMan!", g.buildmessage("noman")); }
17 外部設計の例 ~ 複雑な入出力
18 外部設計の例 ~ 複雑な入出力 string BuildMessageAndSetAmPm(string targetname) 文字列 {foo} から!{ foo }, Hello という文字列を作リ出す また メンバ変数 AmPm に午前 / 午後の区別を書き込む ただし targetname が空文字のときは!!Hello を返す ただし "Hello" の部分は 朝 (5 時 ~10 時 ) は "Good morning" 昼 (10 時 ~18 時 ) は "Hello" 夕方 (18 時 ~20 時 ) は "Good evening" それ以降は "Good night" とする 入力 ~ 引数 targetname と システム時刻 3 パターン 6 パターン 18 パターン? 出力 ~ string の返値と メンバー変数 AmPm
19 入力 外部設計の例 ~ 複雑な入出力 出力 string targetname システム時刻 t メンバ変数 AmPm 返値 string null 0:00 <= t < 12:00 午前 (NullReferenceException) null 12:00 <= t < 24:00 午後 (NullReferenceException) "" ( 空文字 ) 0:00 <= t < 5:00 午前 "Good night!!" "" ( 空文字 ) 5:00 <= t < 10:00 午前 "Good morning!!" "" ( 空文字 ) 10:00 <= t < 12:00 午前 "Hello!!" "" ( 空文字 ) 12:00 <= t < 18:00 午後 "Hello!!" "" ( 空文字 ) 18:00 <= t < 20:00 午後 "Good evening!!" "" ( 空文字 ) 20:00 <= t < 24:00 午後 "Good night!!" "{foo}" (1 文字以上 ) 0:00 <= t < 5:00 午前 "Good night, {foo}!" "{foo}" (1 文字以上 ) 5:00 <= t < 10:00 午前 "Good morning, {foo}!" "{foo}" (1 文字以上 ) 10:00 <= t < 12:00 午前 "Hello, {foo}!" "{foo}" (1 文字以上 ) 12:00 <= t < 18:00 午後 "Hello, {foo}!" "{foo}" (1 文字以上 ) 18:00 <= t < 20:00 午後 "Good evening, {foo}!" "{foo}" (1 文字以上 ) 20:00 <= t < 24:00 午後 "Good night, {foo}!"
20 組み合わせの爆発 前の例でも 14 通りになった 入力がもっと増えたらどうなる? テストケース数の爆発!! 対処は? メソッドを分割する 例えば 時刻を渡すと メンバー変数 AmPm に午前 / 午後をセットする メソッド SetAmPm() を切り出したら? 例えば 時刻を渡すと 挨拶 ( Hello とか Good morning とか ) を返してくれる メソッドを切り出したら?
21 メソッド分割で 組み合わせ爆発を防ぐ string GetGreet(DateTime t) 入力 DateTime t 出力返値 string 0:00 <= t < 5:00 "Good night" 5:00 <= t < 10:00 "Good morning" 10:00 <= t < 18:00 "Hello" 18:00 <= t < 20:00 "Good evening" 20:00 <= t < 24:00 "Good night" void SetAmPm(DateTime t) 入力 DateTime t 0:00 <= t < 12:00 午前 12:00 <= t < 24:00 午後 出力メンバー変数 AmPm
22 string BuildMessageAndSetAmPm(string targetname) 入力 string targetname null GetGreet(DateTime.Now) の返値 出力 メンバ変数 AmPm "{bar}" (1 文字以上 ) SetAmPm() 呼び出し "" ( 空文字 ) "{bar}" (1 文字以上 ) "{foo}" (1 文字以上 ) SetAmPm() 呼び出し "{bar}" (1 文字以上 ) SetAmPm() 呼び出し 返値 string (NullReferenceException) "{bar}!!" "{bar}, {foo}!" 元は 14 パターン トータルで 10 パターン 個々の表は 2~5 パターンに減らすことができた
23 メソッドの外部設計をしよう テストフゔーストに慣れるまでは ふるまいを定義する入出力表を書こう 慣れてきたら 表を書かなくてもテストコードを書けるようになる さらに慣れてきたら TDD 三原則
24 TDD 三原則 Robert C. Martin (UncleBob) 1. 失敗するユニットテストを成功させるためにしか プロダクトコードを書いてはならない 2. 失敗させるためにしか ユニットテストを書いてはならない コンパイルエラーは失敗に数える 3. ユニットテストを 1 つだけ成功させる以上に プロダクトコードを書いてはならない
25 ゕジェンダ TDD のおさらいとやってみると難しいということ メソッドの外部設計をやろうということ Visual Studio 2010 で TDD のための機能がさらに強化されているということ
26 VS2010 の TDD 向け新機能 クラスやメソッドのスケルトンを自動生成 "generate from usage" GUI の自動テスト Coded UI Test ( おまけ ) Quick Search の camel-case match TFS ( 未確認 ) Test Lab Manger テスト影響分析 Test Impact View Gated Check-in ( チェックインされるとビルド処理が作動 ) ワークフローベースのビルドエンジン
メソッドのまとめ
メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか
CodeRecorderでカバレッジ
株式会社コンピューテックス Copyright 2016 Computex Co.,Ltd. 2017.11 カバレッジ と 単体テスト カバレッジとは プログラムがどれだけ実行されているかを示す指標です プログラム全体に対して実行された比率をカバレッジ率で表します カバレッジの基準として 一般的にC0 C1が使われております C0カバレッジは 全体のうち何 % が実行されたかで求めます C1カバレッジは
テスト駆動開発入門
テスト駆動開発入門 ハンズオン講座 goyoki 概要 イントロダクション ハンズオン課題 1 TDDの概要 定義 / 手順 / 利益など ハンズオン課題 2 ソフトウェアテストとしてのTDD 後編について 以下は後編で扱う予定です TDDが抱える課題 レガシーコード上でのTDD テストコードの改善 TDDで確保したテストコードの活用 TDDの諸目的 イントロダクション テスト駆動開発 (TDD)
わんくま同盟 東京勉強会 #27
MSF Agile ver.4 Microsoft Solutions Framework for Agile Software Development ver. 4.x 問題 これから新しい開発プロジェクトが始まります マネージャに呼ばれたあなたは こう言われました だいたい 10 人くらいの開発チームになるだろう 最初の 3 人は キミの自由に選んでいいよ さて あなたを含めて 4 名 どんな基準で選びますか?
JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1
JUnit 概要 2015/4/16 版今泉俊幸 1 目次 1. 手動テストと自動テスト 2. JUnitの機能 3. 検証用メソッド 4. 基本的なJUnitテストケース 5. 実践的なJUnitテストケース 6. よく使う検証用メソッド 7. テストクラスの命名 配置など 2 手動テスト 手動テストと自動テスト テスト仕様書に基づいて 人手で値を入力 結果を検証する プログラム修正の度に実施するのはコストが高い
Javaプログラムの実行手順
戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失
システム操作インターフェイス最適化によるテスト自動化ROI向上
システム操作インターフェイス最適化によるテスト自動化 ROI 向上 株式会社 Codeer 石川達也 e-mail:[email protected] ご相談を受けた企業様の悩みで多いもの システムテスト自動化やったことあるんだけど 効果が出なくて 作業と ROI 要素を分析 仕様変更等でメンテ 作成 成功 指定のケースではデグレがなかったという情報を取得できた! エラー!
PowerPoint プレゼンテーション
講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる
プログラミング実習I
プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 [email protected] 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,
HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Stu
HOW DO I WebBrowser コントロールで HTML5 を 使用するには ここでは以下の手順で説明します Video 要素を使用する Silverlight と JavaScript の間でやり取りする Canvas 要素を使用する Video 要素を使用する 1. Visual Studio で "Windows Phone ゕプリケーション " プロジェクトテンプレートを使って "HTML5BrowserFeatures"
C#の基本
C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない
TestDesign for Web
発行日 2012/6/21 発行元 株式会社アープ 本書は Web でのテスト自動化における Test Design の一連の操作方法まとめたものです Test Design のメニューの説明やより詳細な使い方については ユーザーズガイド を参照してください 目次 1. はじめに... 1 2. 環境構築... 2 2.1. Selenium のサイトについて... 2 2.2. Selenium
Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕
Java Script プログラミング入門 3-6~3-7 茨城大学工学部情報工学科 08T4018Y 小幡智裕 3-6 組み込み関数 組み込み関数とは JavaScript の内部にあらかじめ用意されている関数のこと ユーザ定義の関数と同様に 関数名のみで呼び出すことができる 3-6-1 文字列を式として評価する関数 eval() 関数 引数 : string 式として評価する文字列 戻り値 :
IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators
IronPython による柔軟なゲーム開発 筑波大学 AmusementCreators 自己紹介 Amusement Makers ではありません 注意 IronPython って?.Net Framework および Mono 上で動作する Python.NetFramework Mono は共通中間言語 (CIL) のための仮想マシン CIL が動く仮想マシンの仕様は共通言語基盤 (CLI)
テスト駆動開発入門 ネクストステップ
テスト駆動開発入門 ネクストステップ 井芹洋輝 謝辞 主催の今給黎さん 和田さん 会場提供 スタッフの方々 参加者の皆さま 深くお礼申しあげます 自己紹介 井芹洋輝 (@goyoki/id:goyoki) 組み込みエンジニア WACATE 実行委員 /TDD 研究会 講演 / 執筆 : XP 祭り関西 ユニットテストの保守性を作りこむ Androidテスト祭り テストの活用による開発効率化 並カン
PowerPoint Presentation
ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:
プログラミング入門1
プログラミング入門 2 第 8 回表形式データ (1) 1 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ データの登録 データの検索 データの更新 実際的はソフトウェアでは 表形式データの ( 例えば データベースのデータ ) を利用する場面が非常に多く とても重要である そこで 表形式を扱うプログラミングを繰り返しとりあげる 2 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ
Microsoft PowerPoint - 09.pptx
情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源
ガイダンス
情報科学 B 第 2 回変数 1 今日やること Java プログラムの書き方 変数とは何か? 2 Java プログラムの書き方 3 作業手順 Java 言語を用いてソースコードを記述する (Cpad エディタを使用 ) コンパイル (Cpad エディタを使用 ) 実行 (Cpad エディタを使用 ) エラーが出たらどうしたらよいか??? 4 書き方 これから作成する Hello.java 命令文 メソッドブロック
人工知能入門
藤田悟 黄潤和 探索とは 探索問題 探索解の性質 探索空間の構造 探索木 探索グラフ 探索順序 深さ優先探索 幅優先探索 探索プログラムの作成 バックトラック 深さ優先探索 幅優先探索 n 個の ueen を n n のマスの中に 縦横斜めに重ならないように配置する 簡単化のために 4-ueen を考える 正解 全状態の探索プログラム 全ての最終状態を生成した後に 最終状態が解であるかどうかを判定する
ファイル入出力
C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる
Java講座
~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト
(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド
メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが
PowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念
Java知識テスト問題
Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください
Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド
Brekeke PBX Version 2.1 ARS プラグイン開発ガイド Brekeke Software, Inc. バージョン Brekeke PBX v2.1 ARS プラグイン開発ガイド, 2008 年 2 月 著作権本書の著作権は Brekeke Software, Inc. にあります Copyright 2003-2008 Brekeke Software, Inc. 本書の一部または全部を
た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name
クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく
Java言語 第1回
Java 言語 第 2 回簡単な Java プログラムの作成と実行 知的情報システム工学科 久保川淳司 [email protected] 簡単な Java プログラム Java プログラムのファイル名 Java プログラムのファイル名命名ルール ファイル名とクラス名は同じでなければならない HelloJava.java public class HelloJava { public
040402.ユニットテスト
2. ユニットテスト ユニットテスト ( 単体テスト ) ユニットテストとはユニットテストはプログラムの最小単位であるモジュールの品質をテストすることであり その目的は結合テスト前にモジュール内のエラーを発見することである テストは機能テストと構造テストの2つの観点から行う モジュールはプログラムを構成する要素であるから 単体では動作しない ドライバとスタブというテスト支援ツールを使用してテストを行う
PowerPoint プレゼンテーション
1 01 Visual C# 2010 を使ってみよう BMI 計算プログラム 1 Visual Studio 2010 の起動 1 2 画面左下 タスクバーの左端にある スタートボタン をクリック 表示されたメニューにある すべてのプログラム をクリック 2 1 3 4 メニューから Microsoft Visual Studio 2010 のフォルダを探して これをクリック フォルダが展開されて
メディプロ1 Javaプログラミング補足資料.ppt
メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?
Javaの作成の前に
メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?
プログラミング基礎I(再)
山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全
システム操作インターフェイス最適化によるテスト自動化ROI向上
SQiP2014 システム操作インターフェイス最適化によるテスト自動化 ROI 向上 Improvement in test automation ROI by system manipulation interface optimization 石川達也 [email protected] 株式会社 Codeer 発表要旨 : 本発表ではシステムテストを自動化する際に アプリケーションをテストプログラムから操作するインターフェイスを最適化する手法と
intra-mart Accel Platform — IM-BloomMaker プログラミングガイド 初版
Copyright 2019 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 前処理プログラム 3.1. 前処理を実装する 3.1.1. 前処理の実装方式 3.1.2. 前処理の実行順序と引数 3.1.3. リクエストパラメータの解析
開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]
開発 運用時のガイド [UNIX] JDK8 への移行に伴う留意点 2015.10 O c t o b e r はじめに 本書は 開発 運用フェーズで使用するドキュメントとして Java TM Development Kit 8 への移行に伴う 留意点について記述しています 1. 対象とする読者本書は Java TM Development Kit 8 を使用し システムを設計 構築 運用する立場にある方を対象としています
Microsoft Word - VBA基礎(6).docx
あるクラスの算数の平均点と理科の平均点を読み込み 総点を計算するプログラムを考えてみましょう 一クラスだけ読み込む場合は test50 のようなプログラムになります プログラムの流れとしては非常に簡単です Sub test50() a = InputBox(" バナナ組の算数の平均点を入力してください ") b = InputBox(" バナナ組の理科の平均点を入力してください ") MsgBox
FW ファイルアップロード ダウンロード機能利用ガイド Version 年 9 月 21 日富士通株式会社 i All Right Reserved, Copyright FUJITSU LIMITED
FW ファイルアップロード ダウンロード機能利用ガイド Version 1.1 2016 年 9 月 21 日富士通株式会社 i 改訂履歴改訂 No. 日付 Version 章 No. 項 No. 改訂内容 1 2015/12/02 1.0 - - 新規作成 2 2016/09/21 1.1 4 4.1.3 text/plan を text/plain に修正 章立てを修正 ii 目次 第 1 章
NEXCESS基礎コース01 組込みソフトウェア開発技術の基礎 ソフトウェア開発プロセス編
JaSST 12 Tokai SIG テストエンジニアだからこそ気を付けるテスト仕様書と報告書の書き方 2012 年 11 月 30 日 山本雅基 (ASDoQ/ 名古屋大学 ) E-mail: [email protected] 1 トイレは いつ行ってもいい 気楽に 自己紹介 16:10-16:20 お話 16:20-16:40 個人作業 16:40-16:55 グループ作業
文字列操作と正規表現
文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性
// このクラスの有効期間中の各呼び出しに使用される キャッシュされた Socket オブジェクト Socket socket = null; // 非同期処理が完了したことを通知するために信号を送るオブジェクト static ManualResetEvent clientdone = new Ma
HOW DO I ソケットで通信を行うには ここでは以下の手順で説明します ソケットクライアントを作成するデータを送信するデータを受信するソケットクライアントを使用する ソケットクライアントを作成する 1. このコンテンツのサポートファイルの Start フォルダから "UDPClient" プロジェクトを開きます 2. クライアントを動作させるため コンピューターで簡易 TCP/IP サービスを有効にする必要があります
基本情報STEP UP演習Java対策
トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる
目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1
ポリテクセンター埼玉セミナー資料 組込み技術者のための C# Monoを用いたマルチプラットフォームアプリケーション開発技術 第 1.2 版 2018 年 8 月 Microbrains Inc. 渋谷 目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い
PowerPoint プレゼンテーション
講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える
LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう
LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のようなサービスを利用する際 エンドユーザは利用申請を行うが 利用申請手段はメールや紙となっている そのため
Boost.Preprocessor でプログラミングしましょう DigitalGhost
Boost.Preprocessor でプログラミングしましょう DigitalGhost http://d.hatena.ne.jp/digitalghost/ http://twitter.com/decimalbloat 私のこと hatena のプロフィールとか 見てください とりあえず FizzBuzz 書いてみた #define FIZZBUZZ_OP(z, n, d) \ FIZZBUZZ_OP_I(
- i - org.t_engine.tenet.core.coreerrormessageexception org.t_engine.tenet.core Class CoreErrorMessageException java.lang.object +-java.lang.throwable +-java.lang.exception +-org.t_engine.tenet.core.coreexception
コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?
Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 4 回コンピュータと情報をやりとりするには? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved.
