GIHOZの使い方:クラシフィケーションツリー法の使い方

日頃からテスト技法ツールGIHOZをご利用いただき誠にありがとうございます。

 

クラシフィケーションツリー法とは入力パラメータや出力パラメータをツリー形式で段階的に分類・整理し、組み合わせを定義する技法です。

クラシフィケーションツリー法を使うことで入力パラメータや出力パラメータを直感的に整理でき、仕様が明確に整理されていなくてもツリー形式で洗い出すことができます。洗いだしたパラメータにペアワイズテストなどの組み合わせテスト技法を適用することもできます。GIHOZのクラシフィケーションツリー法には組み合わせを自動生成する機能があるため、スムーズにテストケースを作成することができます。

この記事ではGIHOZのクラシフィケーションツリー法の使い方をご紹介します。なお、今回の記事で紹介しているテストケースは、以下のリンクからご確認いただけます。

 

gihoz.com

 

クラシフィケーションツリーの作り方


クラシフィケーションツリー法では以下の画像のように樹形図を作成し、樹形図で洗い出した項目を組み合わせてテストケースを作成します。

 

f:id:gihoz:20220119130823p:plain

 

例えば以下の仕様をGIHOZのクラシフィケーションツリー法を用いて整理していきましょう。この仕様は https://gihyo.jp/dev/serial/01/test_up/0005を引用しています。

健康ランドの精算システムにおける「割引サービス」に関する仕様

[既存の仕様]

  • クーポン持参:10%OFF
  • 平日割引:30%OFF
  • 平日シニア割引(65歳以上):50%OFF
  • 2つ以上の割引サービスが重なった場合は,割引率が高い方が優先される

[新たに追加される仕様]

  • 土日祝ジュニア割引(15歳以下):20%OFF

既存の仕様との整合性も考慮しつつ、追加の仕様に関するテストをしたい

 

まずは仕様から読み取れるクラシフィケーション(分類)とクラス(分類に属する要素)を識別していきます。

  • 「クーポン持参:10%OFF」という仕様から、「クーポンの有無」というクラシフィケーションがあり、そのクラスとして「有り」or「無し」がある。
  • 「平日割引:30%OFF」、「土日祝ジュニア割引(15歳以下):20%OFF」という仕様から、「曜日」というクラシフィケーションがあり、そのクラスとして「平日」or「土日祝」がある。
  • 「平日シニア割引(65歳以上):50%OFF」、「土日祝ジュニア割引(15歳以下):20%OFF」という仕様から、「年齢」というクラシフィケーションがあり、そのクラスには「15歳以下」 or 「65歳以上」or「それ以外(16歳~64歳)」がある。

上の仕様からこのようなクラシフィケーションとクラスを識別することができます。これらをGIHOZのクラシフィケーションツリーで整理してみましょう。

 

f:id:gihoz:20220119130535p:plain

 

まずはRootの項目名を変更しましょう。今回は割引サービスの設定についてのテストなので「割引サービスの設定」とつけます。
Rootの部分をダブルクリックすることで項目名の編集ができます。

 

f:id:gihoz:20220119143132p:plain

 

続けてクラシフィケーションとクラスの方も項目名を変更してしまいましょう。以下のように、「クーポンの有無」と「曜日」をクラシフィケーションの項目名とし、「有り 」or「無し」や「平日」or「土日祝」をクラスの項目名とします。

 

f:id:gihoz:20220121140031p:plain

 

先ほど識別したクラシフィケーションのうち、「年齢」を入力する場所が足りないため、追加します。「割引サービスの設定」という項目の右下にある「…」からクラシフィケーションを追加しましょう。また、追加したクラシフィケーションの「…」を選択することでさらにクラシフィケーションを増やして階層構造にしたり、クラスを追加することができます。

 

f:id:gihoz:20220126114918p:plain

 

間違えたクラシフィケーションやクラスを追加してしまって削除したい場合は、削除したい項目を選択して「Delete」キーで削除できます。

年齢は「15歳以下」「65歳以上」「それ以外(16歳~64歳)」の3パターンあるのでクラスを3つ追加して項目名を編集します。最終的には次のような形になります。

 

f:id:gihoz:20220126115059p:plain

 

これでクラシフィケーションツリーを作成できました。このように整理することで、テストで考慮が必要な要素が網羅されていることがわかりやすくなったかと思います。

 

クラシフィケーションツリーからテストケースを作る


作成したクラシフィケーションツリーからテストケースを作成していきましょう。

GIHOZでは組み合わせを自動で作成することもできますが、まずは手動で組み合わせを編集する方法をご紹介します。

 

f:id:gihoz:20220126125707p:plain

ツリーの下にあるテストカバレッジアイテムの横線と、クラスから伸びている縦線の交点部分をクリックすることで、画像のように●をつけていくことができます。この●は末端のクラシフィケーションに対するクラスの中から1つだけつけることができます。同じクラシフィケーションの中の別のクラスとの交点部分をクリックすると●の位置が移動します。

 

次に組み合わせを自動生成する方法をご紹介します。GIHOZでは「組み合わせを自動生成」ボタンを押すことで、ワンワイズ、ペアワイズ、全組み合わせの3種類の網羅条件のいずれかで、組み合わせを自動生成することができます。

 

f:id:gihoz:20220126141241p:plain

 

網羅条件は組み合わせを網羅する度合いを表しており、「ワンワイズ」はすべてのクラスが最低1回登場するように、「ペアワイズは」2つのクラシフィケーション間のクラスの組み合わせをすべて網羅するように、「全組み合わせ」はすべてのクラシフィケーション間のクラスの組み合わせを網羅するように、それぞれ組み合わせを自動で生成します。自動で生成できる組み合わせ数の上限は128となっています。

 

f:id:gihoz:20220126141401p:plain

 

網羅条件を選択して確定することで、組み合わせが自動生成され、上の画像のようにテストカバレッジアイテムの●が自動で表示されます(上の画像は「ペアワイズ」の網羅条件で自動生成したもの)。

 

手動または自動で組み合わせを生成したら「テストケースを生成」ボタンを押すことで、指定した組み合わせのテストケースを作成できます。

 

f:id:gihoz:20220126151744p:plain

期待結果は空欄になっていますので、任意で入力します。

 

f:id:gihoz:20220126151714p:plain

これでクラシフィケーションツリー法を使ってテストケースを作成することができました。作成したテストケースはCSV形式でダウンロードしたり、Excel等にコピペしてご利用ください。

 


この記事ではクラシフィケーションツリー法の使い方について解説しました

クラシフィケーションツリー法を活用すると、クラシフィケーションやクラスをツリー形式の図で直感的に整理することができます。ツリー形式で整理することで、クラシフィケーションやクラスの抜け漏れに気づきやすくなるという利点もあります。

GIHOZでクラシフィケーションツリー法を利用すれば、手間のかかるクラスの組み合わせの作成を自動化し、テストケースの作成をスムーズに実施できます。是非GIHOZのクラシフィケーションツリー法をご活用ください。

 

この記事で紹介したテストケースは以下のリンクから確認できますので、ぜひご覧ください。

 

gihoz.com

 

今後ともGIHOZをよろしくお願いいたします。

 

テスト技法ツールGIHOZ アカウント登録はこちら

テスト技法ツールGIHOZ|ソフトウェアテスト・第三者検証のベリサーブ (veriserve.co.jp)