Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
体験しながら作るクラシフィケーション ツリーテスト
Search
nihonbuson
PRO
December 21, 2025
Technology
470
1
Share
体験しながら作るクラシフィケーション ツリーテスト
WACATE 2025 冬及びJaSST Tokyoでの投影資料です。
nihonbuson
PRO
December 21, 2025
More Decks by nihonbuson
See All by nihonbuson
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜
nihonbuson
PRO
0
16
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
3
910
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
3
650
意外と知らない状態遷移テストの世界
nihonbuson
PRO
3
2.1k
「品質のつくりこみ」と「リリース後に行うとよいテスト活動」を体験する
nihonbuson
PRO
1
330
ホリスティックテスティングの右側も大切にする 〜2つの[はか]る〜 / Holistic Testing: Right Side Matters
nihonbuson
PRO
0
1.8k
テストを実施する前に考えるべきテストの話 / Thinking About Testing Before You Test
nihonbuson
PRO
18
3.8k
テストコードにはテストの意図を込めよう(2025年版) #retechtalk / Put the intent of the test 2025
nihonbuson
PRO
20
3.7k
ソフトウェアテスト 最初の一歩 〜テスト設計技法をワークで体験しながら学ぶ〜 #WACATE #JaSSTTokyo / SoftwareTestingFirstStep
nihonbuson
PRO
9
1.7k
Other Decks in Technology
See All in Technology
20260513_生成AIを専属DSに_AI分析結果の検品テクニック_ハンズオン_交通事故データ
doradora09
PRO
0
210
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
410
EMから幅を広げるために最近挑戦していること / Recent challenges I'm undertaking to expand my horizons beyond EM
hiro_torii
1
180
Oracle Cloud Infrastructure:2026年4月度サービス・アップデート
oracle4engineer
PRO
0
370
Digital Independence: Why, When and How
wannesrams
0
300
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
3
120
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
1
3.6k
OWASP APTSを眺めてみた
su3158
0
130
SLI/SLO、「完全に理解した」から「チョットデキル」へ
maruloop
1
130
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
11k
The 7 pitfalls of AI
ufried
0
200
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.5k
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Become a Pro
speakerdeck
PRO
31
5.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Test your architecture with Archunit
thirion
1
2.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
240
Code Review Best Practice
trishagee
74
20k
Building Adaptive Systems
keathley
44
3k
Thoughts on Productivity
jonyablonski
76
5.1k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
410
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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
無則と有則
無則:各条件間に影響がない コーヒーの種類、ミルクの種類、トッピングの それぞれの条件が他の条件に影響しない → 条件の掛け合わせをしても何の影響もないものを 無則という。 無則な関係に対して削減したい場合には、 Pair-wiseや直交表を用いる (簡単化などを用いて削減しても良い)
コーヒーの価格 コーヒーの種類 ブラック コーヒー 通常 アーモンド ミルク トッピング なし ホイップ
クリーム シングル ダブル 1 2 3 無則な場合 4 5 6 500 500 500 500 500 500 0 70 70 70 50 50 80 80 ¥500 ¥570 ¥620 ¥650 ¥550 ¥580
有則:条件の掛け合わせによって変わる 購入回数 × セット購入 × 会員かどうかの 組み合わせによってコーヒーの価格が変わる。 → 条件の掛け合わせによって出力が変わるものを 有則という。 有則な関係に対して削減したい場合には、
デシジョンテーブルの簡単化などを用いる (Pair-wiseや直交表などを用いて削減すべきでない)
有則な場合 コーヒーの価格 購入 回数 1回目 クロワッサン 購入 あり 2回目 以降
なし 会員? 会員 非会員 ¥500 ¥500 ¥500 ¥500 ¥450 ¥500 ¥500 ¥500 1 2 3 4 5 6 7 8
有則、無則と各手法の適性 簡単化 Pair-wise 直交表 PICT(ツール) 無則な関係 △ ⚪ 有則な関係 ⚪
✖
まとめ
まとめ • クラシフィケーションとクラスを連ねていくことで クラシフィケーションツリーを作成する • 取りうる組み合わせに点を打つことで テストケースを表現する • 網羅基準を用いることでテストを剪定する •
有則・無則を意識し、 Pair-wiseと簡単化を使い分ける