2017年 秋期 応用情報技術者試験 問8
ソフトウェア適格性確認テストに関する問題
W法人は技術者の国家資格認定試験を実施している団体である。グローバルに活躍できる技術者を育成するために、新たな技術者認定試験(以下、新試験という)を導入することが決まった。新試験は4種類の試験を組み合わせて合格者を決定する。そこで、4種類の試験の成績を基に合否を判定するシステム(以下、合否判定システムという)を開発して、そのシステムの動作を確認するためのテストを行うことにした。
【新試験の実施方法】
新試験では、次の4種類の試験を組み合わせる。
I 英語(筆記試験):得点は1点刻みで100点満点 (以下、この筆記試験の得点をXとする)
II 専門科目(筆記試験):得点は1点刻みで100点満点 (以下、この筆記試験の得点をYとする)
III 英語(面接試験):得点は5点刻みで100点満点 (以下、この面接試験の得点をORAL_engとする)
IV 技術者適性(面接試験):得点は1点刻みで1〜4点 (以下、この面接試験の得点をORAL_tecとする)
新試験は次の2段階で行われる。
第1段階:筆記試験(I 英語 と II 専門科目) 第2段階:面接試験(III 英語 と IV 技術者適性)
第1段階の判定基準を満たした受験者だけが第2段階に進み、第2段階の判定基準を満たした受験者が新試験の合格者となる。
【第1段階の判定基準】
次の二つの条件をともに満たす場合に、第1段階を通過とする。
条件1:X≧60
条件2:筆記合算点としてWRITTENを式WRITTEN=X+Yで算出し、WRITTEN≧130
【第2段階の判定基準】
第1段階を通過し、かつ、次の二つの条件をともに満たす場合に、"新試験に合格"とする。
条件3:英語合算点としてENGLISHを式ENGLISH=X+ORAL_engで算出し、ENGLISH>140
条件4:WRITTENとORAL_tecの組合せによって表1のように判定する。
WRITTEN | ORAL_tec | |||
---|---|---|---|---|
1 | 2 | 3 | 4 | |
190以上 | ○ | ○ | ○ | |
160以上190未満 | ○ | ○ | ||
130以上160未満 | ○ |
ブランクは条件4を満たさないことを表す。
合否判定システムが、表1の判定基準どおりに動作するかをチェックするために、条件4を次の三つの連立不等式で表す。
WRITTEN≧130 ORAL_tec≧2 WRITTEN+m×ORAL_tec≧n
ただし、m=a、n=b(m、nは整数)
【3変数のドメイン分析】
第2段階の判定基準(条件3、4)においてENGLISH、WRITTEN、ORAL_tecの3変数の境界値テストを行う。このように複数の変数の境界値が関係するテストケースの設定を見つけるために、Binderのドメイン分析を利用する。Binderのドメイン分析とは、ある変数の境界値についてテストを行うために、他の変数を有効同値の中の値とする方法である。それぞれのドメインは境界によって定義されるので、テストすべき値は、任意で指定される境界上の値(onポイント)、及び境界の近傍にあって境界を挟んでonポイントに最も近い値(offポイント)となる。offポイントは、境界が閉じていれば(等号を含む不等式の場合)ドメイン外の値になり、境界が開いていれば(等号を含まない不等式の場合)ドメイン内の値となる。一つの変数の境界をチェックするときに、他の変数は真偽に影響を与えないよう境界上でないドメイン内部の値(inポイント)を選ぶ。
表2は、3変数のドメイン分析マトリクスとしてテストケースを定義したものである。異常値は別途テストするので表2には含まない。また、各変数のinポイントは全てのテストケースで同一の値を設定している。6件のテストケースは全て異なる。
変数 | ポイント名 | テストケースの目的 | |||||
---|---|---|---|---|---|---|---|
ケース1 | ケース2 | ケース3 | ケース4 | ケース5 | ケース6 | ||
ENGLISH | on | 140 | (ア) | ||||
off | d | (イ) | |||||
in | 160 | (ウ) | 160 | 160 | |||
ORAL_tec | on | 2 | (エ) | ||||
off | (オ) | ||||||
in | 4 | 4 | (カ) | 4 | 4 | ||
WRITTEN | on | (キ) | 130 | ||||
off | (ク) | e | |||||
in | 190 | 190 | 190 | (ケ) |
【判定基準の変更】
新試験の結果をシミュレーションした結果、I 英語(筆記試験)が高得点で、II 専門科目(筆記試験)の得点が低い場合(X=100、Y=30 など)でも合格するケースがあることが判明した。これは第1段階の判定基準で専門科目(筆記試験)の得点を十分に考慮できていないからと考えて再検討し、第1段階の判定基準に、
条件5:Y>50
を追加した。すなわち条件1、条件2、条件5を全て満たす場合に、第1段階を通過とした。
第1段階の判定基準の条件が増えたので、三つの条件(条件1、条件2、条件5)での複数条件網羅(multiple condition coverage)テストを計画した。各条件を満たすか否かによってテストケースを整理したところ、①複数条件網羅率を100%にするテストケースの数は本来8件であるが、本テストでは7件だけで済むことが分かった。