「ホワイトとブラック、どっちがどっち?」
「V字モデルって、何がうれしいの?」
種類の多さでつまずくなら、分け方はたった1つで足ります。
ソフトウェアテストとは、プログラムが要求どおり動くかを確かめる活動のことです。技法は、内部構造を見る「白」と、外部の仕様で試す「黒」に大きく分かれます。設計図(コードの中身)を見て確かめるか、外から触って確かめるか——この2視点さえ掴めば、あとの技法は枝葉です。
この記事では、まず2視点の分かれ目を押さえ、白の網羅基準を強さ順に並べ、黒の同値分割と境界値分析を具体値で動かします。最後にV字モデルで工程と結び、試験で狙われる角度まで示します。基本情報のマネジメント系・開発技術にそのまま効きます。
1. テストはなぜ2つの視点に分かれるのか

あなたが最初に持ち帰るべきは、テストの目的が「欠陥を早く見つけ、要求との一致を確かめる」点にある、という一点です。1つの技法で全部の欠陥はさばけません。だから視点の違うテストを重ねます。
その視点を分けるのが、プログラムの中身を見るか見ないかです。中身の分岐やループを開いて確かめるのがホワイトボックス、中身は伏せたまま「入れたら何が出るか」で確かめるのがブラックボックス。あなたが同じプログラムを、裏から見るか表から見るかの違いだと捉えると、名前の暗記に頼らずに済みます。
2. ホワイトボックステストと網羅基準の強弱

コードを書く立場で設計するテストの土台が、ホワイトボックステストです。プログラムの内部構造を見ながら、どの経路が実行されるかを確かめます。設計図を持つ人だけができる検証です。
どこまで通せば十分かを示すのが網羅基準で、強さに段階があります。この強弱を1枚の表で押さえてください。上から下へ、検出力は上がり、そのぶんテストの手間も増えます。
| 網羅基準 | 通すもの | 強さ |
|---|---|---|
| 命令網羅 | 各文を1回は実行する | ゆるい(穴が残りやすい) |
| 分岐網羅 | 各分岐の真・偽の両方を通す | 中くらい |
| 条件網羅 | 各条件がそれぞれ真・偽の両方をとる(全組合せまでは要求しない) | 厳しい(工数は最大) |
命令網羅は「全部の行を1度は走らせた」だけなので、分岐の片側を通していなくても達成扱いになります。ここが試験の狙いどころです。「命令網羅を満たせば安全」と早合点すると引っかかります。真偽の両方を通す分岐網羅から、実務は組み立てます。
3. ブラックボックステスト:同値分割と境界値分析

利用者の立場で動作を確かめるのがブラックボックステストです。中のコードは見ず、入力と出力の仕様だけを根拠に挙動を確かめます。代表技法が、同値分割と境界値分析の2つです。
あなたが「年齢を0〜120で受け付ける」入力を担当したとして、実際に動かしてみます。全部の数を試すのは無理なので、まず同値分割で「同じ扱いになるグループ」に束ね、各グループの代表値を1つ選びます。
- 無効グループ(負の数)→ 代表値 -5
- 有効グループ(0〜120)→ 代表値 50
- 無効グループ(121以上)→ 代表値 130
これで「面」を広くカバーできます。次に境界値分析で「境目」を狙います。欠陥は端に集まりやすいからです。0の前後で -1/0/1、120の前後で 119/120/121 を試す。>= と > を書き間違えるような1つずれのバグは、まさにこの境目で正体を現します。
4. V字モデルが設計とテストを結ぶ

個々の技法を、開発全体のどこで使うか。その地図がV字モデルです。左に設計工程を下ろし、右にテスト工程を上げ、同じ高さどうしを対応させます。次の図で、対応の背骨を掴んでください。
あなたは対応を3組で覚えれば十分です。詳細設計⇔単体テスト(1つの部品の正しさ)、基本設計⇔結合テスト(部品どうしの連携)、要件定義⇔システム・受入テスト(利用者から見た全体)。詳細設計で決めたことは単体テストで、要件で約束したことは受入テストで確かめる、という鏡合わせの関係になっています。
5. 試験で狙われる3つの角度

ここまでの知識が試験でどう問われるか。あなたが先に押さえておくと得な角度が、大きく3つあります。丸暗記ではなく、この3つの切り口で設問を読み解くのがコツです。
- 網羅基準の強弱:命令網羅・分岐網羅・条件網羅を、ゆるい→厳しいの順に並べ替えさせる
- 白か黒か:「内部構造を根拠にするか、仕様だけを根拠にするか」で技法を分類させる
- V字の対応:詳細設計に対応するテスト工程は? のように、設計とテストの組を答えさせる
どれも、暗記より「どの視点で・どこまで確かめるテストか」を言葉にできれば解けます。白=中身の経路、黒=入出力の仕様、V字=設計とテストの鏡合わせ。この3つの物差しを持って設問に臨めば、選択肢の言い換えに振り回されずに済みます。
次のステップ
ソフトウェアテストがマネジメント系のどこに位置づくか、試験全体の地図で確かめたいときは、基本情報技術者試験の試験範囲と勉強法ガイド で範囲ごとの重みを見ておくと、学習の配分に迷いません。
白黒の分類やV字の対応を、実際の設問で動かして確かめたいなら、基本情報技術者 マネジメント系の問題集 で手を動かすと、知識が得点に変わります。