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

エンベデッドシステムスペシャリスト 2011年 午前2 問24


問題文

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

選択肢

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

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

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

正解の理由

この誤りは、判定条件が A ≥ a であるべきところを A > a としているため、境界値 A = a のときに期待する動作と実際の動作が異なります。
境界付近の値を使って誤りを見つける技法が限界値分析です。たとえば A = a - 1、A = a、A = a + 1 をテストすると、特に A = a の結果から条件の不一致を検出できます。したがって、アが適切です。

解法ステップ

  1. 誤りの箇所が、比較演算子 ≥ と > の違いであることを確認します。
  2. この二つの条件で結果が変わる値を考えます。
  3. A = a では、A ≥ a は真ですが、A > a は偽です。
  4. 境界値に着目する技法である限界値分析を選びます。

選択肢別の誤答解説

  • ア 限界値分析
    値の境界やその前後をテストする技法です。A = a のような値を試すことで、比較演算子の誤りを検出できます。
  • イ 条件網羅
    判定を構成する各条件について、真と偽の両方の結果を少なくとも一度確認する技法です。境界値そのものを重点的に調べる技法ではありません。
  • ウ 同値分割
    同じような振る舞いをすると考えられる入力の範囲をグループに分け、各グループの代表値でテストする技法です。境界での ≥ と > の違いを狙うには、限界値分析がより適切です。
  • エ 分岐網羅
    プログラムの各分岐について、真側と偽側の両方を少なくとも一度実行する技法です。分岐を実行することが目的であり、境界付近の入力を調べることが主眼ではありません。

よくある誤解

  • 条件の真偽を確認すれば、境界の誤りも必ず見つかると思う
    真と偽の両方を実行しても、A = a をテストしなければ、≥ と > の違いを見逃すことがあります。
  • 同値分割と限界値分析は同じ技法だと思う
    同値分割は入力範囲をグループ分けする技法で、限界値分析はその境界付近を重点的にテストする技法です。
  • 境界値は範囲の上限だけだと思う
    下限・上限のほか、条件式が切り替わる値なども境界値になり得ます。

補足コラム

限界値分析では、境界値そのものに加え、その直前・直後の値もテストするのが基本です。この問題では、A = a が条件式の真偽の切り替わりに当たるため、特に重要なテスト値です。

FAQ

Q. A = a だけをテストすれば十分ですか?
A. この条件演算子の違いを見つけるには有効ですが、実際のテストでは a - 1 や a + 1 も確認すると、境界の前後で期待どおりに動くかを確かめられます。
Q. 限界値分析は数値の範囲がある場合だけ使う技法ですか?
A. 主に数値の境界で使われますが、文字列の長さや配列の添字など、上限・下限があるデータにも適用できます。

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

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

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

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