1.3 テストの7原則
1. テストは欠陥があることしか示せない
欠陥がないことは示せない
ソフトウェアに残る未摘出欠陥は減らせるが、欠陥が出なくなっても正しさの証明にならない
「故障が起きない = 欠陥がない」ではない
2. 全数テストは不可能
全てをテストする、全ての組み合わせを網羅することは非現実的
リスクベースや優先順位によって焦点を絞る
3. 初期テスト
開発ライフサイクルの早い時期に開始する
早く欠陥を見つけるため
欠陥が作り込まれた時期から発見された時期の分だけ影響範囲は大きくなってしまう
あらかじめ定義した目的に集中すべき
4. 欠陥の偏在
モジュールごとの欠陥密度の予測や直近の観察結果に比例して焦点を絞る
欠陥や故障の大部分は特定のモジュールに集中する
5. 殺虫剤のパラドックス
同じテストを繰り返すと、そのテストで新しい欠陥を見つけられなくなる
テストケースの定期的な見直しが必要
6. テストは条件次第
条件が異なればテストの方法も変わる
テスト対象、システム、開発の状況などなど
7. 「バグゼロ」の落とし穴
欠陥を見つけて修正しても、いいものとは限らない
修正によってできていたことができなくなるケース
修正によって使いづらくなるケース