平成22年度 秋期 午前Ⅱ 問8
実装・構築
同値分割に関する問題
三つの整数型の入力データA,B,Cが,A≧15かつB≧10かつC≧5のときだけ入力データを処理する仕様のプログラムを,同値分割法によってテストする。このときの最少のデータの組合せとして適切なものはどれか。ここで,(x,y,z)は,入力データAの値がx,Bの値がy,Cの値がzであることを表すものとする。
- ア(0,0,0),(20,15,10)
- イ(0,0,0),(0,0,10),(0,15,0),(20,0,0)
- ウ(0,15,10),(20,15,0),(20,0,10),(20,15,10)
- エ(0,0,0),(0,0,10),(0,15,0),(20,0,0),(0,15,10),(20,15,0),(20,0,10),(20,15,10)
答えと解説を見る
✓ これが正解ウ(0,15,10),(20,15,0),(20,0,10),(20,15,10)
解説
全条件を満たす1組と、条件を一つずつ外した3組の計4組です。
同値分割では、入力を処理される有効同値クラスと、処理されない無効同値クラスに分け、それぞれの代表値でテストします。この仕様の有効同値クラスは、A≧15、B≧10、C≧5 の三つを同時に満たす場合で、(20,15,10)がこれを代表します。無効同値クラスは、どの条件を外したかで分かれます。A だけを外した(0,15,10)、C だけを外した(20,15,0)、B だけを外した(20,0,10)の3組を用意すると、それぞれの条件の判定が正しく働いているかを個別に確かめられます。二つ以上を同時に外すと、どの条件で処理されなかったのかが分からなくなります。有効を1組、無効は一度に一つだけ外して条件の数だけ、と数えると最少の4組になります。
ほかの選択肢はなぜ違うのか
- ア(0,0,0),(20,15,10):(0,0,0)は三つの条件をすべて同時に外しているため、処理されなかったときに、どの条件の判定が働いたのかを区別できません。A、B、C それぞれの判定を個別に確かめられず、テストとして不足しています。
- イ(0,0,0),(0,0,10),(0,…:四つの組はどれも二つ以上の条件を外していて、条件を一つだけ外した組が無く、すべてを満たす有効な組も入っていません。処理される場合を一度も確かめておらず、各条件の判定も個別には確認できません。
- エ(0,0,0),(0,0,10),(0,…:三つの条件の成立と不成立のすべての組合せ8通りを並べています。網羅はしていますが、二つ以上を同時に外した組は個別の判定の確認には役立たず、最少の組合せという問いの条件に合いません。
この問題の用語
- テストケース何をどう試して、どうなれば合格かを一つずつ決めたものです。入力する値や操作の手順と、期待する結果を組にして書きます。
- テスト決めたとおりに動くかを、実際に動かして確かめる作業のこと。何を確かめるかによって移行テスト、システムテストなどと呼び分けます。
出典:平成22年度 秋期 システムアーキテクト試験 午前Ⅱ 問8
同じ用語が出る問題
- 令和7年度 春期 午前Ⅱ 問11:ユースケース駆動開発の利点(テスト)
- 令和7年度 春期 午前Ⅱ 問10:カークパトリックモデルの問題(テスト)
- 令和7年度 春期 午前Ⅱ 問7(テストケース)
- 令和4年度 春期 午前Ⅱ 問8:開発者が行った探索的テストの例(テストケース)
- 令和3年度 春期 午前Ⅱ 問7:この場合のテストケースの組合せ(テストケース)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)