応用情報技術者過去問題 平成29年秋期 午後問8
⇄問題文と設問を画面2分割で開く⇱問題PDF問8 情報システム開発
ソフトウェア適格性確認テストに関する次の記述を読んで,設問1~4に答えよ。
W法人は技術者の国家資格認定試験を実施している団体である。グローバルに活躍できる技術者を育成するために,新たな技術者認定試験(以下,新試験という)を導入することが決まった。新試験は4種類の試験を組み合わせて合格者を決定する。そこで,4種類の試験の成績を基に合否を判定するシステム(以下,合否判定システムという)を開発して,そのシステムの動作を確認するためのテストを行うことにした。
〔新試験の実施方法〕
新試験では,次の4種類の試験を組み合わせる。
〔第1段階の判定基準〕
次の二つの条件をともに満たす場合に,第1段階を通過とする。
〔第2段階の判定基準〕
第1段階を通過し,かつ,次の二つの条件をともに満たす場合に,"新試験に合格"とする。
第2段階の判定基準(条件3,4)においてENGLISH,WRITTEN,ORAL_tecの3変数の境界値テストを行う。このように複数の変数の境界値が関係するテストケースの設定を見つけるために,Binderのドメイン分析を利用する。Binderのドメイン分析とは,ある変数の境界値についてテストを行うために,他の変数を有効同値の中の値とする方法である。それぞれのドメインは境界によって定義されるので,テストすべき値は,仕様で指定される境界上の値(onポイント),及び境界の近傍にあって境界を挟んでonポイントに最も近い値(offポイント)となる。offポイントは,境界が閉じていれば(等号を含む不等式の場合)ドメイン外の値になり境界が開いていれば(等号を含まない不等式の場合)ドメイン内の値となる。一つの変数の境界をチェックするときに,他の変数は真偽に影響を与えないよう境界上でないドメイン内部の値(inポイント)を選ぶ。
表2は,3変数のドメイン分析マトリクスとしてテストケースを定義したものである。異常値は別途テストするので表2には含まない。また,各変数のinポイントは全てのテストケースで同一の値を設定している。6件のテストケースは全て異なる。〔判定基準の変更〕
新試験の結果をシミュレーションした結果,I英語(筆記試験)が高得点で,Ⅱ専門科目(筆記試験)の得点が低い場合(X=100,Y=30など)でも合格するケースがあることが判明した。これは第1段階の判定基準で専門科目(筆記試験)の得点を十分に考慮できていないからと考えて再検討し,第1段階の判定基準に,
第1段階の判定基準の条件が増えたので,三つの条件(条件1,条件2,条件5)での複数条件網羅(multiple condition coverage)テストを計画した。各条件を満たすか否かによってテストケースを整理したところ,①複数条件網羅率を100%にするテストケースの数は本来8件であるが,本テストでは7件だけで済むことが分かった。
W法人は技術者の国家資格認定試験を実施している団体である。グローバルに活躍できる技術者を育成するために,新たな技術者認定試験(以下,新試験という)を導入することが決まった。新試験は4種類の試験を組み合わせて合格者を決定する。そこで,4種類の試験の成績を基に合否を判定するシステム(以下,合否判定システムという)を開発して,そのシステムの動作を確認するためのテストを行うことにした。
〔新試験の実施方法〕
新試験では,次の4種類の試験を組み合わせる。
- 英語(筆記試験):得点は1点刻みで100点満点
(以下,この筆記試験の得点をXとする) - 専門科目(筆記試験):得点は1点刻みで100点満点
(以下,この筆記試験の得点をYとする) - 英語(面接試験):得点は5点刻みで100点満点
(以下,この面接試験の得点をORAL_engとする) - 技術者適性(面接試験):得点は1点刻みで1~4点
(以下,この面接試験の得点をORAL_tecとする)
- 第1段階:
- 筆記試験(Ⅰ英語 と Ⅱ専門科目)
- 第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のように判定する。
第2段階の判定基準(条件3,4)においてENGLISH,WRITTEN,ORAL_tecの3変数の境界値テストを行う。このように複数の変数の境界値が関係するテストケースの設定を見つけるために,Binderのドメイン分析を利用する。Binderのドメイン分析とは,ある変数の境界値についてテストを行うために,他の変数を有効同値の中の値とする方法である。それぞれのドメインは境界によって定義されるので,テストすべき値は,仕様で指定される境界上の値(onポイント),及び境界の近傍にあって境界を挟んでonポイントに最も近い値(offポイント)となる。offポイントは,境界が閉じていれば(等号を含む不等式の場合)ドメイン外の値になり境界が開いていれば(等号を含まない不等式の場合)ドメイン内の値となる。一つの変数の境界をチェックするときに,他の変数は真偽に影響を与えないよう境界上でないドメイン内部の値(inポイント)を選ぶ。
表2は,3変数のドメイン分析マトリクスとしてテストケースを定義したものである。異常値は別途テストするので表2には含まない。また,各変数のinポイントは全てのテストケースで同一の値を設定している。6件のテストケースは全て異なる。〔判定基準の変更〕
新試験の結果をシミュレーションした結果,I英語(筆記試験)が高得点で,Ⅱ専門科目(筆記試験)の得点が低い場合(X=100,Y=30など)でも合格するケースがあることが判明した。これは第1段階の判定基準で専門科目(筆記試験)の得点を十分に考慮できていないからと考えて再検討し,第1段階の判定基準に,
- 条件5:
- Y>50
第1段階の判定基準の条件が増えたので,三つの条件(条件1,条件2,条件5)での複数条件網羅(multiple condition coverage)テストを計画した。各条件を満たすか否かによってテストケースを整理したところ,①複数条件網羅率を100%にするテストケースの数は本来8件であるが,本テストでは7件だけで済むことが分かった。
設問1
〔第1段階の判定基準〕においてX軸(横方向で右が正)とY軸(縦方向で上が正)を軸とした直交座標のグラフを考えたとき,条件1と条件2を満たし判定基準通過となる領域は4直線で囲まれた四角形になる。境界値テストを行うべき,この四角形の各頂点を座標(X,Y)で表す。このとき四つの頂点の座標を,右上の頂点から順に左回り(反時計回り)に答えよ。
解答入力欄
- o:
解答例・解答の要点
- o:(100,100),(60,100),(60,70),(100,30)
解説
〔第1段階の判定基準〕は、Xが60以上、かつ、X+Yが130以上 です。XとYについてそれぞれ上限・下限を考えると以下の4種類のケースが考えられます。
∴(100,100),(60,100),(60,70),(100,30)
- Xの値が上限の"100"であり、Yの値も上限である"100"
- Xの値が上限の"100"であり、Yの値がX+Y≧130を満たす下限である"30"
- Xの値が下限の"60"であり、Yの値が上限である"100"
- Xの値が下限の"60"であり、Yの値がX+Y≧130を満たす下限である"70"
∴(100,100),(60,100),(60,70),(100,30)
設問2
本文中のa,bに入れる適切な数値を答えよ。
解答入力欄
- a:
- b:
解答例・解答の要点
- a:30
- b:250
解説
条件4を通過する下限、例えば「WRITTEN:130、かつ、ORAL_tec:4」や、「WRITTEN:160、かつ、ORAL_tec:3」の場合は、WRITTEN+m×ORAL_tecの値がnと等しくなるはずです。
これを利用した連立方程式を立ててmとnを求めます。
130+4m=n …①
160+3m=n …②
加減法により、
-30+m=0
m=30 …③
③の結果を①の式に代入します。
130+4×30=n
n=250
∴a=30
b=250
これを利用した連立方程式を立ててmとnを求めます。
130+4m=n …①
160+3m=n …②
加減法により、
-30+m=0
m=30 …③
③の結果を①の式に代入します。
130+4×30=n
n=250
∴a=30
b=250
設問3
〔3変数のドメイン分析〕について,(1)~(3)に答えよ。
- ケース1とケース2のテストケースの目的として,表2中のcに入れる適切な字句を答えよ。
- 表2中のd,eに入れる適切な数値を答えよ。
- ケース4として値を設定すべき箇所が表2中の(ア)~(ケ)のうちに三つある。値を設定すべき箇所と設定すべき値を答えよ。
解答方法は,例えば(ア)に数値1が入る場合,(ア,1)と答えよ。
解答入力欄
- c:
- d:
- e:
- o:
解答例・解答の要点
- c:ENGLISHの境界値チェック
- d:141
- e:129
- o:(ウ,160),(オ,1),(ケ,190)
解説
問題文の説明だけでは分かりづらいので、はじめにonポイント、offポイント、inポイントについて整理しておきます。
- onポイント
- 仕様で指定されている境界上の値、すなわちX≧100、X>100 の"100"のように比較条件で指定される定数のこと。この2つのケースのonポイントは共に100になる。
- offポイント
- 境界の近傍にあり、境界を挟んでonポイントに最も近い値。X≧100の場合、onポイント"100"はドメイン内なので境界を挟んで最も近い値はドメイン外の"99"になる、一方、X>100の場合、onポイント"100"はドメイン外なので境界を挟んで最も近い値はドメイン内の"101"になる。
- inポイント
- 境界上でないドメイン内部の値
- 〔cについて〕
表2「ドメイン分析マトリクス」を見ると、ケース1とケース2ではENGLISHにon/offポイントが、ORAL_tecとWRITTENにはinポイントが指定されています。これよりケース1とケース2は変数ENGLISHに対するテストとわかります。ケース3とケース4のテストケースの目的である「ORAL_tecの境界値チェック」という字句に倣えば、cに入る字句はENGLISHの境界値チェックとなります。
∴c=ENGLISHの境界値チェック - 〔dについて〕
変数ENGLISHの判定条件は「ENGLISH>140」です。onポイントである140はドメイン外の値なので、offポイントは境界を挟んだドメイン内で最も近い値である141になります。∴d=141
〔eについて〕
変数WRITTENの判定条件は「WRITTEN≧130」です。onポイントである130はドメイン内の値なので、offポイントは境界を挟んだドメイン外で最も近い値である129になります。∴e=129 - ケース3とケース4は変数ORAL_tecのチェックなので、ORAL_tecにはon/offポイントが、それ以外の変数にはinポイントが設定されます。
ENGLISHとWRITTENに設定されるinポイントの値ですが、問題文に「各変数のinポイントは全てのテストケースで同一の値」とあるので、他のテストケースで設定されているinポイントと同じ値が設定されることになります。具体的にはENGLISH=160、WRITTEN=190です。
変数ORAL_tecの判定条件は「ORAL_tec≧2」です。先程と同様に考えると、onポイントである2はドメイン内の値なので、offポイントは境界を挟んだドメイン外で最も近い値である1になります。
つまり表中で値が設定される箇所は以下の3つです。∴(ウ,160),(オ,1),(ケ,190)
設問4
本文中の下線①となる理由を,40字以内で具体的に述べよ。
解答入力欄
- o:
解答例・解答の要点
- o:条件1が偽,条件2が真,条件5が偽となる場合が成立しないから (30文字)
解説
複数条件網羅は、判定条件のすべての可能な結果の組合せを網羅し、かつ、すべての命令を少なくとも1回は実行するようにテストケースを作成するテスト手法です。複数条件網羅では、結果の真偽だけではなく生じ得る判定条件の組合せを全て網羅しなくてはなりません。
第1段階の判定基準では以下の3つの条件の組合せで判定されます。
∴条件1が偽,条件2が真,条件5が偽となる場合が成立しないから
第1段階の判定基準では以下の3つの条件の組合せで判定されます。
- 条件1:X≧60
- 条件2:X+Y≧130
- 条件5:Y>50
∴条件1が偽,条件2が真,条件5が偽となる場合が成立しないから