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

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

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

Amebaでブログを始めよう!
11月の仙台ソフトウェアテスト勉強会はPictMasterを使い倒す!ということで、チュートリアルに近い勉強会を実施してみました。

今回はテスト関係の友人の紹介で福島から4名の参加者が来てくれました。
ホント嬉しい限りです♪



まずは組み合わせテストの簡単な説明です。
今回はツールに慣れるのがメインの目的なのでここらへんはサクサク行きます!

一通り説明した後、早速演習に入っていきます。
今回は10問を用意しました。

初級★☆☆
Level1:PictMasterを使う
Level2:因子数を変更する
Level3:シードを変更する
Level4:同値を別名として扱う(エイリアス)
Level5:無効条件を使う
中級★★☆
Level6:結果表を使う
Level7:制約条件を使う①
Level8:制約条件を使う②
Level9:制約条件を使う③
上級★★★
Level10:複合問題を解く

これらの問題を数多く解きながら、ツールに慣れつつ、そのツールの特性も理解しちゃおうって感じです。

Level7のときに以下のようなラーメンの自動券売機の問題を使い、制約条件を考えてみました。PictMaster業界で言われているいわゆる"とんこつ-紅しょうが問題"ってやつです(ウソ



PictMasterユーザーズガイドの説明にはこう書いてます。
『if 制約条件 then 制約対象 … 制約条件が真のとき、制約対象の組み合わせとなる。』

しかし実際にやってみるとどっちが制約条件でどっちが制約対象か分からなくなることが多いです。特に日本語で考えるとパッと分からないですね。。。

・とんこつは紅しょうがをトッピングできる
・紅しょうがはとんこつのときのみトッピングできる

こういうときは矢印を書いて必要十分条件を考えてみましょう

とんこつ → 紅しょうが : とんこつは他のトッピングもあるのでこの矢印は成り立たない
とんこつ ← 紅しょうが : これは紅しょうがのときはとんこつなので常に成り立つ


ということで、矢印を考えてみて必要条件になるほう(矢印の終点)を条件としてセルに色をつけます。これで間違いがなくなるはずです。
もちろん自信がないときは、条件を設定して出力が自分のイメージとあっているかを確認してください。最後にまとめて結合するとどこが間違っているか分からなくなってしまうので、1つ書いたら自分の意図通りになっているか確認をして進めていくほうがいいと思います。

最後に複合問題として以下の問題に挑戦しました。
時間ある方は是非お手元のPictMasterを使って挑戦してみてください♪



以降はネタバレになるので、もし自分でやりたい人は挑戦してからお読みください。

制約条件を記述するときに今までの演習の流れであれば以下のようになるはずです。



しかし、複雑な仕様を紐解いて平坦な感じで書く事もできます。
その場合は以下のようになっています。



自分にはこちらの考えがなかったのでハッとしました。
コードの条件分岐が複雑になっている可能性を考えると、こっちはロジックをほとんど入れずに平坦に書くという方向がいいのかもと思いました。
また参加者でワイワイ話した結果、レビューもこちらの方がしやすいかという話になりました。ただ、少し表が込みいってる感じがあるのと、内部的なロジックが全く見えなくなります。

ということで、答えは状況によると思いますが、どっちがいいかな~とか是非考えてみてください。
いやー 毎回新しい発見があっていいですね(笑

今月もありがとうございました!

参考)
組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題
http://ameblo.jp/pictmaster/

PICT HACKS 組み合わせテスト入門 ~初心者から廃人まで~
http://shop.comiczin.jp/products/detail.php?product_id=18083