世の中の実例から見る境界値分析

テスト技法を適用してみると仕様の曖昧さが白日の下にさらされるというのは、珍しいことではないのかも知れないですね。
0
Takeshi Uemura @takeshi01564584

「境界値分析で最小のテストケースはいくつか。」にしか見えなかった(^_^;) この場合は、有効同値クラスは以下で、 1、5、6、10、11、30、31、100 無効同値クラス 0、101 が最小テストケースになるのかな。 pic.twitter.com/QO2KIuEHRT

2016-02-16 08:55:18
拡大
あきやま🏓 @akiyama924

@takeshi01564584 @MAQ69 ネタにマジレスするのもなんですが、何に対してのテストかによります。 再右列が、スパイスをトッピングするときの価格だとすれば5と6は境界値ではなくなりますよね。

2016-02-16 09:29:39
Yasuharu NISHI @YasuharuNishi

101が無効同値クラスかも怪しい。再右列が価格なら、101は期待結果が曖昧。もし同じルールが繰り返し適用されるなら、101番は100円。すると価格がさらに上がる111番はテストしたい。 RT @takeshi01564584pic.twitter.com/n3eJhy0gft

2016-02-16 11:08:39
拡大
Yasuharu NISHI @YasuharuNishi

もし101番が150だったとすると、次の境界値は130番ではなく、やはり111番も境界値になるね。繰り返しルールを考えるなら、3週目のやっときたい。2週目だけをif文で考えてる可能性もあるからね。

2016-02-16 11:12:12
Yasuharu NISHI @YasuharuNishi

101番以上は無いんです、の場合、100番と1番を同時に頼むとか100番を2つ頼むとかやりたいよね。あ、そうか。それが可能なら、5番を5回以上同時に頼んだり、10番を2回頼んだりもできるか。

2016-02-16 11:14:13
あきやま🏓 @akiyama924

@YasuharuNishi @takeshi01564584 @MAQ69 整数とは書いていないので辛さ10.5とかも。

2016-02-16 11:15:16
あきやま🏓 @akiyama924

@YasuharuNishi @Unity1004 @MAQ69 @takeshi01564584 この仕様からバグを予測するなら、「内部で保有しているデータが2桁であることから激辛の100を入力するとスパイス無しの00が来る」こと。

2016-02-16 11:19:55
ゆにまる @Unity1004

@akiyama924 @YasuharuNishi @MAQ69 @takeshi01564584 1〜100は内部では0〜99になってて、0を入力すると-1になっちゃうとか。1辛、2辛方式に慣れてる人がタッチパネルで押しちゃいそう。。

2016-02-16 12:30:02
スクエアくん @squaring_jp

@takeshi01564584 「お子様と一緒の場合」という条件がひっかけになっている。一緒の場合/一緒でない場合があると思ってテストケース数を2倍にしてはいけない。

2016-02-18 18:01:41
Kazu SUZUKI @kz_suzuki

「もし同じルールが繰り返し適用されるなら、101番は100円」の理由がわからないのでパソコンの画面をじっと見て考えていたら長男がのぞき込んで、「しあわせさをお選びください、ってどういう意味?」って聞いてきた。 twitter.com/YasuharuNishi/…

2016-02-20 19:15:42
あきやま🏓 @akiyama924

@kz_suzuki @YasuharuNishi @takeshi01564584 おそらく辛さ100が100円で辛さ1が0円なので足し併せることで辛さ101の価格を求めると、 100 + 0 = 100円 辛さ11が50円なので辛さ111は150円。

2016-02-20 22:18:55
あきやま🏓 @akiyama924

@kz_suzuki 相対的金額計算ロジックだったらという話しかと。

2016-02-20 22:22:16
Kazu SUZUKI @kz_suzuki

@akiyama924 @YasuharuNishi 意外すぎてちょっと驚きました。足し合わせていいものなのでしょうか? いい悪いではなく、そういう可能性も考慮するということですか?

2016-02-20 22:33:55
あきやま🏓 @akiyama924

@kz_suzuki @YasuharuNishi 要求や仕様から考えるとそんなことは無いと思います。

2016-02-20 22:38:48
Kazu SUZUKI @kz_suzuki

@YasuharuNishi すみません、「そんなこと」とは何を指していますか?

2016-02-20 22:39:32
あきやま🏓 @akiyama924

@kz_suzuki @YasuharuNishi でも、見つけたいのはバグですから。 内部実装を考えるとそういう可能性も考えられるならテストは必要です。

2016-02-20 22:41:48
あきやま🏓 @akiyama924

@kz_suzuki 仕様書に書かれていないことの期待値は自分で考える必要があります。

2016-02-20 22:44:45
Kazu SUZUKI @kz_suzuki

@akiyama924 @YasuharuNishi わかる気もしますが、「1, 3, 5, 7 の次にくるのは?」という問題に対し「普通は9だ、だけど31日ある月、という意味では8だし、8進数をとびとびカウントするならまた1だし」と考えるようなもので、延々とはまりそうです・・。

2016-02-20 22:47:53
あきやま🏓 @akiyama924

@kz_suzuki このポスターでは、別の皿でスパイスを提供出来るとありますので「辛さ100と辛さ1を、お皿でください」と頼むかもしれません。届いた2つのお皿をかけた辛さが辛さ101と同じかわかりませんが違うという理由もありません。で、その時の請求額は100円だと思いませんか?

2016-02-20 22:51:49
あきやま🏓 @akiyama924

@kz_suzuki @YasuharuNishi はい。ですから(このポスターだけでは)曖昧と、にしさんは書いているのかなと思いました。

2016-02-20 22:55:10
Kazu SUZUKI @kz_suzuki

@akiyama924 @YasuharuNishi 段階的に値段が変わっていくものに対し、連続的に変わっていくもののようにタシヒキすることに違和感があったのですが、スパイスの方は文字通り「足せる」ということで、合点がいきました。面白い題材ですね。

2016-02-20 22:56:56
あきやま🏓 @akiyama924

@kz_suzuki 「マニア向け100円スパイス」の次の辛さのレベルを「超マニア向け」としたときに当然それが同じ価格になるはずがありません。 だから辛さ101の価格が100円ということは常識的に考えてありません。 でもテストケースを考えるときには考えるほうがよいと思います。

2016-02-20 23:00:11