第280回: 「ALTAのテキストをつくろう」35 (クラシフィケーションツリー技法/前編)
◀前の記事へ 次の記事へ▶︎
≡ はじめに
前回は、「3. テスト技法」の「3.2 ブラックボックステスト技法」の「3.2.4 状態遷移テスト」の後編として、「状態遷移テストのカバレッジ、検出できる欠陥の種類」について書きました。
前回の復習は以下で模擬試験問題の確認を通して行います。
今回はJSTQBのALTAシラバスの「3.2.5 クラシフィケーションツリー技法」の前編として、「クラシフィケーションツリー技法の定義」について書きます。
クラシフィケーションツリー技法の考え方は非常に重要ですし、カバレッジの勉強になるので、良い技法です。しかしながら、とてもスペースを取るため実務で使うことはないと思います。
クラシフィケーションツリー技法は、テスト分析でつくることが多いマインドマップやNGTをいい感じに作るために身につけておくと良い技法です。
≡ 前回の復習
以下は前回出題したJSTQB ALTAの模擬試験問題を𝕏にポストした結果です。
投票の結果、2の「「A→A→A」と「A→A→B」」が42.9%と最も多く、正解も、2です。
その後、派生問題を出し、そちらは100%正解でした。素晴らしいです。もう、Nスイッチテストは完璧になったと思います。
いちおう、前回のキャッチイメージを再掲しておきます。
この図だと、0スイッチテストで「初期状態B」をテストしそうにみえちゃうかなあ。
でも、「状態遷移テスト」というくらいで、「遷移」を確認するテストですから大丈夫ですよね。派生問題で3を選んだ人がいないからいいか。
前回の復習としては以下の表をざっと再読してもらうことも有効と思います。特に、黄色くしたところは実務に適用する時に、とても大切です。
復習は以上とし、今回のnoteのテーマである「クラシフィケーションツリー技法の定義」に移ります。
≡ クラシフィケーションツリー技法の定義
以下は、ソフトウェアテストの国際標準であるISO/IEC/IEEE 29119-4の目次です。
Part 4:は、“Test Techniques”、すなわちテスト技法の標準です。
訳すと、
といったところでしょうか。テスト技法名が並んでいるだけなので、訳すも何もないのですが。
ここで、注目していただきたいのは以下の個所です。
太字にした「クラシフィケーションツリー技法」がこれから前・中・後編と3回のテーマですが、注目してほしいのは、「クラシフィケーションツリー技法は、同値分割法と境界値分析に挟まれている」という点です。
つまり、「クラシフィケーションツリー技法は、同値分割法の拡張版」と思ってもらうほうが良いです。ALTAのシラバスでは、だいぶ後に出てきていますが……。
さて、JSTQBのALTAシラバスの「クラシフィケーションツリー技法の定義」ですが、「[Bath14]および[Black09]を参照されたい」と書いてあります。要はシラバスには詳しい話が書いてありません。
ということで、シラバスを離れて『ソフトウェアテスト技法ドリル【第2版】』を使いながらクラシフィケーションツリー技法について説明します。
まずは、実物から。「クラシフィケーションツリー」とは以下のような図のことです。
ログイン機能に影響するパラメータとして、「ユーザー名」、「パスワード」、「端末」の3つを挙げています。
「端末」が「ユーザー名」と「パスワード」と同列にあるのは気持ちが悪いなあと思ったら下図のようにしてもかまいません。
最上位のノード(ここでは「ログイン」)のことを「トップノード(Root)」と呼びます。新たに追加した「ソフトウェア入力」を含め、「ユーザー名」、「パスワード」、「端末」のノードのことを「クラシフィケーション(Classification)」と呼びます。
さて、残るは末端のノードです。「ユーザー名」の下にある「正しいユーザー名」、「誤ったユーザー名」などのことは「クラス(Class)」と呼びます。クラスは、同値分割法の「同値パーティション」(昔は「同値クラス」と呼んでいました)と同じです。
さて、ここまでで、クラシフィケーションツリー上にあるツリー部分の説明をしました。
下の格子部分ではどのようにそれぞれのクラスを使ったテストケースを定義しているのですが、それは次回の「適用」のところでご説明します。
≡ JSTQB ALTA試験対策
いつものことですが、まずは、「学習の目的」を確認します。
「3.2 ブラックボックステスト技法」の他の技法は全て「K4」です。ところが、「3.2.5 クラシフィケーションツリー技法」は「K2」です。
K2ということは「理解」したらOKです。
言い換えれば「K3:適用」や「 K4:分析」は求められていません。試験問題には、「クラシフィケーションツリー技法ってどんな技法なの?」という問いが出ることでしょう。クラシフィケーションツリーそのものを作る問題はでないと思います。
答えは次回に書きます。
≡ おわりに
今回は、「クラシフィケーションツリー技法の定義」がテーマでした。
クラシフィケーションを因子、クラスを水準と説明することがあります。私は分かりやすいのですが、今度は因子と水準の説明が必要となりますので同じことです。😅
次回は、「3.2.5 クラシフィケーションツリー技法」の中編として、「適用、制限/注意事項」について書きます。ツリーの下にある格子の使い方についても書く予定です。
この記事が気に入ったらサポートをしてみませんか?