見出し画像

応用情報技術者試験に出たドメイン分析テストの問題

JSTQB Advanced Level Test Analystの勉強をしていたら、ドメイン分析テストが出てきました。そういやこれ、応用情報技術者試験の過去問に出てたなあ~と思い出したので、久しぶりに解いてみることにしました。

平成29年秋期 応用情報技術者試験(問8)

問題原本はこちらから。(IPAの過去問ページのPDFに直リンク)
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_ap_pm_qs.pdf

実際の問題は、問題が3ページほどあって最後に設問が並んでいますが、関係する問題文のところに設問を挿し込んで、回答と解説を書きます。

問題要旨

国家資格認定試験を実施している団体。
試験は4種類の試験を組み合わせて合格者を決定する。4種類の試験の成績を基に合否を判定する合否判定システムを開発して、そのシステムの動作を確認するためのテストを行う。

試験の実施方法

試験では4種類の試験を組み合わせる。

  1. 英語(筆記試験):得点は1点刻みで100点満点(この得点をXとする)

  2. 専門科目(筆記試験):得点は1点刻みで100点満点(この得点をYとする)

  3. 英語(面接試験):得点は5点刻みで100点満点(この得点をORAL_engとする)

  4. 技術者適性(面接試験):得点は1点刻みで1~4点(この得点をORAL_tecとする)

試験は2段階で行われる。
・第1段階:筆記試験(Ⅰ英語 と Ⅱ専門科目)
・第2段階:面接試験(Ⅲ英語 と Ⅳ技術者適性)
第1段階の合格者が第2段階に進み、第2段階の合格者が試験の合格者となる。

判定基準

〔第1段階の判定基準〕
次の二つの条件をともに満たす場合に、第1段階を合格とする。
条件1:X≧60
条件2:WRITTENを式WRITTEN=X+Yで算出し,WRITTEN≧130

設問1

〔第1段階の判定基準〕においてX軸(横方向で右が正)とY軸(縦方向で上が正)を軸とした直交座標のグラフを考えたとき、条件1と条件2を満たし判定基準通過となる領域は4直線で囲まれた四角形になる。境界値テストを行うべき、この四角形の各頂点を座標(X,Y)で表す。このとき四つの頂点の座標を、右上の頂点から順に左回り(反時計回り)に答えよ。

回答

(100,100),(60,100),(60,70),(100,30)

解説

判定基準はXが60以上かつX+Yが130以上、なので、上限下限を当てはめて頂点を考えていけばよい。順番に注意。
XもYも最高得点の100,100 (右上の頂点)
Xが最低点の60のとき、Yは最高点の100 (左上の頂点)
Xが最低点の60のとき、Yは130-60=70がボーダー (左下の頂点)
Xが最高点の100のとき、Yは130-100=30がボーダー (右下の頂点)

判定基準(続き)

〔第2段階の判定基準〕
第1段階を通過し、かつ次の二つの条件をともに満たす場合に試験合格とする。
条件3:ENGLISHを式ENGLISH=X+ORAL_engで算出し、ENGLISH>140
条件4:WRITTENとORAL_tecの組合せによって表1のように判定する。

合否判定システムが表1の判定基準どおりに動作するかをチェックするために、条件4を次の三つの連立不等式で表す。

設問2

本文中のa、bに入れる適切な数値を答えよ。

答え

a:30
b:250

解説

表1(条件4)に合格する仮の点数を二つ入れて連立方程式を解けばよい。
WRITTEN:130、ORAL_tec:4・・・130+4m=n
WRITTEN:160、ORAL_tec:3・・・160+3m=n
m=30
n=250

3変数のドメイン分析

(長いけどドメイン分析の説明になってるので全掲します。勉強になる!)

