1. B-Testing.fm
  2. #35 網羅基準を用いてテストを..
#35 網羅基準を用いてテストを剪定する:クラシフィケーションツリー技法の応用
2026-06-08 13:41

#35 網羅基準を用いてテストを剪定する:クラシフィケーションツリー技法の応用

前回までの「クラシフィケーションツリー技法」の基本編に続き、今回は作成したテストケースをどのように絞り込み(剪定し)、効率化していくかについて深掘りします。「網羅基準」という言葉は知っていても、実務でどう使い分けるべきか迷っている方も多いのではないでしょうか。Each ChoiceからPair-Wise、そして重要度に応じた「網羅基準の組み合わせ」まで、具体的なコーヒーのカスタマイズ例を用いて分かりやすく解説します。


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

  • クラシフィケーションツリーにおける4つの主な網羅基準
  • ケース数と網羅率のトレードオフ:Each ChoiceとPair-Wiseの違い
  • 「All Combinations」をすべて実行すべきかどうかの判断
  • 新機能は手厚く、既存機能は効率的に。網羅基準を「組み合わせる」応用術
  • 感想コーナー:エピソード17「言語化しない状態の大切さ」に寄せられた「わからない」を大事にする現場の話



📕 参考文献


🕒 チャプター

  • () オープニング
  • () クラシフィケーションツリーにおける主な網羅基準
  • () 「Each Choice」:最低1回はすべての値を使用する
  • () 「Pair-Wise」:2因子間の組み合わせを網羅する
  • () 「All Combinations」:すべての値を組み合わせる全網羅
  • () 網羅基準の応用:重要度に応じたテストケース数の調整
  • () 感想コーナー:言語化しない状態の大切さ
  • () エンディング


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

みなさんの現場では、テストケースを絞り込む際にどのような判断基準を使っていますか?「とりあえずPair-Wise」になっていませんか?また、新機能リリースの際に「ここだけは手厚く網羅した」というエピソードがあれば、ぜひ教えてください。

感想

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

サマリー

このエピソードでは、クラシフィケーションツリー技法を用いてテストケースを効率化するための「網羅基準」について解説します。主な網羅基準として「Each Choice」「Pair-Wise」「All Combinations」の4つを紹介し、それぞれの特徴と適用例をコーヒーのカスタマイズ例を用いて具体的に説明します。さらに、新機能と既存機能で網羅基準を使い分ける応用術や、テストケース数の調整方法についても触れています。後半では、過去のエピソード「言語化しない状態の大切さ」への感想を紹介し、「わからない」を大切にする現場の重要性について語ります。

