平成22年度 秋期 ITパスポート試験 問92 解説 境界値テストデータの選定

問92 表2の出力結果表のb, cで示すそれぞれの列のテストデータ(地区,3辺計,重\n量)の組合せとして,適切なものはどれか。
- ア
- イ ✓ 正答
- ウ
- エ
解説
この問題は、境界値分析というテスト手法の基本を理解しているかを問うものです。正解を導くには、プログラムが仕様の境界線(今回でいえば区分1と区分2の境目、および区分2と区分3の境目)を正しく判定できているかを確認するデータを選ぶ必要があります。
境界値分析の考え方
ソフトウェアテストにおいて、処理の分岐点(境界値)は最もミスが発生しやすい箇所です。そのため、境界値ちょうど、あるいは境界値をわずかに超えた値をテストデータとして入力し、プログラムが正しく意図した区分に振り分けられるかを確認します。
今回の仕様は以下の通りです。 区分1:3辺計80cm以下 かつ 重量5kg以下(いずれか大きい方で決定) 区分2:3辺計100cm以下 かつ 重量10kg以下 区分3:3辺計140cm以下 かつ 重量20kg以下
表2において、b列は「区分1の上限」を超えた値を、c列は「区分2の上限」を超えた値を確認するためのデータであると推測されます。
テストデータの選定プロセス
表2の列bに注目すると、3辺計が100cm以下の行にYesが入っています。つまり、b列は区分1(80cm以下・5kg以下)には該当せず、区分2(100cm以下・10kg以下)に該当するはずのデータを指しています。 同様に、列cに注目すると、3辺計が100cm以下の行にはYesが入っておらず、区分3(140cm以下・20kg以下)の区分に入るデータを確認しようとしています。
この考え方に従い、選択肢を吟味します。
- b列のデータ:区分1(上限80cm, 5kg)から少し外れた値を探します。選択肢イの「90cm, 10kg」は、3辺計も重量も区分1の範囲外であり、かつ区分2の範囲内(100cm以下, 10kg以下)に収まるため、区分2のテストとして適切です。
- c列のデータ:区分2(上限100cm, 10kg)から少し外れた値を探します。選択肢イの「90cm, 11kg」は、重量が区分2の上限(10kg)を超えており、かつ区分3の範囲内(140cm以下, 20kg以下)に収まるため、区分3のテストとして適切です。
これらを満たすのは選択肢イとなります。
この知識が現場で役立つ理由
境界値分析は、バグの検出効率が非常に高いテスト技法です。プログラミングのif文などで「以上・以下(<=)」と「より大きい・未満(<)」を間違えるミスは非常に多発します。
実際の業務でも、例えば「年齢制限のあるサイトで18歳未満を弾く」といった処理を作る際、17歳(OK)、18歳(境界)、19歳(NG)を必ずテストします。このように、仕様の境界付近を意識してデータを設計する習慣は、プログラムの品質を担保するための必須スキルとなります。