# はじめて学ぶ ソフトウェアのテスト技法 を読んだまとめ
この記事は2021年2月22日から毎日一項目追記していく予定です。
- 同値クラステスト
- 境界値テスト
- デシジョンテーブルテスト
- ペア構成テスト
- 状態遷移テスト
- ドメイン分析テスト
- ユースケーステスト
- 制御フローテスト
- データフローテスト
- スクリプトテスト
- 探索的テスト
- テストの計画
同値クラステスト
同値クラステストは、十分なテストカバレッジ(=テストによってカバーできる範囲)を保ちながら、テストケースの数を管理可能な程度に減らすための技法のひとつ。
###具体例
人材を年齢で雇用形態を判別するシステムを作っているとします。
年齢 | 雇用形態 |
---|---|
0歳~15歳 | 雇用せず |
16歳~18歳 | パートとして雇用 |
19歳~55歳 | 正社員として雇用 |
56歳~99歳 | 雇用せず |
この場合、0~99歳まで1歳ずつテストをしていくのではなく、各年齢ブロック(0~15歳等)から
一つずつのサンプルを取り出してテストすることで、すべてのテストが完了することになる。
これにより、0~99歳までの100回のテストする必要がなく、たった4回のテストをすればよいことになるということである。
同値クラス とは
モジュールで同等に処理されるデータあるいは同じ結果を返すデータの集合を意味する。
具体例の場合だと、0~15までは同値クラス、16~18までも同値クラス、18~55までも同値クラス、、のように続く。
→同値クラス内の、あるテストケースで欠陥が検出された場合、同じ同値クラスの他のすべてのテストケースで同じ欠陥が検出される。
具体例の場合だと、各同値クラスから一つのサンプルをテストするだけで網羅的にテストしたことになる。
境界値テスト
- 同値クラスの境界値に注目するテスト
- 同値クラスの境界値を発見し、そのすぐ前後の値をテストする
- 境界値テストが最も有効なのは、入力値が連続的な範囲を持つ場合
- 必要な条件は、システムの要件に基づいて入力がクラスに分割できることと、境界値が認識できること
- メリットは、十分なテストカバレッジを保ちながらテストケースの数を管理可能な程度に減らすことができること