戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

システム監査技術者 2011年 午前2 問22


問題文

プログラムの誤りの一つに、繰返し処理の判定条件としてとすべきところをとコーディングすることがある。このような誤りを見つけ出すために有効なテストケース設計技法はどれか。ここで、は変数、は定数とする。

選択肢

ア:限界値分析(正解)
イ:条件網羅
ウ:同値分割
エ:分岐網羅

🔒 解説は解答すると表示されます

限界値分析【午前2解説】

正解の理由

この誤りは、判定条件の境界である の扱いが、「」と「」で異なることから生じます。
のとき、正しい条件「」は真ですが、誤った条件「」は偽になります。そのため、境界値である をテストすれば、条件の不一致を検出できます。
このように、境界付近の値を重点的にテストする技法が限界値分析です。したがって、適切なのはアです。

解法ステップ

  1. 2つの条件の違いに注目します。
    「」と「」では、 のときの判定結果が異なります。
  2. 判定が変わる値、つまり境界値を特定します。
    この問題の境界値は です。
  3. 境界値と、その前後の値をテストします。
    例えば、 が整数なら、、、 を使います。
  4. 境界値付近を調べる技法として、限界値分析を選びます。

選択肢別の誤答解説

  • ア 限界値分析
    境界値やその前後の値をテストする技法です。 で判定結果が異なる誤りを発見できるため、適切です。
  • イ 条件網羅
    条件式を構成する個々の条件について、真と偽の両方を確認する技法です。境界値そのものを重点的に試すことが目的ではありません。
  • ウ 同値分割
    入力値を、同じような結果になると考えられるグループに分け、各グループの代表値をテストする技法です。境界付近の値を重点的に確認する技法とは異なります。
  • エ 分岐網羅
    判定による分岐結果を、すべて少なくとも1回実行する技法です。分岐を通過できても、境界値で判定が誤ることを必ず発見できるとは限りません。

よくある誤解

  • 「真と偽の両方を確認する」ことと、境界値を確認することを同じだと考える
    条件網羅や分岐網羅を満たしていても、 をテストしていなければ、この誤りを見逃す可能性があります。
  • 境界値は「境界の片側だけ」と考える
    境界値そのものに加えて、その直前・直後の値もテストすると、境界の扱いに関する誤りを見つけやすくなります。
  • 「」と「」の違いを軽視する
    両者の違いは、ちょうど等しい場合に現れます。比較演算子の誤りでは、等号を含むかどうかを確認することが重要です。

補足コラム

限界値分析では、値の範囲を表す条件の境目に注目します。例えば、入力可能な範囲が なら、、、、、、 などがテスト候補になります。
この問題では、判定条件の境目が です。特に、比較演算子の「」と「」の違いは、境界値で明確に表れます。

FAQ

Q. なぜ のテストが必要なのですか?
A. 2つの条件は、 のときだけ判定結果が異なるためです。正しい条件と誤った条件の差を確認するには、この値をテストする必要があります。
Q. だけをテストすれば十分ですか?
A. この誤りの検出には特に重要な値ですが、一般には境界値の前後も含めてテストすることで、境界付近の誤りをより確実に確認できます。

関連キーワード: 限界値分析、境界値、条件網羅、同値分割、分岐網羅
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

システム監査技術者を
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について