« 2011年8月 | トップページ | 2011年10月 »

出力の組合せ

昨日の夜、twitter で @kyon_mm さんとやり取りをしていたことをもう少し考えてみようと思う。

もともとは数学的なテクニックを使って、自動的にテストパターンを作成する(したいけど、数学勉強しなきゃなあ)という話が発端だったかと思います。Inputは「入力条件」「出力結果」「論理関係を含むDSL」、Outputは「入力条件・出力結果を含んだ組合せテストケース(テスト条件)」というようなツールを目指しているのだと理解しました。

※DSLはドメイン特化言語で、仕様記述言語を意味するらしい。


ここで「出力結果の組合せ」というのは、何らかのシステムの端末で出力されるエラー通知方法

{ディスプレイ:”エラーA”を表示、”エラーB”を表示、”エラーA・B”を表示}、{エラー音:音1、音2}

といった要素と値の組合せを指している。

直感的には、出力結果の組合せを考慮するということは、それらになんらかの論理関係(主従関係)がある、ということになり、出力結果の要素のいずれかが他の要素の入力(原因)になっているんじゃないかなと思いました。

ひとつだけディスプレイに表示される場合は音1が鳴り、”エラーA・B”が表示される場合は音2が鳴る
みたいな。こういう仕様がわかっているならば、デシジョンテーブルなどで表現する方法もある。この場合、ディスプレイ表示(または、ディスプレイ表示を引き起こすイベント)が入力条件に位置する。


でも、「出力の組合せ」を考えたいというのは、おそらくはこういった関係性が仕様上ない場合を指しているのではないかと考えました。あるサイトに広告が3種類あって、

{広告A:a1、a2}、{広告B:b1、b2、b3}、{広告C:c1、c2}

といった広告がランダムに表示される、といったシチュエーション。

実際、JavaScriptを含むタグであったりすると、仕様上は存在しない影響を生み出す場合があり、組合せテストはしたいところ。でも、これも単純に広告A~Cの組合せを考えて、影響がないことをまずは確認することで、その後のさらなる結合テストでの検証範囲を狭めればよいのではないかと思いました。


| | コメント (0) | トラックバック (0)

第6回「ソフトウェアテスト技法ドリル」勉強会 - ペアワイズ

今週末は台風12号の影響で大雨や交通機関の乱れが見られましたが、9/2(金)の勉強会は開催されました。

第6回「ソフトウェアテスト技法ドリル」勉強会
http://atnd.org/events/18949

ツイートのまとめ
http://togetter.com/li/182805


今回も講義担当・演習担当のお二人にご協力をいただきました。jp_watanabe さん、tosikawa さん、ありがとうございました。演習では、スターバックスコーヒーのメニューと注文方法についての組合せが題材でした。

マイフラペチーノ
http://www.starbucks.co.jp/customize/frappuccino/

ベースとなるフラペチーノによって、コーヒーの量やミルクの量、カスタマイズができたりします。今回はペアワイズ法の勉強なので組合せを実際に作ってみようということでしたが、「何をテストするのか」によって実施したいテストが違ってきます(秋山さんも当日おっしゃっていました)。ということで、僕がいくつか想定した検証目的を書いてみます。

店員の教育テスト
メニューを覚えたか、それぞれのフラペチーノに対してどんな変更やカスタマイズが可能かどうかを覚えているかを確認するための組合せテストが考えられます。この場合は、ありえない組合せも考慮して、被験者が「その変更はできない」と判断できるかも確認すべき事項になってきます。コーヒーの量、ミルクの量、全てのカスタマイズに対して組合せを作成して、いくつか試験するのがよさそう。

食券システムのテスト
スターバックスは食券システムではないですが、学食や牛丼チェーン店のそういうシステムのテストはありえそう。この場合は、食券が正しく印刷されるか、選択したフラペチーノに対して可能な変更ボタンが有効になるかどうか等を確認したい。組合せテストともに、論理関係を考えたテスト(制約を含む)も一度検討したほうがよいと思います。入金の金額や釣銭状態もも条件に含まれそう。

味のテスト
変更やカスタマイズを組み合わせて、仕様となる禁則を決定するためのテスト。少ない組合せ数で、お客様に提供できないような味になりそうな組合せを見つける、といった目的になるでしょうか。


それにしても、こんなカスタマイズは今まで注文したことがないです^^;

| | コメント (0) | トラックバック (0)

« 2011年8月 | トップページ | 2011年10月 »