テスト技法 — ホワイトボックスとブラックボックス

C0/C1/C2 網羅基準、同値分割・境界値分析の使い分けを整理。

テスト技法は AP科目Aで 1〜2問必出。ホワイトボックス・ブラックボックスの違いと、同値分割・境界値分析を押さえましょう。

鳴海 理央(普段) 鳴海 理央

ホワイトボックステスト はプログラムの内部構造に基づくテスト (命令網羅・分岐網羅・条件網羅)。
ブラックボックステスト は仕様のみに基づくテスト (同値分割・境界値分析・原因結果グラフ)。

砂原 ニコ(普段) 砂原 ニコ

境界値って、なんでそんなに大事なの?

緒方 ナオミ 先生(笑顔) 緒方 ナオミ 先生

バグって境界に集中するのよ。
たとえば『18歳以上は成人』という仕様なら、17/18/19 をテストするの。
プログラマが <= と < を間違えるミスを、ここで捕まえられるのよ。

藤咲 まりあ(普段) 藤咲 まりあ

命令網羅と分岐網羅って、どう違うのぉ…?

鳴海 理央(普段) 鳴海 理央

命令網羅 (C0) は『全命令を1度実行』、分岐網羅 (C1) は『全分岐の真偽両方を実行』、条件網羅 (C2) は『各条件式の真偽両方を実行』。
AP では C0/C1/C2 の違いを問う問題が頻出です。

緒方 ナオミ 先生(普段) 緒方 ナオミ 先生

AP では『C1 を満たすテストケース数の最小値』『境界値分析の例』が問われるから、紙に分岐図を書いて確認する習慣をつけておきましょうね。

確認クイズ

『成績が80点以上で A、60点以上で B、それ未満で C と表示する』という仕様の境界値分析として、最も適切なテストケース集はどれか。

  1. 0 / 50 / 100 の3点
  2. 59 / 60 / 79 / 80 / 100 の5点
  3. 10 / 50 / 70 / 90 の4点
  4. 0 / 100 の両端のみ
こたえを見る

正解: 2. 59 / 60 / 79 / 80 / 100 の5点

境界値分析は境界 (60, 80) の前後をテストします。59/60/79/80 が境界値、100 は最大値の境界。これにより <= と < の混同などの典型バグを検出できます。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。