システムアーキテクト試験 2010年 午前209


受注処理の入力データをチェックするプログラムを、実験計画法に基づいてテストする。直交表を用いてテストケースを作成する場合、テストケースのa~cの組合せとして、適切なものはどれか。
問題画像選択肢画像
(正解)

解説

受注処理の入力データをチェックするプログラムのテストケース作成【午前2 解説】

要点まとめ

  • 結論:直交表を用いた実験計画法では、各因子の水準の組み合わせを効率的に網羅し、テストケースを最小限に抑えつつ網羅性を確保します。
  • 根拠:得意先コード、商品コード、受注数量の3因子それぞれに2水準があり、直交表の4行3列はこれらの因子の組み合わせをバランスよく表現しています。
  • 差がつくポイント:直交表の行ごとの因子水準の組み合わせが、テスト仕様の条件(存在する・しない、数字だけ・数字以外)に正しく対応しているかを見極めることが重要です。

正解の理由

選択肢「エ」のテストケースは、直交表の各行の値(0または1)を得意先コード、商品コード、受注数量の水準に対応させており、3因子すべての組み合わせをバランスよく網羅しています。
具体的には、得意先コードと商品コードが「存在する」か「存在しない」、受注数量が「数字だけ」か「数字以外の文字も含む」という2水準で表され、直交表の0と1に対応させることで4つのテストケースが効率的に作成されています。
他の選択肢はこの対応関係が崩れているため、網羅性や効率性が損なわれています。

よくある誤解

直交表の数字(0や1)を単に数値として捉え、因子の水準に正しく対応させない誤りが多いです。
また、因子の水準をすべて「存在する」や「数字だけ」など同じにしてしまい、テストの網羅性を欠くこともあります。

解法ステップ

  1. テスト仕様から因子(得意先コード、商品コード、受注数量)とそれぞれの水準(存在する・存在しない、数字だけ・数字以外)を確認する。
  2. 直交表の行と列の値(0または1)を因子の水準に割り当てるルールを決める。
  3. 直交表の各行の組み合わせを因子の水準に置き換え、テストケースを作成する。
  4. 作成したテストケースがテスト仕様の条件を満たしているかを検証する。
  5. 選択肢の中で、直交表の組み合わせとテストケースが一致しているものを選ぶ。

選択肢別の誤答解説

  • ア:得意先コードと商品コードがともに「存在しない」で受注数量が「数字だけ」となっており、直交表の組み合わせと合致しません。
  • イ:受注数量の水準が「数字以外の文字も含む」ですが、得意先コードと商品コードの組み合わせが直交表の行と一致していません。
  • ウ:得意先コードが「存在する」、商品コードが「存在しない」、受注数量が「数字以外の文字も含む」となっていますが、直交表のバランスを欠いています。
  • :3因子の水準が直交表の0・1に正しく対応し、4つのテストケースが効率的かつ網羅的に作成されています。

補足コラム

直交表は実験計画法の一種で、多因子の組み合わせを効率的にテストするために用いられます。
全組み合わせテスト(全パターン網羅)に比べてテストケース数を大幅に削減できるため、ソフトウェアテストや品質保証の現場で広く活用されています。
因子の水準数が増えると直交表の種類も多様になるため、適切な直交表の選択が重要です。

FAQ

Q: 直交表の「0」と「1」は何を意味しますか?
A: 0と1は因子の水準を表す記号で、例えば「存在しない=0」「存在する=1」など、テスト仕様に合わせて割り当てます。
Q: なぜ全組み合わせテストではなく直交表を使うのですか?
A: 全組み合わせテストはテストケース数が膨大になるため、直交表を使うことで効率的に代表的な組み合わせを網羅し、テスト工数を削減できます。
Q: 直交表の行数はどう決まりますか?
A: 因子の数と水準数に応じて決まります。今回のように3因子×2水準の場合、4行の直交表が最小限の組み合わせを表します。

関連キーワード: 実験計画法, 直交表, テストケース設計, ソフトウェアテスト, 因子水準, テスト効率化
← 前の問題へ次の問題へ →

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