CO-K49|情報Ⅰ 対策問題
プログラムのテストで、「0人のとき」「最大人数のとき」のような境目の値を重点的に確かめる技法を何というか。
解答・解説を見る
正解: 1
正答
1
この問題のポイント
境界値分析(バグの出やすい境目を試す) を問う問題です。境目の値とその前後を試す、という発想を覚えましょう。
解説
プログラムのバグは、条件の境目に集中しやすいことが経験的に知られています。「0人のとき」「ちょうど最大人数のとき」「その1つ手前・1つ先」など、条件式の判定が切り替わる瞬間の値で誤りが起きやすいのです。そこで、境目の値とその前後を重点的にテストする技法を境界値分析といいます。
例で考えましょう。「10歳未満は無料」というプログラムなら、9歳(無料のはず)、10歳(有料のはず)、11歳(有料のはず)を試します。もしプログラムを書いた人が「未満」と「以下」を取り違えていれば、ちょうど10歳の入力で誤りが表面化します。真ん中の5歳だけを試しても、この間違いは見つかりません。
すべての入力を試す総当たりは、入力の種類が多いと現実的ではありません。誤りが出やすい所を狙い、少ないテストで多くのバグを見つけるのが境界値分析の価値です。効率のよいテスト設計の代表として覚えましょう。
共通テストでは、技法名を問う形のほか、「このプログラムの誤りを見つけるにはどの値でテストすべきか」という実践形式で出題されます。条件式を見たら境目の値とその前後、が鉄則です。
選択肢の確認
1.○ 条件の境目の値を重点的に確かめる技法が境界値分析。
2.× 多数決法というテスト技法はない。
3.× 総当たりは入力が多いと現実的でない。境目に絞るのが境界値分析。
4.× 抜き取り検査は製品の一部を調べる製造業の品質検査。
ここだけは覚えよう
バグは条件の境目に潜む — 境界値とその前後をテストすれば「未満」と「以下」の取り違えが見つかる。