【中間A】ソフトウェアのテストに関する次の記述を読んで、問89~92に答えよ。
Mさんは、総務課のNさんから宅配荷物の発送業務で利用する料金計算プログラム(以下、プログラムという)の作成を依頼された。そこで、Nさんから聞いた料金計算の方法を基に次のように要件をまとめ、プログラムを作成した。
(1) | 料金はサイズ区分と発送先の地域から表1の料金表で求める。サイズ区分は荷物の3辺計(荷物の縦、横、高さの合計で1cm単位)と重量(1kg単位)を比較し、どちらか大きいほうの区分を適用する。なお、3辺計が140cm又は重量が20kgを超える荷物は受け付けない。 | |
(2) | 荷物の3辺計と重量、発送先の地区(A~D)を入力すると、料金を出力する。 |
Mさんは、プログラムをNさんに引き渡す前にテストを行うことにした。
テストに当たり、表2の出力結果表を作成し、これに基づいてテストデータを準備した。表2は、入力データが各列に示すYesの組合せに該当する値であるときの正しい出力を、欄“予想出力"に記入したものである。
Mさんがプログラムのテストに使うデータを準備するために表2の出力結果表を作成した理由として、適切なものはどれか。
ア | 処理の間違いが起こりそうなケースを洗い出して、そのケースのテストデータを準備し、プログラムの信頼性のテストを行うため。 |
イ | プログラムに記述されている命令の実行順序を追跡するためのテストデータを準備し、設計どおりの順序で命令が実行されるかどうかをテストするため。 |
ウ | 要件から考えられるケースの中から、発生頻度の高そうなケースを選んでテストデータを準備し、少ないテストデータで効率的にテストを行うため。 |
エ | 要件から考えられるケースを網羅するテストデータを準備し、すべてのケースを漏れなくテストするため。 |
条件などに基づいたホワイトボックステストを行う場合、すべてのパターンを網羅するようにテストデータを作成する必要がある。
表2の出力結果表は、デシジョンテーブル(決定表)という。
複数の条件の組み合わせにより処理が変わる場合に、デシジョンテーブルを作ることで、条件と処理の関係を明瞭に表現できるので、すべてのケースを漏れなくテストすることができる。