基本情報技術者試験「ソフトウェアテスト」の問題
判定文 if (A かつ B) において、AとBはそれぞれ真・偽をとる独立した単純条件である。この判定を複数条件網羅(各単純条件の真偽の全組合せを網羅)で完全にテストするために必要となる、AとBの真偽の組合せの最小数は何通りか。
ア2通り
イ3通り
ウ4通り
エ8通り
正解
ウ.4通り
複数条件網羅は各単純条件の真偽の全組合せを尽くす基準である。条件はAとBの2個で各々2値をとるため、組合せ数は2の2乗=4通り(真真・真偽・偽真・偽偽)となり、これが必要最小数である。
?選択肢ごとの解説
ア ×2通りは分岐網羅(判定全体の真・偽)で足りる数であり、各条件の全組合せを尽くす複数条件網羅には不足する。
イ ×3通りは組合せの一つを省いた数で、4つの組合せのいずれかが欠けるため複数条件網羅を満たさない。
ウ ○複数条件網羅は各単純条件の真偽の全組合せを尽くす基準である。条件はAとBの2個で各々2値をとるため、組合せ数は2の2乗=4通り(真真・真偽・偽真・偽偽)となり、これが必要最小数である。
エ ×8通りは条件が3個(2の3乗)の場合の組合せ数であり、本問は条件2個なので過大である。
✎くわしく
複数条件網羅に必要な組合せ数は単純条件数nに対し2のn乗で増える。条件2個なら4、3個なら8と指数的に増大するため、現実には全網羅が困難になりやすく、より少ないケースで効果を狙うMC/DC(改良条件判定網羅)が用いられることもある。本問は基本のn=2を問い、4通りが答えとなる。
✓本番での押さえどころ
試験のコツ
複数条件網羅の必要数は『2の(単純条件数)乗』。条件2個なら4、3個なら8と即計算する。
覚え方
各条件のオン・オフを真理値表の行と捉え、行数=2のn乗、と表で覚える。
よくある誤り
分岐網羅(2通り)と混同して2を選ぶ誤りが多い。複数条件網羅は判定全体ではなく条件の全組合せである点を区別する。
開発技術の他の問題
アジャイル開発の手法であるスクラムにおいて、スプリントごとに動作するソフトウェアを開発チームが実際に作り上げ、その成果物をプ…ソフトウェアのテストにおいて、プログラムの内部構造には着目せず、入力に対する出力が仕様どおりであるかを検証する手法を採用した…あるシステムのファンクションポイント(FP)を見積もったところ、未調整FPは200であった。技術的複雑度を表す調整係数が0.…ソフトウェアの企画から開発・運用・保守・廃棄までの各活動について、取得者と供給者が同じ言葉で役割や作業範囲を取り決められるよ…ある開発プロジェクトでは、要件定義・設計・実装・テストの各工程を上流から下流へ順に進め、前工程の成果物を承認してから次工程へ…開発対象を複数の部分に分け、各部分について計画・リスク分析・開発・評価の活動を繰り返し、評価のたびにリスクを見極めながら少し…
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a2-0074