平成27年度 秋期 システムアーキテクト試験 午前Ⅱ 問10

学生レコードを処理するプログラムをテストするために,実験計画法を用いてテストケースを決定する。学生レコード中のデータ項目(学生番号,科目コード,得点)は二つの状態をとる。テスト対象のデータ項目から任意に二つのデータ項目を選び,二つのデータ項目がとる状態の全ての組合せが必ず同一回数ずつ存在するように基準を設けた場合に,次の8件のテストケースの候補から,最少で幾つを採択すればよいか。

テストケースの候補
図の説明テキスト
テストケース No. \ データ項目 学生番号 科目コード 得点
1 存在する 存在する 数字である
2 存在する 存在する 数字でない
3 存在する 存在しない 数字である
4 存在する 存在しない 数字でない
5 存在しない 存在する 数字である
6 存在しない 存在する 数字でない
7 存在しない 存在しない 数字である
8 存在しない 存在しない 数字でない
解答・解説

正解: ウ. 4

正解の根拠

この問題は、実験計画法(直交表やペアワイズ法)の考え方を用いて、テストケースの数を最小化するものです。

問題文の条件を整理すると、以下のようになります。

  • 各データ項目(学生番号,科目コード,得点)はそれぞれ 2つの状態 をとる。
  • 任意の 2つのデータ項目 を選んだとき、それらの状態の 全ての組合せが必ず同一回数ずつ存在する ようにする。

1. 必要な最小テストケース数の検討

2つのデータ項目(例えば「学生番号」と「科目コード」)を選んだ場合、それぞれが2つの状態をとるため、状態の組合せは以下の 2×2=42 \times 2 = 4 通り存在します。

  1. (存在する,存在する)
  2. (存在する,存在しない)
  3. (存在しない,存在する)
  4. (存在しない,存在しない)

これら4通りの組合せが「必ず同一回数ずつ存在する」ためには、各組合せが少なくとも 1回ずつ 出現する必要があります。したがって、テストケースは最少でも 4件 必要になります。

2. 4件で条件を満たせるかの確認

実際に8件の候補から4件を選んで、すべての2項目のペア(「学生番号と科目コード」「学生番号と得点」「科目コードと得点」)で4通りの組合せが1回ずつ出現するかを確認します。

例えば、テストケース No.1, No.4, No.6, No.7 の4件を採択したとします。

テストケース No. 学生番号 科目コード 得点
1 存在する 存在する 数字である
4 存在する 存在しない 数字でない
6 存在しない 存在する 数字でない
7 存在しない 存在しない 数字である

この4件について、任意の2項目の組合せを確認すると、

  • 学生番号と科目コード:(存,存)がNo.1、(存,不)がNo.4、(不,存)がNo.6、(不,不)がNo.7で、4通りすべてが1回ずつ存在します。
  • 学生番号と得点:(存,数)がNo.1、(存,非)がNo.4、(不,非)がNo.6、(不,数)がNo.7で、4通りすべてが1回ずつ存在します。
  • 科目コードと得点:(存,数)がNo.1、(不,非)がNo.4、(存,非)がNo.6、(不,数)がNo.7で、4通りすべてが1回ずつ存在します。

(なお、No.2, No.3, No.5, No.8 の4件を選んだ場合も同様に条件を満たします。)

よって、最少で採択すべきテストケースの数は 4 となり、正解は ウ です。

各選択肢の解説

  • ア (2):2つのデータ項目がとる状態の組合せは 2×2=42 \times 2 = 4 通りあるため、2件のテストケースではすべての組合せを網羅することすらできません。
  • イ (3):組合せが4通りあるため、3件のテストケースではすべての組合せを網羅できず、同一回数ずつ存在させることも不可能です。
  • ウ (4):正解です。4通りの組合せがそれぞれ1回ずつ出現するように4件を選ぶことで、条件を満たすことができます。
  • エ (6):4通りの組合せを同一回数ずつ存在させる場合、テストケースの総数は4の倍数(4件、8件など)になる必要があります。6件では4通りの組合せを均等な回数(同一回数)ずつ出現させることはできません。

Spineチーム