1. B-Testing.fm
  2. #34 クラシフィケーションツリ..
#34 クラシフィケーションツリーのテストケースを「機械的」に導き出す極意
2026-06-01 13:37

#34 クラシフィケーションツリーのテストケースを「機械的」に導き出す極意

前回の「クラシフィケーションツリー」の作成解説に続き、今回はテスト編です。「ツリーは書けたけれど、そこからどうやってテストケースに落とし込めばいいの?」という疑問を解消します。

実は、このテストケースの具体的な導き出し方について詳しく書かれた文献は、日本語ではほとんど存在しません。今回は、独自に言語化した「機械的にテストケースを作成するステップ」を、コーヒーショップのカスタマイズという身近なお題を使って徹底解説します。

ディシジョンテーブル(決定表)にも通ずる、漏れのない組み合わせの作り方をぜひマスターしてください。


📌 今回のエピソードのポイント

  • 文献には載っていない?テストケース作成の具体的な手順
  • 「最下層のクラスから直線を引く」という最初の一歩
  • 漏れを防ぐための鉄則:「1つのケースで同じ線は一度しか通らない」
  • 効率的な組み合わせの探し方:1つ上の階層に戻って別の道を進む
  • ディシジョンテーブルとの共通点と、クラシフィケーションツリー技法ならではの視覚的メリット
  • リスナーからの感想紹介:Geminiを活用した「プロポーザル添削Gem」の反響


📕参考文献

🕒 チャプター

  • () オープニング
  • () 本編:クラシフィケーションツリーのテストケースを機械的に作る
  • () 説明に使うお題(コーヒーショップのカスタマイズ)
  • () ステップ1:最下層のクラスの下に直線を引く
  • () ステップ2:取りうる組み合わせに点を打って表現する
  • () 感想コーナー:第10回「プロポーザル添削Gem」へのフィードバック
  • () エンディング


📢 あなたのご意見をお聞かせください

皆さんは、テストの組み合わせを考えるとき、クラシフィケーションツリーとディシジョンテーブルのどちらをよく使いますか?今回の「機械的な作り方」を聴いてみての感想や、実際に試してみた結果をぜひ教えてください!

感想

まだ感想はありません。最初の1件を書きましょう!

サマリー

このエピソードでは、クラシフィケーションツリーのテストケースを機械的に作成する方法を解説します。文献に乏しいこの分野について、コーヒーショップのカスタマイズを例に、最下層から直線を引いて組み合わせに点を打っていく具体的な手順を説明します。一つのテストケースで同じ線を一度しか通らないという鉄則を守りながら、効率的に組み合わせを見つける方法を紹介し、ディシジョンテーブルとの共通点やクラシフィケーションツリーならではの視覚的メリットにも触れています。また、リスナーからのフィードバックとして、Geminiを活用したプロポーザル添削ツールの反響も紹介しています。

