ITパスポート試験 無料問題 4 / 10 ・ 分野2: マネジメント系
ホワイトボックステストの考え方に沿った作業として、適切なものはどれか。
- ソースコードの分岐の処理に表示命令を加え、どのルートを通ったかを画面に出して、仕様と違う動きをする原因の場所を突き止める
- 入力の値の範囲の上限と下限、そのすぐ外側の値を選び、有効か無効かが正しく判定されるかを確かめる
- 入力の値をいくつかの領域に分け、同じ領域の値はどれをテストしても同じとみなして、領域ごとに値を選ぶ
- テストの対象となるプログラムの中のどの命令も、少なくとも1回は実行されるように、テストデータを選んで用意する
正解と解説を見る
正解: D
正解の理由
文部科学省「情報Ⅱ」教員研修用教材の第4章は、ホワイトボックステストはソフトウェアの内部構造や関数の内容を参照して、プログラムの論理的な構造が正しいかを確認するテストだとし、その考え方として「全ての命令を少なくとも1回は実行する」命令網羅や、「全ての条件分岐を少なくとも1回は通る」分岐網羅/条件網羅を挙げている。どの命令・どの分岐を通ったかは、ソースコードを見なければ決められない基準である。
違う選択肢
「入力の値をいくつかの領域に分け、同じ領域の値はどれをテストしても同じとみなして、領域ごとに値を選ぶ」… 入力データを領域に分け、同じ領域の値はどれをテストしても同じとみなすのは同値分割で、同じ教材はブラックボックステストの考え方として紹介している。ソースコードを見ずに、仕様から値を選ぶ。
「入力の値の範囲の上限と下限、そのすぐ外側の値を選び、有効か無効かが正しく判定されるかを確かめる」… 同値クラスの上限・下限とそのすぐ隣の値を選び、有効か無効かを確かめるのは境界値分割で、これもブラックボックステストの考え方である。範囲は仕様書から読み取り、ソースコードの命令の通り道は見ない。
「ソースコードの分岐の処理に表示命令を加え、どのルートを通ったかを画面に出して、仕様と違う動きをする原因の場所を突き止める」… プログラム中に表示命令を加え、分岐のどのルートを通ったかを表示させて不具合の場所を特定するのは、同じ教材がデバッグの手法として紹介しているものである。デバッグは、仕様どおりに動作しない不具合(バグ)を取り除く作業で、どの命令や分岐を通るようにテストデータを選ぶかというテストの考え方ではない。
対比
ホワイトボックステストは「ソースコードのどこを通ったか」、ブラックボックステストは「仕様に照らして何を入れて何が出たか」を基準にする。IT パスポートのシラバスは、ホワイトボックステストを単体テストまでを含むプログラミングの用語例に、ブラックボックステストを統合・テストの用語例に置いている。