オープニング
皆さん、こんにちは。B-Testingのブロッコリーです。このB-Testing.fmは、QAエンジニアである私、ブロッコリーがテストや品質に対する私なりの考えを約10分間で語っていくポッドキャスト番組です。
今日はですね、前回クラシフィケーションツリーの文献がなかなかないよという話を前回のオープニングで話したと思うんですけれども、今回の放送ではですね、カバレッジとか網羅基準っていう話をするんですけれども、結構ここらへんについても曖昧な方が多いなと思うところですね。
クラシフィケーションツリーはそもそも知らないみたいな方が多かったと思うんですけど、カバレッジとか網羅基準、知ってるよ、聞いたことあるよとか、やってるやってるとか、具体的な網羅基準として、ペアワイズっていうのも今日説明をするんですけれども、ペアワイズって言葉聞いたことあるな、みたいな人も多いかなと思います。
ただ、それが何を表しているのかっていうのを学ぶ機会がなかなかないなと思っています。
特にここらへんちゃんと学ぶことで、より応用的に使って実業務でも役立つことができると思うので、ぜひ今日の説明聞いて、普段の業務に持ち帰ってもらえると嬉しいです。
ということで、今回もbtesting.fmスタートです。
ということで、網羅基準を用いてテスト、特にクラシフィケーションツリーのテストを選定するという話に入っていきます。
クラシフィケーションツリーにおける主な網羅基準
まずクラシフィケーションツリー技法で、前回テストケースまで作成をしていきました。
点を打ってやるやり方でテストケースを作っていきましたが、それをどう削るかっていうところで、網羅基準っていう考え方を用いたりします。
そのクラシフィケーションツリー技法の中での主な網羅基準っていうのを4つ挙げさせてもらいました。
each choice, pairwise, ty's, all combinationsの4つです。
この中で下に行けば行くほどというか、each choiceが一番ケース数としては少なくなる。
ただ、網羅率としても低い状態。そこからpairwise, ty'sとだんだんケース数が多くなっていって、一番多いのがall combinations、全組合わせですね。
もちろん網羅率も高くなります。
どういうふうなことをして、網羅基準としてやっていくのかっていうのを一つ一つ説明していきます。
ty'sは具体的な説明はなく、今日は紹介のみとさせてもらいます。
「Each Choice」:最低1回はすべての値を使用する
まず、each choiceですね。値は最低1回は使っているというものです。
これは何かというと、前回用いたお題ですね。
ブラックコーヒーかカフェラテ。カフェラテの場合はミルクの種類が通常かアーモンドミルクか。
トッピングも選べて、トッピングの内容としてホイップクリームかチョコチップ。
チョコチップの場合はシングルかダブルサイズかっていうのが選べるよっていうのがありました。
そのときのテストケースを前回作りましたけれども、そのテストケースに対して網羅基準を当てはめばいいと。
each choiceの場合は、どこか一つそのケースが入っていればいいっていうものになります。
例えば今回の場合ですと、どれにしようかな。
例えば、トッピングの内容としてホイップクリームを選んでいるみたいなもの。
じゃあホイップクリームどこかっていうと、今回これ画面上、画面の共有で赤で囲っている1番、9番、18番っていう3つを選んでるんですけど、
その中でホイップクリームはどこにあるかなっていうと、9番のところですね。
9番はカフェラテのミルクの種類が通常と、トッピングとしてホイップクリームとチョコチップのシングルっていうものがあるので、
ホイップクリームはそこの9番で点が打たれている。
こういう感じで他のやつ、例えばコーヒーのカフェラテでアーモンドミルクっていうのは1番にはない、9番にはないけど18番にはあるみたいに、
こういうふうにどこかしら1個あるっていう状態、これをEach Choiceと言います。
値を最低1回はどこかで使っているというモーラ基準のやり方です。
「Pair-Wise」:2因子間の組み合わせを網羅する
じゃあ続いてはPairwiseですね。Pairwiseという単語はよく聞いたことがある方多いかなと思います。
日本語で約束、任意主観モーラと言ったりします。
先ほどEach Choiceはどれか値、1種類の値を最低1回はどこかしらで使っているよっていうのがEach Choiceでした。
一方でPairwiseっていうのは2種類の値の組み合わせを最低1回は使っているという考え方です。
何を言っているかというと、先ほどの例を言うと、ここのテストケース1番、2番、5番、6番、7番、9番、12番、13番、16番、17番、
計10ケースを選ぶといいかなと思います。
例えば何でもいいんですけれども、カフェラテでミルクの種類が通常で、トッピングの内容がチョコチップ量のダブルみたいな、
通常かつダブルっていうのはどこにあるかってみると、1番、2番、5番、6番は通常のミルクではないです。
7番はミルクの種類通常だけどダブルは選ばれてない。
9番も通常でダブルは選ばれてない。
12番を見るとミルクの種類通常に点が打ってあって、チョコチップの量ダブルにも点が打ってある。
だから12番のテストをやることで、ミルク通常かつチョコチップ量ダブルっていう掛け合わせはこの12番で試すことができてるんだなっていうふうに気づきます。
他の例もやってみましょう。
例えば今度はブラックコーヒーを選びましょうか。
ブラックコーヒーを選んで、あとはホイップクリームを選んだとしたら、1番はホイップクリームはない。
2番もブラックコーヒーはあってホイップクリームはあるから、じゃあこれ2番のケースをやることでブラックコーヒーかつホイップクリームっていうのは試せるなっていうふうに気づけます。
じゃあもう一つ。
じゃあ今度はアーモンドミルクでトッピングがなしの場合はっていうと、
アーモンドミルクは1番、2番、5番、6番、7番、9番、12番まではアーモンドミルクは選ばれてないのでスキップして、
13番はアーモンドミルクでトッピングがなしのものを選んでますねっていうふうに何か2個の2つの種類を何かしら選んだときに、
どの場合でもどっかしらに選んだテストケースのどこかでそれを実際に試しているっていうものがこのPairwiseという考え方になります。
認識ハンボーラですね。何か2種類選んでその値の組み合わせを最低1回は使っているという、そういう手法になります。
「TY's」と「All Combinations」
ちなみにTYsですね。今回説明だけと言いましたが、先ほどPairwiseは2種類の値の組み合わせ。
アーモンドミルクとトッピングなしみたいな2種類の値の組み合わせでしたが、TYsの場合はこれが3種類以上の場合ですね。
3種類だったら3Ysとかそういう感じで、種類の数分だけの値の組み合わせを最低1回は使っているのをTYsと呼びます。
最後はAll Combinationsですね。全組み合わせです。全ての値の組み合わせを最低1回は使っている方法です。
選ぶテストケースは、テストケース作った全部ですね。18ケース全部選びますという感じで、1チョイスの場合は3つだけでした。
Pairwiseの場合は今回の場合10ケースになって、All Combinationsは18ケースというふうに、組み合わせをちゃんと網羅しようとしたら、それだけテストケースの数、やるべきテストケースの数は増えていくという話でした。
網羅基準の応用:重要度に応じたテストケース数の調整
ちなみにこれの応用編を少し案内します。
網羅基準の応用として、全部を均等な網羅基準でやるんじゃなくて、重要だと考えたテストケースを厚めに行うみたいな調整をすることができます。
例えば、アーモンドミルクのカスタマイズはAll Combinationsで全組み合わせを確認するんだけれども、
ブラックコーヒーとか通常のカフェラテのミルクのカスタマイズというのは、1チョイスで確認するみたいなことができます。
こういうふうにテストケースを調整できます。
何でこういう調整したいかというと、例えば、もともとブラックコーヒーとかカフェラテの通常のミルクは販売してたんだけれども、
今回新たにアーモンドミルクを新発売した場合、だからアーモンドミルクはしっかりと確認をしたいですと。
ブラックコーヒーとか通常のミルクはそんなしっかりと確認する必要がないので、1チョイスでいいですよみたいな。
そういうふうに調整ができます。
そうすると具体的にはこういう感じで、1番、6番、9番の3つを1チョイスとして選んで、
あとは13番から18番は全部アーモンドミルクなので、All Combinationsでテストするみたいな形で、
このテストすべきところに注目して、そこは手厚くやりつつ、それ以外のところもデグレードとか起きてないかというので、
1チョイスぐらいの網羅基準でやるみたいに、こういうふうに調整することができるんですね。
ただ単に全体的になんとなくPairwiseをやるとか、なんとなく1チョイスをやるとか、
All Combinations全組み合わせでやるではなくて、今回注目すべきところは手厚く、そうじゃないところは1チョイスぐらいでいいみたいに、
そういうふうに調整してやることがすごい大事かなと思っています。
感想コーナー:言語化しない状態の大切さ
ということで、今回は網羅基準、特にClassification2Dテストの網羅基準についてお話ししました、説明していきました。
この網羅基準を用いてテストをどういうふうに選定すればいいかっていうふうな話をしていきました。
ここからは感想のコーナーです。一つ感想をいただいています。
あらたまさんから17回目のエピソードですね。言語化しない状態の大切さに対しての感想をもらっています。
このあらたまさんは言語化のエピソードのときに話したときの、もともとの自分が参考にしたPodcastの番組ですね。
あらたま以降のマネジメントレディオのパーソナリティの1人でもあるあらたまさんからこういう感想をいただいていましたと。
配置をしましたと。私たちもわからないを大事にできる現場でありたいです。言及ありがとうございますということで。
こちらこそ勝手にパクって話してしまってすいません。ありがとうございます。
自分は個人的にはわからないっていう言葉はすごい大事だなと思っていたんですけれども、
あらたまさんの話を聞いて改めてわからないっていうのはやっぱり大事にするっていうのが重要なんだなっていうふうに感じたところです。
感想ありがとうございました。
エンディング
ではエンディングです。
btesting.fmはリスナーさんからのお便りを募集しています。
エピソードの感想や私に聞いてみたい質問やテストのお悩みなど、どんなことでも構いません。
投稿フォームは番組概要欄にあります。
またエピソードの感想は、
ハッシュタグbtestingでxのポストをお願いいたします。
今日の話です。
モーラ基準という話とか、カバレッジ、Pairwise的な話をしていきました。
今までPairwiseって何となく聞いて、Pairwiseでやればいいんでしょうって思ってたみたいな方も、
ぜひ今日の話聞いて、もしかしたら良くない使い方してたんだなとか、
結果的に自分が今やってるのは良かったんだなとか、そういう感想でも構いません。
ぜひポストをお願いします。
もしもこれからも聞きたいという方は、お手持ちのPodcastアプリで番組のフォローもお願いします。
最新回が上がったときにすぐに気づけます。
このClassification Treeというか、このモーラ基準とか、そこら辺の話は実は次回も続きものであります。
次回はさらに落とし穴というか、こういうところ気をつけないとね、みたいな話をしていこうかなと思っていますので、
その次回の話も上がったときにすぐに気づけると思いますので、ぜひフォローもお願いします。
ということで今回はここまでです。
それではまた次回。バイバイ。
バイバイ。
13:41

コメント

スクロール