ホワイトボックステスト技法
ホワイトボックステスト技法は、 「コードの内部構造」 に基づいてテストケースを設計する手法です。主に単体テストレベルで使用されますが、すべてのレベルで適用可能です。
1. ステートメントテスト (Statement Testing)
Section titled “1. ステートメントテスト (Statement Testing)”コード内の 「実行可能な命令文(ステートメント)」 を少なくとも1回は実行するようにテストを作成します。
- ステートメントカバレッジ:
実行されたステートメント数 ÷ 全ステートメント数 × 100 (%) - 弱点: 「もしAなら処理Bをする(If A then B)」というコードで、AがFalseの場合(Else側)を通らなくてもカバレッジが100%になってしまうため、分岐の検証としては不十分な場合があります。
2. ブランチテスト (Branch Testing)
Section titled “2. ブランチテスト (Branch Testing)”コード内の 「制御フローの分岐(ブランチ)」 を網羅するようにテストを作成します。
つまり、すべての if 文やループ条件において、「True(真)のルート」と「False(偽)のルート」の両方を通ることを目指します。
- ブランチカバレッジ:
実行された分岐の判定結果数 ÷ 全分岐の判定結果数 × 100 (%) - メリット: ステートメントテストよりも厳密です。ブランチカバレッジを100%にすれば、必然的にステートメントカバレッジも100%になります。
Note: V4.0シラバスでは、以前の「デシジョンテスト」という用語が、より一般的な「ブランチテスト」という用語を中心に解説されるようになりました。