見出し画像

第283回: 「ALTAのテキストをつくろう」38 (ペアワイズテスト/前編)

◀前の記事へ 次の記事へ▶︎


≡ はじめに

前回は、「3. テスト技法」の「3.2 ブラックボックステスト技法」の「3.2.5 クラシフィケーションツリー技法」の後編として、「クラシフィケーションツリー技法のカバレッジ、検出できる欠陥の種類」について書きました。

前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「3.2.6 ペアワイズテスト」の前編として、「ペアワイズテストの定義」について書きます。



≡ 前回の復習

以下は前回出題したJSTQB ALTAの模擬試験問題を𝕏にポストした結果です。


𝕏によるアンケート結果

投票の結果、4の「欠陥の検出を目的としていない」が46.2%と最も多かったのですが、正解は1の「クラシフィケーションツリーがサポートする技法によって異なる」です。

以下は、前回引用したJSTQBのALTAシラバスの「クラシフィケーションツリー技法の検出できる欠陥の種類」の全文です。

検出できる欠陥の種類は、クラシフィケーションツリーがサポートする技法(つまり、同値分割法、境界値分析、またはペアワイズテスト)によって異なる。

前回の問題は何のひねりもなく、上記シラバスからの書き写しです。

「4. 欠陥の検出を目的としていない」を選択したくなる気持ちはよくわかります。


シラバスのクラシフィケーションツリー技法の制限/注意事項に以下の記載があります。

クラシフィケーションツリー技法では、完全なテストケースは作られず、テストデータの組み合わせのみが作られる。

クラシフィケーションツリー技法はそれ単独ではテストケースは生成できず、あくまでも【何かのブラックボックステスト技法を支援する技法】です。支援することが目的なので直接的には「欠陥の検出を目的としていない技法」です。そういう意味では4も正解と言えます。

しかしながら、それでは、何を支援しているのかと深掘りすれば、「欠陥の検出を目的としている何かのブラックボックステスト技法」を支援しているわけです。
そう考えると広い意味では、欠陥の検出を目的としている技法とみることもできます。

とは言え、シラバスそのものが書いてあるので1が正解となります。

試験のテクニック的には、問題文のなかの「最も適切な説明」という箇所に着目するというのがあります。
これは、選択肢から正解を除いたら、次点で正解になる選択肢があるという意味なことが多いからです。(たまに残りの選択肢が明確に不正解のときにも使う出題者がいるので困ったものです)

復習は以上とし、今回のnoteのテーマに移ります。



≡ ペアワイズテストの定義


■ 定義

JSTQBのALTAシラバスの「ペアワイズテストの定義」はわかりにくいです。用語集も分かりにくいです

ISTQB用語集より

なんか違いますよね。原文の英語は

A black-box test technique in which test cases are designed to exercise pairs of parameter-value pairs.

ああ、「parameter-value pairs」を「パラメータと値のペア」と訳したのですね。むー。「パラメータの値のペア」だと思います。

ところで、JSTQB FL 4.0で取り上げているブラックボックステスト技法は、「同値分割法」、「境界値分析」、「デシジョンテーブルテスト」、「状態遷移テスト」の4つです。
ALTAで初めて「ペアワイズテスト」を知る方がいることを考えると、もう少し易しく書いたほうがいいんじゃないかなあと思います。「シラバス=学習範囲を明確にする」という意味では不満はないのですが、初期のFLシラバスが素晴らしすぎて期待値が上がり過ぎています。

なお、4.0の前のバージョンのJSTQB FL 2018年版では上記に加えて「ユースケーステスト」もブラックボックステスト技法として紹介されてます。

とちょっとハードルをあげておいて、私が説明するときのペアワイズテストの定義を書きます。

2因子間の組合せを網羅する技法

です。

昔は、もっと長くてイマイチな説明をしていました。

多数の入力の組合せをテストするときに、各入力のことを因子、各因子の選択できる値を水準と呼ぶ。
ここで、多数の因子から任意の2つの因子を取り出し、その全水準の組合せを行う方法

「2因子間の組合せを網羅する技法」で十分ですよね。それに「入力」だけが因子ではないですし、「全水準の組合せ」っていうのが分かりにくいです。だからALTAシラバスをディスる資格なんてないのですが。


■ 例

分かりにくいときには、具体例で考えることです。

以下は、紳士服AOKIの「安心おまかせ8点セット」の広告です。
フレッシャーズ&就活フェア」のサイトから借用しました。

「フレッシャーズ&就活フェア」より

就活時は上記の1セットあれば十分ですが、入社後はスーツ1着というわけにもいかないでしょうから上記を2セット買ったとします。(スーツならスーツAとスーツBという感じです)

表にまとめるとこんな感じです。

「安心おまかせ8点セット」を2セット分

こちらのコーディネート(組合せ)を考えてみます。

まず、靴とバッグとTシャツとトランクスはそれぞれ1つしかないので組み合わせる検討から外して良さそうです。

次にハンカチですが、ポケットチーフとして使う人ならともかく、職場でポケットチーフをしている人を見たことが無いのでコーディネートの確認からは外したいと思います。(組み合わせテストの実務で言えば優先度の低い因子を外す感じです。外しすぎないことが大切です)

1水準しかない因子と、組合せ不要な因子を削除

上記表の全組合せは、「スーツ(2)×Yシャツ(6)×ネクタイ(6)×ベルト(2)×靴下(2)=2×6×6×2×2=288通り」となります。

こちらをGIHOZに入力してっと、、、。

おっと。エラーだ。

Input Error: Order cannot be larger than number of parameters

「入力エラー: 順序はパラメータ数より大きくできません」

よくわからないので、別の方法で作りました。

ペアワイズテスト

表をみると36項目あり、これは6水準の因子が2つあって、最少でも36個の組合せが発生するからです。


≡ JSTQB ALTA試験対策

いつものことですが、まずは、「学習の目的」を確認します。

TA-3.2.6 (K4)ペアワイズテストを適用して、特定の仕様アイテムを分析しテストケースを設計する。

ALTAシラバス29ページ

「K4」なので「理解」して「適用」できるだけではなく「分析」まで求められる重要な項目ということです。試験問題には、ペアワイズテストをつくることができるかどうか、あるいは、抜けている組合せを見つけるような問題が出ると思います。

《問題》
 ペアワイズテストは「2因子間の組合せを網羅する技法」です。色(赤、青、黄)、形(丸、四角、三角)、素材(木製、アクリル、金属)、大きさ(小、中、大)の4つの因子があったとき、ペアワイズテスト(ペア網羅100%)で作られる組合せの最少数はいくつですか。

1. 3
2. 9
3. 54
4. 81

答えは次回に書きます。



≡  おわりに

今回は、「ペアワイズテストの定義」がテーマでした。

実践上の注意点は山ほどあるのですが、今回は定義ということで、さらっと終えます。

次回は、「3.2.6 ペアワイズテスト」の中編として、「ペアワイズテストの適用、制限/注意事項」について書きます。


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