基本情報技術者試験「ソフトウェアテスト」の問題
入力値xについて『1以上100以下なら有効、範囲外はエラー』とする仕様がある。限界値分析(境界値分析)の考え方に基づき、有効範囲の境界付近の挙動を確認するために選ぶべき入力値の組として最も適切なものはどれか。
ア代表として50だけを入力して確認する
イ0、1、100、101という境界の前後の値を入力する
ウ乱数で生成した値を多数入力して確認する
エ-50、150のように範囲から大きく離れた値だけを入力する
正解
イ.0、1、100、101という境界の前後の値を入力する
限界値分析は、欠陥が境界で起こりやすい性質を利用し、有効範囲の端と、その直前・直後の値を狙ってテストする。本仕様では下限1の前後である0と1、上限100の前後である100と101を選ぶことで、境界条件の不等号の誤り(< と <= の取り違え等)を効率よく検出できる。
?選択肢ごとの解説
ア ×代表値50だけでは境界での誤りを検出できず、同値分割の代表値テストにとどまり限界値分析にならない。
イ ○限界値分析は、欠陥が境界で起こりやすい性質を利用し、有効範囲の端と、その直前・直後の値を狙ってテストする。本仕様では下限1の前後である0と1、上限100の前後である100と101を選ぶことで、境界条件の不等号の誤り(< と <= の取り違え等)を効率よく検出できる。
ウ ×乱数を多数入力しても境界をピンポイントで突くとは限らず、限界値分析の狙いである境界の確実な検証にならない。
エ ×範囲から大きく離れた値だけでは、境界直前直後で生じる不等号誤りなどを検出できず限界値分析の趣旨に反する。
✎くわしく
限界値分析は同値分割と併用される。同値分割で有効・無効のグループを作り、各境界の値とその隣接値を限界値分析で選ぶのが定石である。本問の境界は1と100であり、境界自体(1,100)と境界外側(0,101)を取ることで『<=を<と書いた』類の典型欠陥を捕捉する。テストケースを少数に絞りつつ欠陥検出力を高められる点が利点である。
✓本番での押さえどころ
試験のコツ
限界値分析は『境界とその直前・直後』。下限・上限の前後4点を選ぶ、と覚える。
覚え方
バグは崖っぷち(境界)に潜む。崖の上・下・縁を確かめる、とイメージする。
よくある誤り
境界値そのものだけを選び直前直後を省く、あるいは中央値だけで済ませる誤りが多い。境界とその両隣を取るのが要点。
開発技術の他の問題
アジャイル開発の手法であるスクラムにおいて、スプリントごとに動作するソフトウェアを開発チームが実際に作り上げ、その成果物をプ…ソフトウェアのテストにおいて、プログラムの内部構造には着目せず、入力に対する出力が仕様どおりであるかを検証する手法を採用した…あるシステムのファンクションポイント(FP)を見積もったところ、未調整FPは200であった。技術的複雑度を表す調整係数が0.…ソフトウェアの企画から開発・運用・保守・廃棄までの各活動について、取得者と供給者が同じ言葉で役割や作業範囲を取り決められるよ…ある開発プロジェクトでは、要件定義・設計・実装・テストの各工程を上流から下流へ順に進め、前工程の成果物を承認してから次工程へ…開発対象を複数の部分に分け、各部分について計画・リスク分析・開発・評価の活動を繰り返し、評価のたびにリスクを見極めながら少し…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0077