クラシフィケーションツリー技法
クラシフィケーションツリー技法とは、ソフトウェアのテスト技法のひとつで、テスト観点を木構造の図で示すものです。
その狙いは、視覚的にわかり易くし、複数の変数の組み合わせからテスト実行可否を検討するものです。
![](https://assets.st-note.com/img/1719717875550-jAfXO05lu1.png?width=1200)
■図の名称
最上位の項目を「トップノード」と言います。
次に最上位の以下に紐づく各項目を「ノード(クラシフィケーション)」と言います。
最後に各項目の値を「クラス」と言います。
ちなみに、各項目の兄弟ノード(同レベル)、親子ノード(上下レベル)の集合を「コンポジション」と言い
![](https://assets.st-note.com/img/1719717913756-PZTycOaB1b.png?width=1200)
ます。
■木構造の区分け
木構造で理解するためには、ある観点で区分けする必要があります。
その区分けを正しくおこなうために「区分の原則」を意識して区分けを行います。
ちなみに、区分の原則はテスト技法中の概念ではなく、区分という概念の中にある原則です。
1.一貫性の原則
区分けする切り口をそろえることです。「抽象度を揃える」と表現する人もいます。
2.一致の原則
子ノードは、親ノードの全て網羅するという原則です。
3.相互排除の原則
ダブらないようにするという原則です。排他的と表現する人もいます。
4.斬新姓の原則
親ノードから子ノードへは、飛躍せず順序通りドリルダウンしなさいという原則です。
■組み合わせの考え方
クラシフィケーションツリーができたら、組み合わせを検討します。
組み合わせを検討するとは、例えば各項目について、すべての項目をテストするのか、一部をテストするのかを検討することです。
全てをテストすることを「ペアワイズ」、一部をテストすることを「シングルワイズ」と言います。
![](https://assets.st-note.com/img/1719717934696-HZJzGi4m5u.png?width=1200)
![](https://assets.st-note.com/img/1719717934704-sevVI4w8Ux.png?width=1200)
![](https://assets.st-note.com/img/1719717934740-U8Pjd4bsq7.png?width=1200)
■クラシフィケーションツリーの注意点
テスト観点が多くなると現実的に使えなくなります。
木構造が大きくなりすぎて使い勝手が良くないからです。