たかが同値分割、されど同値分割。 | 仙台ソフトウェアテスト勉強会のブログ

仙台ソフトウェアテスト勉強会のブログ

2012年から立ち上げた仙台ソフトウェアテスト勉強会のことなどを綴っていきます。

以前の仙台ソフトウェアテスト勉強会で取りあげた同値分割。


そのとき『深さを意識するッ!』ということで、同値分割にはズームイン・ズームアウトという概念があるというお話をしたのですが、自分の中でもうまく説明できていないなぁという感じがありました。ズームインとズームアウトのイメージは分かるのだけれど、どんなときに使うのか、どんなメリットがあるのか分からないというモヤモヤした感じでした。


今回たまたまソフトウェアテスト関係の友人である、ゆにてぃさん、バンバンさん、おたべさん、MAQさんに聞く機会があったので聞いてみました!


そして!ついに納得しました。ということで共有したいと思います。


『同値分割のズームイン/ズームアウトとは何なのか?』


簡単な例でいうと例えば、札幌駅のJRの改札機のテストをするとして

有効カード
ICカード:SUICA、PASMO、KITACA
無効カード
クレジットカード:JCB、VISA、MASTER
キャッシュカード:北洋銀行、北海道銀行
ポイントカード :ゴールドポイントカード


例えば、改札に入れるかのテストをするときにSUICA~ゴールドポイントカードまで全部テストしますよね?
このときズームイン/ズームアウトはどこで使うの?全部テストしなきゃダメじゃんっていうことがそもそも自分の疑問でした。


最初に答えを書いてしまうと・・・
『テストの目的(レベル)が違うときに、すでにテスト済みの結果を考慮に入れて同値と見なす。(=ズームアウト)』ということができるということでした。


例えばICカードで改札が通れるかどうかのテストはSUICA、PASMO、KITACA全てをテストします。通れないものはJCB~ゴールドポイントカードまで全てをテストします。
そのテストの(期待)結果から同値とみなして、次のテストにフィードバックします。例えばクレジットカードでエラーが出た後にICカードで改札が通れるかというテストを考えます。このときにICカードはSUICA、PASMO、KITACA全てをやらないで、一つの代表値、たとえばSUICAを使います。これがズームアウトになります。
このテストで保証されたものを同値と見なすことで組み合わせが減りますよね。
全部の組み合わせを実施するとクレジットカード3種、ICカード3種なので
3×3=9通り
しかし、ズームアウトして同値と見なすと1通りで良いことになります
1×1=1通り

逆に、ズームインは『これらを同値と見なしているけど、本当に大丈夫かな?どこで保証しているのかな?』ということになると思います。


『大事なのはテスト結果を積み上げるイメージ!』by ゆにてぃさん

自分も業務で同じようなことはやっていましたが、同値分割のズームイン/ズームアウトと結びついていませんでした!!


いつもお話を聞いてくれて、自分が納得するまで付き合ってくれる友人に感謝です。本当にありがとう m(_ _)m
納得神ナルホディウスが降臨し、また一つ腹に落ちましたっ!


【参考】鈴木みきおさんのサイト。同値分割のズームイン/ズームアウト
http://blog.goo.ne.jp/mickey_suzuki/e/cdabcdb1612fcb82ef399365539e86a9