開発技術

基本情報技術者試験ソフトウェアテスト」の問題

マネジメント系開発技術難易度:normal
入力値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点を選ぶ、と覚える。

覚え方

バグは崖っぷち(境界)に潜む。崖の上・下・縁を確かめる、とイメージする。

よくある誤り

境界値そのものだけを選び直前直後を省く、あるいは中央値だけで済ませる誤りが多い。境界とその両隣を取るのが要点。

開発技術の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0077

【基本情報技術者試験】ソフトウェアテストの問題 — 解答・解説|ukamiru 過去問