Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クラシフィケーションツリー技法 / ClassificationTreeTechnique2025
Search
nihonbuson
PRO
December 21, 2025
Technology
1
7
クラシフィケーションツリー技法 / ClassificationTreeTechnique2025
WACATE 2025 冬の投影資料です。
nihonbuson
PRO
December 21, 2025
Tweet
Share
More Decks by nihonbuson
See All by nihonbuson
状態遷移テスト / StateTransitionTesting2025
nihonbuson
PRO
1
11
Ques25
nihonbuson
PRO
1
200
ホリスティックテスティングの右側も大切にする 〜2つの[はか]る〜 / Holistic Testing: Right Side Matters
nihonbuson
PRO
0
1.6k
テストを実施する前に考えるべきテストの話 / Thinking About Testing Before You Test
nihonbuson
PRO
18
3.4k
テストコードにはテストの意図を込めよう(2025年版) #retechtalk / Put the intent of the test 2025
nihonbuson
PRO
17
3.4k
ソフトウェアテスト 最初の一歩 〜テスト設計技法をワークで体験しながら学ぶ〜 #JaSSTTokyo / SoftwareTestingFirstStep
nihonbuson
PRO
6
990
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB #JaSST #JaSSTTokyo / Readable test code
nihonbuson
PRO
14
16k
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
PRO
2
10k
シフトライトなテスト活動を適切に行うことで、無理な開発をせず、過剰にテストせず、顧客をビックリさせないプロダクトを作り上げているお話 #RSGT2025 / Shift Right
nihonbuson
PRO
3
4k
Other Decks in Technology
See All in Technology
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
910
ActiveJobUpdates
igaiga
1
140
IAMユーザーゼロの運用は果たして可能なのか
yama3133
2
490
シニアソフトウェアエンジニアになるためには
kworkdev
PRO
3
180
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
170
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
sagara
0
180
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
1
170
Jakarta Agentic AI Specification - Status and Future
reza_rahman
0
110
チーリンについて
hirotomotaguchi
6
2.1k
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
4
220
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
210
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
79
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
300
What's in a price? How to price your products and services
michaelherold
246
13k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
63
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The browser strikes back
jonoalderson
0
53
Transcript
クラシフィケーション ツリー技法 ブロッコリー
自己紹介 • 風間裕也(ブロッコリー) • 株式会社10X 品質管理チーム • 副業…B-Testing(個人事業主)として ◦ 株式会社MonotaRO(テストコンサルタント)
他数社でお手伝い • 社外活動 ◦ WACATE実行委員長 ◦ JaSST Review実行委員長 ◦ Developers Summitコンテンツ委員 ◦ SReEE(ソフトウェアレビューを エンジニアリングっぽく捉える会)リーダー SNS上の アイコン
クラシフィケーション ツリー技法
クラシフィケーションツリー技法とは何か クラシフィケーションツリー技法 ブラックボックステスト技法のひとつ。クラシフィケー ションツリーを使用してテストケースを設計する。 クラシフィケーションツリー技法 - ISTQB Glossary クラシフィケーションツリー テスト対象のテストデータ領域を表す
ツリーダイアグラム。 クラシフィケーションツリー - ISTQB Glossary
クラシフィケーションツリーの完成イメージ コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル
用語の説明 コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル クラシフィケーション
用語の説明 コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル クラス
クラシフィケーション ツリーの作り方
説明に使うお題 とあるコーヒーショップでは、ブラックコーヒー(¥500) もしくはカフェラテ(¥650)のカスタマイズができます。 • ホイップクリーム追加(+¥70) • チョコチップ追加(+¥50、ダブルの場合は+¥80) 2種類両方のカスタマイズを追加することも可能です。 カフェラテの場合、以下のカスタマイズもできます •
ミルクの種類…通常orアーモンドミルク(+¥40) この時、コーヒーの価格に関するテストをしたい
1.確認したいことを一番上に書く コーヒーの価格 一番上に書くクラシフィケーションのことをルートと呼ぶ
2.テストに使う条件を書く コーヒーの価格 コーヒーの種類 トッピング 「ミルクの種類」は、コーヒーの種類が 前提条件となるので、この段階では書かない 「トッピングの内容」も、トッピングがある場合が 前提条件となるので、この段階では書かない
3.テストに使う条件に対応する要素を書く コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ トッピング なし あり ルートを除いて、
クラシフィケーション(テストに使う条件)は、 必ずクラス(要素)を持つ
4.手順2と3を繰り返して完成させる コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり
4.手順2と3を繰り返して完成させる コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ
4.手順2と3を繰り返して完成させる コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル
最下層のクラス(要素)がテストで使う値 コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル
ワーク
ワーク 非公開
クラシフィケーション ツリーの テストケースの作り方
1.最下層のクラス下に直線を引く コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル
2.取りうる組み合わせに点を打って表現する コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1
2.取りうる組み合わせに点を打って表現する コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 1つのテストケースで 同じ線は一度しか通らない
2.取りうる組み合わせに点を打って表現する コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 1つ上に戻す 2
2.取りうる組み合わせに点を打って表現する コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 今までと別の線に進む 2
2.取りうる組み合わせに点を打って表現する コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2
2.取りうる組み合わせに点を打って表現する コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 1つ上に戻す
2.取りうる組み合わせに点を打って表現する コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 今までと別の線に進む 複数選択も別の線と捉える
2.取りうる組み合わせに点を打って表現する コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク
トッピング なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6 1つ上に戻す
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6 今までと別の線に進む
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6 1つ上に戻す
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6 他の線が見当たらないので さらに1つ上に戻す
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6 今までと別の線に進む
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6 1つ上に戻す
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6 今までと別の線に進む
コーヒーの価格 コーヒーの種類 ブラックコー ヒー カフェラテ ミルクの種類 通常 アーモンド ミルク トッピング
なし あり トッピング内容 ※1つ以上選択 ホイップ クリーム チョコチップ チョコチップ量 シングル ダブル 1 2 3 2.取りうる組み合わせに点を打って表現する 4 5 6
ブラックコー ヒー 通常 アーモンド ミルク なし ホイップ クリーム シングル ダブル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ミルクの種類 チョコチップ量 トッピング内容 ※1つ以上選択 2.取りうる組み合わせに点を打って表現する 同様の組み合わせを 繰り返して点を打つ
ワーク
ワーク 非公開
網羅基準によって テストを剪定する
• Each Choice ◦ 値を最低1回は使っている • Pair-Wise(二因子間網羅) ◦ 2種類の値の組み合わせを最低1回は使っている •
t-Wise ◦ t種類の値の組み合わせを最低1回は使っている • All Combinations(全組み合わせ) ◦ 全ての値の組み合わせを最低1回は使っている 主な網羅基準 少 多 ケース数 (網羅率) 紹介のみ
• Each Choice ◦ 値を最低1回は使っている • Pair-Wise(二因子間網羅) ◦ 2種類の値の組み合わせを最低1回は使っている •
t-Wise ◦ t種類の値の組み合わせを最低1回は使っている • All Combinations(全組み合わせ) ◦ 全ての値の組み合わせを最低1回は使っている 主な網羅基準
ブラックコー ヒー 通常 アーモンド ミルク なし ホイップ クリーム シングル ダブル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ミルクの種類 チョコチップ量 トッピング内容 ※1つ以上選択 全3ケース
• Each Choice ◦ 値を最低1回は使っている • Pair-Wise(二因子間網羅) ◦ 2種類の値の組み合わせを最低1回は使っている •
t-Wise ◦ t種類の値の組み合わせを最低1回は使っている • All Combinations(全組み合わせ) ◦ 全ての値の組み合わせを最低1回は使っている 主な網羅基準
ブラックコー ヒー 通常 アーモンド ミルク なし ホイップ クリーム シングル ダブル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ミルクの種類 チョコチップ量 トッピング内容 ※1つ以上選択 全10ケース
• Each Choice ◦ 値を最低1回は使っている • Pair-Wise(二因子間網羅) ◦ 2種類の値の組み合わせを最低1回は使っている •
t-Wise ◦ t種類の値の組み合わせを最低1回は使っている • All Combinations(全組み合わせ) ◦ 全ての値の組み合わせを最低1回は使っている 主な網羅基準
ブラックコー ヒー 通常 アーモンド ミルク なし ホイップ クリーム シングル ダブル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ミルクの種類 チョコチップ量 トッピング内容 ※1つ以上選択 全18ケース
網羅基準の応用 重要だと考えたテストケースを厚めに行う調整ができる。 例えば、 • アーモンドミルクのカスタマイズは All Combinations(全組み合わせ)で確認する • ブラックコーヒーや通常のミルクのカスタマイズは Each
Choiceで確認する としてテストケース数を調整できる。 調整する機会の例…アーモンドミルクを新発売した場合
ブラックコー ヒー 通常 アーモンド ミルク なし ホイップ クリーム シングル ダブル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ミルクの種類 チョコチップ量 トッピング内容 ※1つ以上選択
クラシフィケーション の注意点
以下をクラシフィケーションで解くと…? とあるコーヒーショップでは、 コーヒーが¥500で売られています。 本日2回目以降のコーヒー購入で、かつ 一緒にクロワッサンを購入すると、 会員の場合は、コーヒーが¥50引きになります。 この時、コーヒーの価格に関するテストをしたい
クラシフィケーションで解いてみる コーヒーの価格 購入回数 1回目 クロワッサン購入 あり 2回目以降 なし 会員? 会員
非会員
クラシフィケーションで解いてみる コーヒーの価格 購入 回数 1回目 クロワッサン 購入 あり 2回目 以降
なし 会員? 会員 非会員 1 2 3 4 5 6 7 8
Pair-Wiseでテストを剪定してみる コーヒーの価格 購入 回数 1回目 クロワッサン 購入 あり 2回目 以降
なし 会員? 会員 非会員 1 2 3 4 5 6 7 8
期待結果を見ると… コーヒーの価格 購入 回数 1回目 クロワッサン 購入 あり 2回目 以降
なし 会員? 会員 非会員 ¥500 ¥500 ¥500 ¥500 ¥450 ¥500 ¥500 ¥500 1 2 3 4 5 6 7 8
条件の掛け合わせによって変わっている 購入回数 × セット購入 × 会員かどうかの 組み合わせによってコーヒーの価格が変わる。 → 条件の掛け合わせによって出力が変わるものを 有則という。 有則な関係に対してテストする場合には、
デシジョンテーブルテストなどが効果的 (組み合わせテストで行うべきではない)
今までのお題は各条件間に影響がない コーヒーの種類、ミルクの種類、トッピングの それぞれの条件が他の条件に影響しない → 条件の掛け合わせをしても何の影響もないものを 無則という。 無則な関係に対してテストする場合には、 クラシフィケーションツリー技法などの 組み合わせテストなどが効果的 (デシジョンテーブルテストで表現しても良い)
有則、無則と各技法の適性 デシジョンテーブル テスト 組み合わせ テスト 有則な関係 ⚪ ✖ 無則な関係 △
⚪
有則、無則と各技法の適性 デシジョンテーブル テスト 組み合わせ テスト 有則な関係 ⚪ ✖ 無則な関係 △
⚪ クラシフィケーションツリー技法 直交表、PICT(ツール)など…
まとめ
まとめ • クラシフィケーションとクラスを連ねていくことで クラシフィケーションツリーを作成する • 取りうる組み合わせに点を打つことで テストケースを表現する • 網羅基準を用いることでテストを剪定する •
有則・無則を意識し、 クラシフィケーションツリー技法を含む 組み合わせテスト技法と デシジョンテーブルテストを使い分ける