第2段階の判定基準(条件3、4)においてENGLISH、WRITTEN,、ORAL_tecの3変数の境界値テストを行う。このように複数の変数の境界値が関係するテストケースの設定を見つけるために、Binderのドメイン分析を利用する。Binderのドメイン分析とは、ある変数の境界値についてテストを行うために、他の変数を有効同値の中の値とする方法である。それぞれのドメインは境界によって定義されるので、テストすべき値は、仕様で指定される境界上の値(onポイント)、及び境界の近傍にあって境界を挟んでonポイントに最も近い値(offポイント)となる。offポイントは、境界が閉じていれば(等号を含む不等式の場合)ドメイン外の値になり境界が開いていれば(等号を含まない不等式の場合)ドメイン内の値となる。一つの変数の境界をチェックするときに、他の変数は真偽に影響を与えないよう境界上でないドメイン内部の値(inポイント)を選ぶ。

表2は、3変数のドメイン分析マトリクスとしてテストケースを定義したものである。異常値は別途テストするので表2には含まない。また、各変数のinポイントは全てのテストケースで同一の値を設定している。6件のテストケースは全て異なる。

設問3

〔3変数のドメイン分析〕について(1)~(3)に答えよ。

  1. ケース1とケース2のテストケースの目的として、表2中のcに入れる適切な字句を答えよ。

  2. 表2中のd、eに入れる適切な数値を答えよ。

  3. ケース4として値を設定すべき箇所が表2中の(ア)~(ケ)のうちに三つある。値を設定すべき箇所と設定すべき値を答えよ。
    解答方法は、例えば(ア)に数値1が入る場合(ア,1)と答えよ。

回答

  1. c:ENGLISHの境界値チェック

  2. d:141 e:129

  3. (ウ,160)、(オ,1)、(ケ,190)

解説

cは、ENGLISHの値に対するテストなのは表から見て取れる。
隣の「ORAL_tecの境界値チェック」に倣って、「ENGLISHの境界値チェック」とすればいいでしょう。

dはENGLISHのoff。
ENGLISHの判定は、ENGLISH>140なので、onポイントである140はドメイン外の無効値。offポイントはその境界の最小有効値141ですね。

eはWRITTENのoff。
WRITTENの判定は、WRITTEN≧130なので、onポイントである130がドメイン内の無効値。offポイントはその境界の最大無効値129ですね。

なんのこっちゃ~?ですが、「各変数のinポイントは全てのテストケースで同一の値を設定している。」って言うてるんで、ウの160とケの190はすぐ入るでしょう。
あと値が入ってないのはORAL_tecのoffだけ。
ORAL_tecの判定は、ORAL_tec≧2なので、onの2はドメイン内(有効値)。offは最大無効値の1ですね。

判定基準の変更

第1段階の判定基準に
 条件5:Y>50
を追加した。

第1段階の判定基準の条件が増えたので、三つの条件(条件1、条件2、条件5)での複数条件網羅テストを計画した。各条件を満たすか否かによってテストケースを整理したところ、①複数条件網羅率を100%にするテストケースの数は本来8件であるが、本テストでは7件だけで済むことが分かった。

設問4

本文中の下線①となる理由を40字以内で具体的に述べよ。

回答

条件1が偽、条件2が真、条件5が偽となる場合が成立しないから

解説

第1段階の判定基準は以下の3つの条件の組合せ。
条件1:X≧60
条件2:X+Y≧130
条件5:Y>50
真偽3つの条件の組み合わせなので2^3で8ケースですが、条件1が偽(59点)で条件5が偽(50点)だと109点にしかならないので、条件2が成立しませんね。

まとめ:IPA試験も面白いぞ

と、こんな感じでたまーーーにテスト系の問題も出てきます。試験は受けなくても、過去問で関係しそうなものだけ解いても面白いかも。

ちなみにJaSSTnanoでLTさせてもらったネタは、IPAのプロジェクトマネージャ試験に品質関係の過去問いっぱいあるよーって話でした。よろしければこちらもどーぞ。


この記事が気に入ったらサポートをしてみませんか?