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
490
1
Share
体験しながら作るクラシフィケーション ツリーテスト
WACATE 2025 冬及びJaSST Tokyoでの投影資料です。
nihonbuson
PRO
December 21, 2025
More Decks by nihonbuson
See All by nihonbuson
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜 #genda_tech_talk
nihonbuson
PRO
4
1.5k
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
5
1.6k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
3
690
意外と知らない状態遷移テストの世界
nihonbuson
PRO
3
2.2k
「品質のつくりこみ」と「リリース後に行うとよいテスト活動」を体験する
nihonbuson
PRO
1
340
ホリスティックテスティングの右側も大切にする 〜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.8k
Other Decks in Technology
See All in Technology
続 運用改善、不都合な真実 〜 物理制約のない運用改善はほとんど無価値 / 20260518-ssmjp-kaizen-no-value-without-physical-constraints
opelab
2
250
"スキルファースト"で作る、AIの自走環境
subroh0508
0
610
Gaussian Splattingの実用化 - 映像制作への展開
gpuunite_official
0
200
AI時代に、 データアナリストがデータエンジニアに異動して
jackojacko_
0
1k
ECSのTerraformモジュールにコントリビュートした話
harukasakihara
0
240
みんなの考えた最強のデータ基盤アーキテクチャ'26前期〜前夜祭〜ルーキーズ_資料_遠藤な
endonanana
0
460
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
1
370
可視化から活用へ — Mesh化・Segmentation・アライメントの研究動向
gpuunite_official
0
230
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
0
110
パーソルキャリア IT/テクノロジー職向け 会社紹介資料|Company Introduction Deck
techtekt
PRO
0
220
Purview Endpoint DLP 動かしてみた
kozakigh
1
440
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
1k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.6k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Exploring anti-patterns in Rails
aemeredith
3
360
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
550
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
440
The Invisible Side of Design
smashingmag
302
52k
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と簡単化を使い分ける