問題
問42
ソフトウェア開発におけるテスト技法の一つで、プログラムの内部構造に基づいてテストケースを設計する技法はどれか。
- ホワイトボックステスト
- ブラックボックステスト
- 回帰テスト
- ストレステスト
正解
正解は「ア」です。
解説
正解は「ア」のホワイトボックステストです。ホワイトボックステストは、ソフトウェアの内部構造や処理の流れ(ロジック)が設計通りに正しく動作しているかを確認するために行うテスト技法です。このテストでは、ソースコードの内容を理解した上で、プログラムのすべての命令や分岐(if文など)が少なくとも一度は実行されるようにテストケースを設計します。箱の中身(ソースコード)が見える(白い)状態でテストすることから、この名前がついています。
例えば、あるプログラムのすべての条件分岐を網羅するようにテストデータを作成し、意図した通りに処理が流れるかを確認します。主に開発の初期段階である単体テストで用いられ、開発者自身が実施することが多いです。問題文の「プログラムの内部構造に基づいてテストケースを設計する」という記述は、ホワイトボックステストの定義そのものです。
イ(ブラックボックステスト):
ソフトウェアの内部構造は考慮せず、仕様書で定められた入力に対して、期待される出力が得られるかを確認するテスト技法です。
ウ(回帰テスト):
プログラムの修正や変更を行った際に、その影響で今まで正常に動作していた部分に新たな不具合(バグ)が生じていないかを確認するテストです。リグレッションテストとも呼ばれます。
エ(ストレステスト):
システムに意図的に高い負荷(大量のアクセスやデータ)をかけ、性能の限界や、高負荷時でも安定して動作するかを確認するテストです。
解法のポイント
ソフトウェアのテスト技法において、「ホワイトボックステスト」と「ブラックボックステスト」は対になる重要な概念です。 ・ホワイトボックステスト:内部構造に着目(中身が見える) ・ブラックボックステスト:外部仕様(入出力)に着目(中身が見えない) この違いを、箱の中身が見えるか見えないかというイメージで覚えるのが効果的です。問題文が「内部」について言及しているか、「外部(入出力)」について言及しているかを見極めることが解答の鍵となります。
用語補足
ホワイトボックステスト:
プログラムの中身を見ながら行うテストです。エンジンの中の部品が設計図通りに動いているかを、分解して一つずつ確認するようなイメージです。
テストケース:
ソフトウェアをテストするために、どのような入力値を与え、どのような手順で操作し、どのような結果が期待されるかを具体的に記述したものです。
ブラックボックステスト:
プログラムの中身を見ずに行うテストです。テレビのリモコンのボタンを押してみて、説明書通りの動作をするかを確認するようなもので、中の回路は気にしません。
回帰テスト:
修正によって新たな問題が起きていないかを確認するテストです。「デグレード(品質低下)していないか」を確認するテストなので、リグレッション(回帰、後戻り)テストとも呼ばれます。


