第281回: 「ALTAのテキストをつくろう」36 (クラシフィケーションツリー技法/中編)
◀前の記事へ 次の記事へ▶︎
≡ はじめに
前回は、「3. テスト技法」の「3.2 ブラックボックステスト技法」の「3.2.5 クラシフィケーションツリー技法」の前編として、「クラシフィケーションツリー技法の定義」について書きました。
前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「3.2.5 クラシフィケーションツリー技法」の中編として、「クラシフィケーションツリー技法の適用、制限/注意事項」について書きます。
≡ 前回の復習
以下は前回出題したJSTQB ALTAの模擬試験問題を𝕏にポストした結果です。
投票の結果、4の「「令和」と「6」はどちらもクラス」が55%と最も多く、正解も、4です。
投票数が20票と若干少なめなのは、5月5日はゴールデンウィークの真っ最中だったからでしょうか。
まずは、クラシフィケーションツリーを作ってみます。
下の格子部分はとりあえず無視してください。(今回のnoteの後半に出てきます)
「令和」と「6」は、選択する値ですから、どちらも「クラス」です。
クラスが分かったところで、クラシフィケーションは何かといえば「年号」と「年」です。
なお、「入力日」は「トップノード」または単に「Root」と呼びます。
前回も書きましたが、クラスの下にクラスやクラシフィケーションが来ても良いです。
しかしながら、まずは、最下段がクラスで、その上の木構造による分類がクラシフィケーションという構造にすることをおすすめします。
そして、慣れてきたら、これはクラスなんじゃないか?と厳密に作っていけばよいと思います。
クラシフィケーションツリーの表記方法はいろいろあるのですが、ISO/IEC/IEEE 29119 Part.4のクラシフィケーションツリーのスタイルは、クラシフィケーションを四角の枠で囲って、クラスは囲わない、ノード間は直線でつなぐ(カギ線ではない)ものでした。
文だと分かりにくいと思うので、その形式で描きなおしたものを張っておきます。
ご参考に、GIHOZで同じものを作ってみました。
たったこれだけで、画面いっぱいになってしまいました。
復習は以上とし、今回のnoteのテーマである「クラシフィケーションツリー技法の適用、制限/注意事項」に移ります。
≡ クラシフィケーションツリー技法の適用、制限/注意事項
■ クラシフィケーションツリー技法の適用
以下は、JSTQBのALTAシラバスの「クラシフィケーションツリー技法の適用」の全文です。
大事なところは、太字の「パラメーター(クラシフィケーション)と同値パーティション(クラス)を識別できる」のところです。そして、これは、前回やっつけてしまいました。
このnoteの読者ならもうクラシフィケーションとクラスを間違えることは無くなっているはずです。
前回以下の文を書きました。
つまり、「クラシフィケーションツリー技法 = 同値分割法」です。それを証拠に、クラシフィケーションツリーを同値図に書きなおしてみます。(同じものなら描きなおせるはずです)
お題は同じもので左右に置きますね。
これ(ツリーとベン図は表現が異なるだけ)という性質はクラシフィケーションツリーの階層が増えても成り立ちます。(部分集合になるだけですから)
■ クラシフィケーションツリー技法の制限/注意事項
以下は、JSTQBのALTAシラバスの「クラシフィケーションツリー技法の制限/注意事項」の全文です。
大事なところは、太字の「クラシフィケーションツリー技法では、完全なテストケースは作られず、テストデータの組み合わせのみが作られる」のところです。
GIHOZで「テストケースを生成」ボタンを押しても、生成されるのは以下のようにテストデータの組み合わせのみです。
以前のnoteでテストケースの話を書いたときの図を再掲します。
特に、期待結果が生成されないことに注意が必要です。テストオラクル(期待結果をつくるための情報やツール)が必要です。
■ 格子部分はクラスの組合せ
クラシフィケーションツリーの下にある格子部分はテストデータ(同値クラス)の組合せ情報を示しています。もう一度同じ図に登場してもらいます。
縦軸がクラスに、横軸がテストケースになっています。格子部分にテストケース1~4の値の組合せ情報が載っています。つまり、テストケース1では、年号に「昭和」を選択し、年に「6」を入力するという意味となります。
網羅性については、次回のテーマとなりますが、パッと見ても、「令和×6」の組合せが無いなということが見て取れると思います。
≡ JSTQB ALTA試験対策
いつものことですが、まずは、「学習の目的」を確認します。
「3.2 ブラックボックステスト技法」の他の技法は全て「K4」です。ところが、「3.2.5 クラシフィケーションツリー技法」は「K2」です。
K2ということは「理解」したらOKです。
言い換えれば「K3:適用」や「 K4:分析」は求められていません。試験問題には、「クラシフィケーションツリー技法ってどんな技法なの?」という問いが出ることでしょう。クラシフィケーションツリーそのものを作る問題はでないと思います。
答えは次回に書きます。
≡ おわりに
今回は、「クラシフィケーションツリー技法の適用、制限/注意事項」がテーマでした。
クラシフィケーションツリー技法は、テスト時の組み合わせの意図を伝える図として優秀です。
ソフトウェアの開発者でないエンドユーザーであってもすぐに理解できますので、エンドユーザーが、抜けているクラスの指摘や網羅してほしい組合せを指摘してくださる効果を期待できます。
次回は、「3.2.5 クラシフィケーションツリー技法」の後編として、「カバレッジ、検出できる欠陥の種類」について書きます。
この記事が気に入ったらサポートをしてみませんか?