平成22年度 春期 午前 問48
開発技術
命令網羅に関する問題
あるプログラムについて,流れ図で示される部分に関するテストを,命令網羅で実施する場合,最小のテストケース数は幾つか。ここで,各判定条件は流れ図に示された部分の先行する命令の結果から影響を受けないものとする。
〔流れ図〕
│
◇ 判定1 ── 3 方向に分岐
├─ □ 処理
├─ □ 処理
└─ □ 処理
↓ 合流
◇ 判定2 ── 2 方向に分岐
├─ □ 処理
└─ □ 処理
↓ 合流
◇ 判定3 ── 3 方向に分岐
├─ □ 処理
├─ □ 処理
└─ □ 処理
↓ 合流
│
判定は縦に 3 つ並び、分岐の数は上から 3・2・3。分岐の先はどれも 1 つの処理。- ア3
- イ6
- ウ8
- エ18
答えと解説を見る
✓ これが正解ア3
解説
最も分岐の多い段の本数だけあれば足ります。
命令網羅は、すべての命令を少なくとも一度は実行すれば満たされる基準で、どの経路の組合せを通ったかまでは問いません。この設問の流れ図は判定が三段あり、分かれる本数は上から三本、二本、三本です。さらに、各判定条件は先行する命令の結果から影響を受けない、と設問が断っています。これは一回のテストで各段から好きな一本を自由に選んで通せるという意味の断り書きなので、読み飛ばさないようにします。すると、一回流すごとに各段の命令が一つずつ消し込めることになります。必要な回数は、最も本数の多い段を通し切るのに何回かかるかで決まります。三本ある段を通し切るには三回が必要で、二本しかない段は二回目までに通り切れるので、最小のテストケース数は三になります。実際に、一回目は各段の一本目、二回目は各段の二本目、三回目は残った一本と適当な一本、というように組めば、八つの命令がすべて一度は通ります。テストの基準をどこまで厳しくするかで必要な回数が変わる、というのがホワイトボックステストの見方です。
ほかの選択肢はなぜ違うのか
- イ6:三本と二本を掛け合わせた値で、上の二段だけを道筋として数えたときに現れます。命令を消し込むという数え方ではないうえ、三段目が勘定に入っていません。
- ウ8:流れ図に置かれた処理の箱の総数で、三と二と三を足した値です。通すべき命令の個数としては正しいのですが、一度に複数の箱を通れるので、回数はこれより少なくて済みます。
- エ18:三と二と三を掛け合わせた道筋の総数で、始まりから終わりまでの通り方をすべて試す基準を採ったときに必要になる数です。今回の基準はそこまでを要求していません。
この問題の用語
- ホワイトボックステストプログラムの中身を見ながら、内部の通り道を確かめる検査です。中身を見ずに入出力だけで確かめるやり方とは、対になります。
- テストケース何をどう試して、どうなれば合格かを一つずつ決めたものです。入力する値や操作の手順と、期待する結果を組にして書きます。
出典:平成22年度 春期 応用情報技術者試験 午前 問48
同じ用語が出る問題
- 令和7年度 春期 午前 問54:テスト密度に関する問題(テストケース)
- 令和4年度 秋期 午前 問49:テスト駆動開発に関する問題(テストケース)
- 平成29年度 春期 午前 問18:ホワイトボックステストの問題(ホワイトボックステスト)
- 平成26年度 秋期 午前 問48:回帰テストに関する問題(ホワイトボックステスト)
- 平成26年度 秋期 午前 問47:ブラックボックステストの問題(ホワイトボックステスト)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)