読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

【プログラミング 114.5時間目】JUnitの勉強の続き。

<スポンサーリンク>

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)


JUnit実践入門」
テストに必要な用語もとても詳しく解説してくれているので、とても読みやすい本。
はじめの「推薦のことば」にもあるように、「新人エンジニアを教育する立場にある人が、『これを読んでおいて』と渡せる本」だと思う。
細かい説明も省かずに丁寧にしてくれていて、著者の熱意が伺える。
こういう本は、すごく安心して勉強できます。ありがとうございます。

★今日読んで覚えておきたい部分★
・@Test(expected = IllegalArgumentException.class)で例外を送出することを確認できる。

・ソフトウェア開発におけるテストとは、検証する内容を定義し、ソフトウェアが期待通りに動作するかを確認すること。

・1つのテスト項目を「テストケース」と呼び、テストケースには「テストの前提条件」「実行する操作」「期待される値や状態」すべてが含まれる。

・テストスイートとは、いくつかのテストケースをまとめたもののこと。

ソフトウェアテストの目的は品質保証である。

ソフトウェアテストでは、前提条件が明確になっていなければならない。

同値クラスに対するテストというのは、同様の結果をもたらす値を同値クラスとしてグループ化して、各同値クラスからテストデータを選択するテスト技法である。
→同じ振舞いが期待できるものに対して、「すべてのパターン」検証するのではなく、各動作が正しいことを確認する。
1,2,3,4,5,6・・・と全部値を入れて確認するのはキリがない。

・境界値に対するテストは、異なる結果をもたらす値(境界値)に着目し、境界値の近辺からテストデータを選択するテスト技法のこと。

・どのようなソフトウェアテストでも効率よくテスト可能な「銀の弾丸」が存在しないのは、開発手法などと同様。

ホワイトボックステストとは、内部のロジックや仕様について考慮してテストケースを設計すること。

ブラックボックステストとは、ソフトウェアの内部仕様について考慮せず、外部仕様のみからテストケースを設計すること。

・テストを自動化することで、何度でも繰り返してテストを実行することができる。結果として、不具合などを早い段階でフィードバックできる。