見出し画像

第282回: 「ALTAのテキストをつくろう」37 (クラシフィケーションツリー技法/後編)

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


≡ はじめに

前回は、「3. テスト技法」の「3.2 ブラックボックステスト技法」の「3.2.5 クラシフィケーションツリー技法」の中編として、「クラシフィケーションツリー技法の適用、制限/注意事項」について書きました。

前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「3.2.5 クラシフィケーションツリー技法」の後編として、「クラシフィケーションツリー技法のカバレッジ、検出できる欠陥の種類」について書きます。



≡ 前回の復習

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


𝕏によるアンケート結果
𝕏の問題文続き

投票の結果、3の「100%と50%」が81.8%と最も多く、正解も3です。
正答率は高いものの投票数が11票と少ないので、あまり興味が無いか「Each-choiceやAll-pairsって何?」という人が多かったのかもしれません。

Each-choiceは、すべての水準(値)を一度はテストするというもので、All-pairsは、2つの因子(パラメータ)間の全水準組合せをテストするものです。

今回の問題で確認します。クラシフィケーションツリーで、年号{昭和、平成、令和、西暦}と年{6、6以外}の6つのクラスを識別しました。

Each-choiceは、「昭和、平成、令和、西暦、6、6以外」という水準(値・クラス)の全てがテストされるという網羅方法(カバレッジアイテムともいう)です。
今回の問題のクラシフィケーションツリーの下にある格子状の組合せテーブルの各縦線を見ると、そのどこかに●が打たれていることが確認できますから、Each-choiceの網羅率は100%です。

All-pairsは、「昭和×6」(●)、「昭和×6以外」、「平成×6」(●)、「平成×6以外」、「令和×6」、「令和×6以外」(●)、「西暦×6」、「西暦×6以外」(●)、の8通りの組合せですが、上記のクラシフィケーションツリーの下の組合せテーブルには8通りのうち4通り(●を付けた組合せ)しかテストされていません。
ここから、All-pairsという網羅方法の網羅率は50%です。よって、3が正解となります。

復習は以上とし、今回のnoteのテーマである「クラシフィケーションツリー技法のカバレッジ、検出できる欠陥の種類」に移ります。



≡ クラシフィケーションツリー技法のカバレッジ、検出できる欠陥の種類


■ クラシフィケーションツリー技法のカバレッジ

以下は、JSTQBのALTAシラバスの「クラシフィケーションツリー技法のカバレッジ」の全文です。

例えば、最小のクラスカバレッジを達成するようにテストケースを設計する場合がある(つまり、クラシフィケーション内のすべての値を少なくとも1回以上テストする)。テストアナリストは、ペアワイズの組み合わせをカバーするか、または3ワイズのような他の種類の組み合わせテストを使うことを決める場合もある

ALTAシラバスより

上記の「クラシフィケーション内のすべての値を少なくとも1回以上テストする」は前回の問題で言う、Each-choiceのことです。「ペアワイズの組み合わせ」は、All-pairsです。
ちなみに「3ワイズ」は、All-triplesと言ったりしますが、もちろん3-wiseでOKです。

辰巳さんの「組み合わせテストの設計」の11ページ(下記)がわかりやすくまとまっています。

辰巳さんの「組み合わせテストの設計」11ページ


上記スライドの引用元の『Introduction to Software Testing』は、私が持っている数少ない洋書の一冊です。
初心者向きで、お気に入りの一冊です。英語の勉強を兼ねて読書会を開くと良いかもしれません。


■ クラシフィケーションツリー技法の検出できる欠陥の種類

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

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

つまり、見つかる欠陥は、テスト条件とカバレッジアイテム次第ということです。
クラシフィケーションツリーを使ったから(特に)見つかる種類といったような限定した用途ではないという意味です。

クラシフィケーションツリー技法は、テストアイテムを見つけたり、その組合せをどこまで網羅するかを分かりやすく表現する方法の一つと考えると良いと思います。分かりやすく表現できれば、それを同僚とピアレビューしたり、お客様に確認したりできます。



≡ JSTQB ALTA試験対策

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

「3.2 ブラックボックステスト技法」の他の技法は全て「K4」です。ところが、「3.2.5 クラシフィケーションツリー技法」は「K2」です。
K2ということは「理解」したらOKです。
言い換えれば「K3:適用」や「 K4:分析」は求められていません。試験問題には、「クラシフィケーションツリー技法ってどんな技法なの?」という問いが出ることでしょう。クラシフィケーションツリーそのものを作る問題はでないと思います。

《問題》
 クラシフィケーションツリー技法の検出できる欠陥の種類について、最も適切な説明はどれですか?

1. クラシフィケーションツリーがサポートする技法によって異なる
2. 組み合わせたときに発生する欠陥
3. 遷移できない状態
4. 欠陥の検出を目的としていない

答えは次回に書きます。



≡  おわりに

今回は、「クラシフィケーションツリー技法のカバレッジ、検出できる欠陥の種類」がテーマでした。

クラシフィケーションツリー技法について、詳しく知りたい方は、JaSST 2024 Tohokuに行くといいです。2024/5/31なので、それを過ぎたらJaSSTサイトでテキストが公開されるかもしれません。

と、ここまで技法の説明をしてきてなんですが、クラシフィケーションツリー技法よりも、MECEを実現する「区分の原則」(一貫性、相互排除、一致、漸進の4つ)をマスターしてマインドマップを上手につくれるようになることの方が重要です。一生もののテクニック(といっても、マインドマップをつくったらこの4つの区分の原理に則っているかをチェックするだけ)です。

区分の原則(第133回: CFD法 その5(同値図 演習解説)より )

次回は、「3.2.6 ペアワイズテスト」の前編として、「ペアワイズテストの定義」について書きます。


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