問題20:限られた時間内でのテスト技法の選択
問題 #20
Section titled “問題 #20”自動車ディーラーが使用するシステムの仕様が策定されている。このシステムは、車両のオプション特性(例:エンジンサイズ、外装トリム、色など)を設定し、設定された車両を視覚化し、車両の小売価格を生成する機能を提供する。
既存のシステムでも単一の構成の視覚モデルを提供できるが、ユーザーが同じセッション内で構成を変更することはできない。この(既存の)システムは開発プロトタイプとして使用されており、ゼロから作業するよりも迅速に必要な機能を生成できると期待されているため、スケジュールの期間も「迅速なデリバリー(rapid delivery)」に向けて短縮されている。
利用可能な期間内で、許容できるカバレッジを達成できる可能性が最も高いテスト技法の組み合わせはどれか?(※2つ選択してください)
- a) 状態遷移テスト(State transition testing)
- b) クラシフィケーションツリー / 分類ツリー(Classification tree)
- c) 境界値分析(Boundary value analysis)
- d) ユースケーステスト(Use case testing)
- e) 同値分割(Equivalence partitioning)
b) クラシフィケーションツリー / 分類樹(Classification tree)
e) 同値分割(Equivalence partitioning)
この問題は、自動車のオプションカスタマイズという「膨大な入力の組み合わせ」が存在するシステムに対し、限られた時間(迅速なデリバリー)で効率的にテストを設計するアプローチを問うています。
a) 不正解。 システムは状態ベース(状態遷移を伴うもの)である可能性はありますが、シナリオ内にはそれに関する情報がありません。また、既存のシステムから構築するというアプローチは、状態変化の定義が最小限にとどまることを示唆しています。
b) 正解。 クラシフィケーションツリー(分類ツリー)は、入力の組み合わせを効果的に管理する手段を提供します。
c) 不正解。 入力の一部(例えば「色」など)はパーティション(同値クラス)に分類される可能性が高いですが、これらは選択肢(代替案)を示すものであるため、順序付けられたパーティション(連続した値など境界が存在するクラス)になる可能性は低いです。したがって、境界値分析は適切ではありません。
d) 不正解。 ユースケーステストは想定される開発アプローチには適していますが、入力の詳細な組み合わせというよりも、全体的な機能フローの確認に重点を置いたものになります。
e) 正解。 入力は組み合わされるパーティション(オプションの選択肢)として存在するため、クラシフィケーションツリーと同値分割の組み合わせは理想的な選択肢となります。
JSTQB AL TA試験において、この問題は 「技法の相性」 と 「テスト対象の特性の見極め」 という2つの重要な論点を含んでいます。
-
同値分割とクラシフィケーションツリーの連携: クラシフィケーションツリーは強力な組み合わせテストの技法ですが、ツリーの「葉(末端)」に配置される要素は、事前に同値分割によって整理された入力の選択肢(パーティション)です。この2つの技法はセットで機能することを覚えておきましょう。
-
「組み合わせ」か「フロー」かの見極め: 自動車のコンフィギュレータ(構成システム)や、PCのBTO注文画面などのように「多数のオプションを掛け合わせる」システムでは、ユーザーの操作フロー(ユースケース)よりも、 「選んだパラメータの組み合わせが正しく機能し、価格計算などに反映されるか」 が最大のテスト課題になります。問題文のドメイン(業務領域)から、何を重点的にテストすべきかを読み取る力が求められます。
境界値分析の適用条件に注意 選択肢(c)の解説にあるように、同値分割(パーティション)ができるからといって、必ずしも境界値分析ができるとは限りません。色(赤、青、白)のように「順序付けられていない(大小関係がない)」パーティションには境界値が存在しない点に注意してください。