テスト技法は AP科目Aで 1〜2問必出。ホワイトボックス・ブラックボックスの違いと、同値分割・境界値分析を押さえましょう。
ホワイトボックステスト はプログラムの内部構造に基づくテスト (命令網羅・分岐網羅・条件網羅)。
ブラックボックステスト は仕様のみに基づくテスト (同値分割・境界値分析・原因結果グラフ)。
境界値って、なんでそんなに大事なの?
バグって境界に集中するのよ。
たとえば『18歳以上は成人』という仕様なら、17/18/19 をテストするの。
プログラマが <= と < を間違えるミスを、ここで捕まえられるのよ。
命令網羅と分岐網羅って、どう違うのぉ…?
命令網羅 (C0) は『全命令を1度実行』、分岐網羅 (C1) は『全分岐の真偽両方を実行』、条件網羅 (C2) は『各条件式の真偽両方を実行』。
AP では C0/C1/C2 の違いを問う問題が頻出です。
AP では『C1 を満たすテストケース数の最小値』『境界値分析の例』が問われるから、紙に分岐図を書いて確認する習慣をつけておきましょうね。
確認クイズ
『成績が80点以上で A、60点以上で B、それ未満で C と表示する』という仕様の境界値分析として、最も適切なテストケース集はどれか。
- 0 / 50 / 100 の3点
- 59 / 60 / 79 / 80 / 100 の5点
- 10 / 50 / 70 / 90 の4点
- 0 / 100 の両端のみ
こたえを見る
正解: 2. 59 / 60 / 79 / 80 / 100 の5点
境界値分析は境界 (60, 80) の前後をテストします。59/60/79/80 が境界値、100 は最大値の境界。これにより <= と < の混同などの典型バグを検出できます。