GIHOZを使ってみた - クラシフィケーションツリー編
クラシフィケーションツリーについて
クラシフィケーションツリー、私はノータッチです
名前だけ知ってます
名前だけ知ってる、全く知らないという人が多めだった
クラシフィケーションツリー法とは
入力パラメータや出力パラメータをツリー形式で分類・整理し組み合わせを定義する技法
ツリー形式で複数階層作成可能で、パラメータを段階的に分類できる
整理したパラメータに対してペアワイズなどのテスト技法を適用可能
https://scrapbox.io/files/61f2721e3b298c00237bf38e.png
各用語
https://scrapbox.io/files/61f2726b84f76a001f0f0812.png
テストケースの形式は様々あるが、GIHOZでは表形式で表示してくれるらしい(GIHOZでは)
テスト技法ポジショニングマップでは、同値分割とか境界値分析周りと似たようなポジショニングではないか
ISTQB Advanced Levelシラバスだと「クラシフィケーションツリーはペアワイズテストと組み合わせて使用される事が多い」と書かれているとか
デシジョンテーブルとクラシフィケーションツリーはどう違うのか?
特定の条件の組み合わせで動作が変わるような関係性を整理する場合はデシジョンテーブルがおすすめ
Y/Nの組み合わせに応じて、ある結果がをXとして指定できる
条件やパラメタを洗い出して整理し、特定の網羅条件で組み合わせを自動生成する際はクラシフィケーションツリーがおすすめ
階層構造で整理して親子関係や兄弟関係をチェックする -> 抜け漏れに気づきやすい
メリットとデメリット
メリット
入力/出力パラメータをツリー形式で直感的に整理できる
入力/出力パラメータが使用で明確に整理されていない点についても洗い出しやすい
組み合わせテスト技法と組み合わせると、パラメタの生理とテストケースの生成が一気通貫で可能
デメリット
クラシフィケーションやクラスが増えると図がでかくなって俯瞰性が落ちる
これは適切にツリーを分割することで対処可能
GIHOZを使ったハンズオン
「クラシフィケーション・クラスを出して整理する」という言い方、「因子・水準を洗い出す」という言い方に近い
なるほどね
これを例にやってみよう
https://scrapbox.io/files/61f27587a7e9d40022ff5940.png
クラシフィケーションを考える
クーポン持参の有無
平日かそれ以外
シニア(65歳以上)かどうか
土日祝かそれ以外
ジュニア(15歳以下)かどうか
クラシフィケーションを考えてみると以下のになりそう
クーポン
年齢
曜日
GIHOZでクラシフィケーションツリーを作ってみる
https://scrapbox.io/files/61f277a275fbf2001d1d7903.png
テストカバレッジアイテムの作り方
手動でつくる
https://scrapbox.io/files/61f2783acb573f001edb44e2.png
交点のところにホバーすると薄い黒丸がでてくるので、これを人力で打っていく
クラシフィケーション以下のクラスはどれか1個にしか打たれない点は注意(クーポンを持参・なしの状態は同時にはありえない)
自動でつくる
https://scrapbox.io/files/61f278ed390f00001d45c251.png
組み合わせ方法を選べる
https://scrapbox.io/files/61f27904ed33f3001d18e5ff.png
GIHOZだと全組み合わせ(maximize)は最大128組み合わせまでらしい
テストケースを作る
https://scrapbox.io/files/61f279a6e59a41001dc12268.png
表形式で出してくれる
https://scrapbox.io/files/61f27a1c6162cb001dab1c68.png
csvでもDLできるぞ
感想
クラシフィケーションツリー、階層だてて整理できるの便利ですね
テストカバレッジアイテム、慣れてないせいかめっちゃ見にくいなってなっちゃった
組み合わせ作るのが結構めんどくさそうなので、GIHOZに頼るのはありっすね