システム開発技術|平成22年度 秋期 ITパスポート試験 問89
〔中問A・ソフトウェアのテスト〕〔マネジメント〕M さんがプログラムのテストに使うデータを準備するために表 2 の出力結果表を作成した理由として,適切なものはどれか。
〔中問A の記述(抜粋・再掲)〕M さんは,総務課の N さんから宅配荷物の発送業務で利用する料金計算プログラム(以下,プログラムという)の作成を依頼された。
1. 料金はサイズ区分と発送先の地区から表 1 の料金表で求める。サイズ区分は荷物の 3 辺計(荷物の縦,横,高さの長さの合計で 1 cm 単位)と重量(1 kg 単位)を比較し,どちらか大きい方の区分を適用する。なお,3 辺計が 140 cm 又は重量が 20 kg を超える荷物は受け付けない。
2. 荷物の 3 辺計と重量,発送先の地区(A 〜 D)を入力すると,料金を出力する。
M さんは,テストに当たり表 2 の出力結果表を作成し,これに基づいてテストデータを準備した。表 2 は,入力データが各列に示す Yes の組合せに該当する値であるときの正しい出力を,欄 “予想出力” に記入したものである。
〔表1 料金表〕単位 円
| 区分 | 3 辺計(cm) | 重量(kg) | 地区 A | 地区 B | 地区 C | 地区 D |
|---|---|---|---|---|---|---|
| 1 | 80 まで | 5 まで | 1,300 | 950 | 1,150 | 1,800 |
| 2 | 100 まで | 10 まで | 1,600 | 1,200 | 1,400 | 2,350 |
| 3 | 140 まで | 20 まで | 2,000 | 1,600 | 1,800 | 3,400 |
〔表2 出力結果表〕当課が書き起こしたもの(原典は列 1 〜 36 まであり,網掛けの部分は表示していない)
| 区分 | 項目 | 1 | 2 | 3 | 4 | 5 | 6 | … | 36 |
|---|---|---|---|---|---|---|---|---|---|
| 地区 | A | Yes | Yes | Yes | Yes | Yes | Yes | … | |
| 地区 | B | … | |||||||
| 地区 | C | … | |||||||
| 地区 | D | … | Yes | ||||||
| 3 辺計(cm) | 80 まで | Yes | Yes | Yes | … | ||||
| 3 辺計(cm) | 100 まで | Yes | Yes | Yes | … | ||||
| 3 辺計(cm) | 140 まで | … | Yes | ||||||
| 重量(kg) | 5 まで | Yes | Yes | … | |||||
| 重量(kg) | 10 まで | Yes | Yes | … | |||||
| 重量(kg) | 20 まで | Yes | Yes | … | Yes | ||||
| 予想出力(円) | 網 | 網 | a | 網 | 網 | 網 | … | 網 |
注記 「網」と書いた部分は,原典では網掛けで表示していない箇所である。列 5 と列 6 には,それぞれ b・c の印が付いている。
- 処理の間違いが起こりそうなケースを洗い出して,そのケースのテストデータを準備し,プログラムの信頼性のテストを行うため。
- プログラムに記述されている命令の実行順序を追跡するためのテストデータを準備し,設計どおりの順序で命令が実行されるかどうかをテストするため。
- 要件から考えられるケースの中から,発生頻度の高そうなケースを選んでテストデータを準備し,少ないテストデータで効率的にテストを行うため。
- ✓ これが正解要件から考えられるケースを網羅するテストデータを準備し,すべてのケースを漏れなくテストするため。
解説
組合せを全部並べた表なので、漏れなく試すためでした。
表を作った理由は、列の数が語ってくれます。だからまず、いくつの列が並んでいるかを数えました。地区は四つ、三辺の合計は三つ、重さも三つです。掛け合わせると、三十六という数になりました。表の見出しも、三十六まで並んでいます。つまり組合せを、すべて並べた形になっていました。だから漏れなく試すためだと述べた肢が当たります。起こりそうな場合を洗い出す肢は、絞り込む側でした。よく起きる場合を選ぶ肢も、数を減らす側になります。どちらも、すべてを並べる形とは向きが逆でした。命令の並びを追う肢は、中を見る試し方です。この表は、入れる値と出す値だけで作られていました。中の作りを見ていないので、外から見る試し方になります。ブラックボックステストの設計に当たりました。シラバスも、この試し方を開発の用語として挙げています。
ほかの選択肢はなぜ違うのか
- 起こりそうな場合を洗い出す肢が、こちらのほうです。危ういところに、力を注ぐという構えでした。限られた時の中では、確かに理にかないます。ところが表は、三十六の列を全部並べています。絞り込んでいません。向きが逆でした。
- 命令の並びを追う肢が、こちらに当たります。書いたとおりの順で動くかを、確かめる形です。中の道筋を見る試し方になります。けれどもこの表は、入れる値と出す値だけです。中の作りを見ていません。外から見る側でした。
- よく起きる場合を選ぶ肢が、こちらに当たります。少ない数で効き目よく試す、という構えでした。ところが表は、起こる度合いで選んでいません。三十六の列が、そのまま並べられています。減らしていないのです。やはり向きが逆でした。
この問題に関係する言葉
- ブラックボックステスト
出典:平成22年度 秋期 ITパスポート試験 問89(改変:原典の図表をテキストに書き起こした)
同じ単元をまとめて解くならシステム開発技術へ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)