オープニングとクラシフィケーションツリーのテストケース作成の必要性
皆さん、こんにちは。B-Testingのブロッコリー です。このB-Testing.fmは、QAエンジニア
である私、ブロッコリーがテスト や品質に対する私なりの考えを
約10分間で語っていくポッドキャスト 番組です。前回からクラシフィケーション
ツリー技法というのを説明に入って はいますけれども、このクラシフィケーション
ツリーの書き方について話している 文献というのは、本当にほとんど
ないなというふうに感じています。 それこそ自分が拠り所にしている
JSTQBのアドバンスドレベルのテクニカル アナリストという応用レベルの
ところのシラバスでさえ、クラシフィケーション ツリーというものがあるよという
定義ぐらいしか書いてないという のが現状でして、どういうふうな
書き方でやるのかっていうのは ほぼほぼ書いている文献がないん
ですね。かつ日本語の文献となる と参考になるスライドとかっていう
のが2件あるかなっていうぐらい かなと思います。なので、そんな
中で自分がこういうふうにやったら 機械的に作れるんだよっていう
のを今回は紹介していきたいな と思います。ということで、今回
もbtesting.fmスタートです。ということで 今回は前回のクラシフィケーション
ツリーの話の続きですね。今度は クラシフィケーションツリーの
テストケースを機械的に作るという 話をしていきたいなと思います。
テストケース作成のお題:コーヒーショップのカスタマイズ
前回から説明のお題は一緒のもの を使います。とあるコーヒーショップ
ではブラックコーヒー500円もしくは カフェラテ650円のカスタマイズ
ができますとホイップクリーム の追加はプラス70円で チョコチップ
の追加はプラス50円で ダブルの 場合はプラス80円でできますと
この2種類両方 ホイップクリーム チョコチップ両方のカスタマイズ
を追加することも可能ですと コーヒー でカフェラテを選んだ場合には
以下のカスタマイズもできます ということで ミルクの種類を通常
の場合はそのままのネタもしくは アーモンドミルクをプラス40円で
カスタマイズすることが可能ですと このとき コーヒーの価格に関する
テストをしたいっていうのがある としますと 前回クラシケーション
ツリーを実際に作っていきました ステップバイステップで作って
いきましたが それが前回作成した クラシケーションツリーはこういう
感じになります 作り方について 気になる方は前回のエピソード
をもう一回戻って聞いてみてください この完成したクラシケーション
ツリーは あくまでもこういう 条件の連なりだよねっていうの
を見える状態にしただけになります ここから今日の本題は テストケース
クラシフィケーションツリーからテストケースを機械的に作る手順
を作っていくという話をしていきます 特にそれを機械的に作っていきます
どうやって作るかというと まず 最下層のクラス 四角で囲っている
のがクラシケーションで 四角で 囲ってないのをクラスと呼びました
が その中でも一番下 最下層にある ブラックコーヒーとか通常 アーモンド
ミルクなし ホイップクリーム シングル ダブルのそれぞれの下に
まずは直線を引きますと 本当は 下にずっと伸びているようなもの
をイメージしてください ここから テストを作っていきますと そこから
取り得る組み合わせに点を打って 表現をしていきます 例えば 最初
コーヒーの価格の コーヒーの種類 について考えると ブラックコーヒー
かカフェラテなんだけど ブラック コーヒーを選びましたっていう
ふうにいって 最下層まで来ました そしたら そこを伸ばしたところ
に点を打ちます この横線に1って 書いてますが これ 一つ一つが
テストケースになります なので 一つ目のテストケースでは ブラック
コーヒーに点を打つことができました じゃあ これを打っておしまいか
というと そうではなくて 今度は また一番上 コーヒーの価格っていう
ルートと呼ばれる一番上に戻って そこからまた線をたどっていきます
ここでのポイントなんですけれども この一つのテストケースでは同じ
線は一度しか通ることはできません なので 先ほどコーヒーの価格から
コーヒーの種類でブラックコーヒー っていうふうにたどっていった
ので コーヒーの種類のほうには 線を引くことができないわけですね
なので コーヒーの価格から今度は 右側に行って トッピングの有無
のところに行きますと そしたら トッピングの有無で無しのほう
を選ぶ そうすると 無しっていう のが最下層のクラスですので そこで
また点を打てるっていうふうになります そしたら またルートでコーヒー
の価格のほうに戻るんだけど もう 赤の線と青の線で もう同じ線 一度
しか通れないので もう通っちゃいました となるので ここで一つ目のテストケース
はおしまいです ブラックコーヒー かつトッピングの有無が無しっていう
ふうに点を打てました 続いて 二つ目のテストケースはどうやって
作るか まず コーヒーの種類の 赤のほうは同じブラックコーヒー
のままにしましょうと 一つ目の テストケースから 青い線 さっき
はトッピング有無で無しのところ 行きましたが そこを一つ上に戻
していきます さっきは無しのところ まで行きましたが 一つ上に戻る
と トッピング有無のクラフシケーション に戻れますねと そしたら今度は
先ほどとは別の線に進んでいきます 先ほどは無しに進んだので 今度
は有に進みます そしたら次 トッピング 内容のところに行くので トッピング
内容を一つ以上選択っていうのは ホイップクリームを選びますと
そしたら ホイップクリームが最下層 のクラスなので 点が打てる これ
で二つ目のケースが完成っていう のを繰り返してやっていきます
じゃあ今度 三つ目どうなるかという と またホイップクリームの一つ
上に戻りますと トッピング内容 のところに戻りますと そしたら
トッピング内容 これ一つ以上選択 なので ホイップクリームっていう
のをさっき選んでいましたが それ以外 だと 例えば ホイップクリーム
とチョコチップ 両方を選ぶっていう のを 別の線として捉えることが
できます ちょっとこれが感覚的 には難しいところかもしれません
が これもあくまでもさっき言った ホイップクリームの線だけ通った
とは また別の線と捉えることができます なので ホイップクリームとチョコ
チップ 両方を選びましたと そうすると チョコチップのほうが
チョコチップ量のところにたどり 着きます チョコチップ量のほう
は じゃあシングルを選ぼうかな っていう感じで ホイップクリーム
のところと チョコチップでチョコ チップ量 シングルのところに点
を打てる これが三つ目のケース になります
じゃあ今度四つ目ですね また一 つ上に戻ります シングルの一つ
上でチョコチップ量に戻って さっき はシングルは通った もう通った
ので じゃあ今度はダブルのほう いきますよと だから四つ目はブラック
コーヒーとホイップクリームと ダブルに点が打てる じゃあ五つ目
は一つ上に戻ってチョコチップ 量 そうするとシングルのほうは
もう三番のところでいった ダブル のほうもさっき四番のほうでいった
ので チョコチップ量はもう選べない ので 他の線が見当たらないので
さらにもう一つ上に戻りますと そうすると さっきトッピング内容
はホイップクリームだけを選んだ パターンと ホイップクリームと
チョコチップ 両方を選んだパターン はもうやったので じゃあ今まで
と別の線という意味で チョコチップ のほうだけ通るようにいきます
そうするとチョコチップの下は チョコチップ量があるので またシングル
とダブルでまずシングルのほう にいけますと なのでその結果 五番目
のケースはブラックコーヒーかつ シングルのところに点が打てる
じゃあ今度は六番目は一つ上に戻って さっきはシングルいったけど 今度
は別の道でダブルに行くので ブラック コーヒーのダブルを選ぶことが
できますと じゃあその次を考える とダブルにいったので一つ上に
戻ってチョコチップ量でシングル もダブルも両方やった さらに一つ
じゃあ戻ろう トッピング内容 ホイップクリームもチョコチップ
もホイップクリームとチョコチップ の両方もやった じゃあ上に戻ろう
じゃあトッピングの無しもありも やったっていうことを考えると
これで全部通ったわけですね 右側 のトッピングの部分に関しては
っていうふうなことで 六つで一 塊っていうことが分かりました
他の選択肢への展開とテストケースの網羅性
じゃあ同様の組み合わせを下に コピーしていくんですね そうする
と先ほどコーヒーの種類でブラック コーヒーを選んでいたけれども
次はカフェラテを選んでミルクの 種類が通常の場合でも 今のブラック
コーヒーと同じように六パターン できるはずだと アーモンドミルク
でも六パターンできるはずだと 青いほうは最初一つ目は無しで
二つ目はホイップクリームで三つ 目はホイップクリームとチョコチップ
量のシングル 四つ目はホイップクリーム とダブルの両方 五つ目はチョコチップ
のシングルのみ 六つ目はチョコチップ のダブルのみっていう この六つ
で一塊で同じように繰り返して 打つことができます ここら辺 基本
はディシションテーブルの丸を つけるのと似たような感覚で作業
でできると思います ということ で 取り得る組み合わせに点を打って
表現すると これで全部で18パターン っていうのを機械的に作成する
ことができました ということで 今日はClassification
リスナーからの感想紹介:プロポーザル添削Gem
Treeのテストケースを機械的に 作る この機械的に作る 一つ上に
戻ってとか そういう話って本当に どこの文献にもない話 自分が言語化
するとこうかなと思って作った 資料にはなるので ちょっとこれ
を聞いた方は 実際に自分でClassificationTreeを作ってみようかなって思う
ときに ぜひ参考にしてみてください 続いては 感想のコーナーですね
今回は ゆきたかさんから10回目の エピソード プロポーザル添削
ジェムを作成しました この回の 感想として ブロッコリーさんの
プロポーザル添削ジェム めっちゃ いいと こういう視点で見てるんだ
なと参考にできるし 改善点のアドバイス では こうしたらもっとよくなる
よと ブロッコリーさんにアドバイス もらってるようで ブラッシュアップ
のモチベが上がりまくってると 嬉しい感想 ありがとうございます
プロポーザルはこういうところ 見てるよっていうのは 去年 ブログ
に公開はしたんですけれども より 使いやすいというか 自分がプロポーザル
を書いたら これ どうなんだろう っていうのを試しやすいツール
を提供できたかなと思うので 10 回目 まだ聞いてなくて 何だろう
って思う方は ぜひ概要欄にリンク を貼っておきます プロポーザル
添削ジェムのリンクのところ 飛ん でもらったら 自分のプロポーザル
の文章をペタッと貼り付ければ この プロポーザル こういうところ
をもっとよくしたほうがいいよ っていうのをアドバイスができる
ようにやっています ジェミニの ジェムを使って そういうのを
提供しているので ぜひご活用ください ということで 結城 隆さん 感想
ありがとうございました
エンディングと今後のエピソード予告
では エンディングです btesting.fm では リスナーさんからのお便り
を募集しています エピソードの 感想や 私に聞いてみたい質問や
テストのお悩みなど どんなこと でも構いません 投稿フォームは
番組概要欄にあります また エピソード の感想は ハッシュタグ
btesting banscotestingで xのポスト をお願いいたします 今日の回で
言うと Classification Treeのテストケース の作り方を 自分なりに細かく言語化
してみました Classification Tree 作った ことすらないっていう方 前回の
この放送でも言ったとおり 結構 いるかなとは思うんですけれども
実際にテストってどうやって作る のっていうところを 結構 詳しく
説明できたかなと思っています 実際に試してみた感想とかも ポスト
でいただけるとうれしいなと思っています もしもこれからも聞きたいという
方は お手持ちのPodcastアプリで 番組のフォローもお願いします
最新回が上がった回のときには すぐに気づくことができます 実は
Classification Treeも 今回で終わり ではなくて あと1 2回続きのエピソード
があったりするので それもすぐ 気づけると思うので フォローを
お願いします 上がったときに 最新 回が上がったら すぐ気づけると思う
ので ぜひよろしくお願いします ということで 今回はここまでです
それでは また次回バイバイ
13:37

コメント

スクロール