同値分割法と境界値分析 2020

同値分割法と境界値分析のまとめです。
4
ぱいん🍍 @pineapplecandy

境界値分析のどっちかの値を同値分割法の代表値にしちゃうのってアリですか?テストケース減らしたい派

2020-03-28 01:01:56
Yasuharu NISHI @YasuharuNishi

@pineapplecandy 逆に、なぜ無しなのかを聞きたい。

2020-03-28 01:31:57
ama/あまやん @MZRSEN

@YasuharuNishi @pineapplecandy 横からですが むしろ境界値分析と同値分割を「どちらもやるべき」シチュエーションがあれば知りたい派です (ほとんどの場合 テストケース1個多いくらいでそこまで時間かからないよね? で入れられてる気が す る)

2020-03-28 01:53:00
いこま みきお @m_ku

@YasuharuNishi @pineapplecandy 例えば、「3つのゼロ以上の数を掛けるという関数」のテスト。関数の実装例は、 def multiply_3_nums(x, y, z):  return x * y + z ということはよくあると思いますよ、経験上。

2020-03-28 02:48:49
ぱいん🍍 @pineapplecandy

@MZRSEN @YasuharuNishi まさにこのブログの議論でした ameblo.jp/sendai-test/en… (個人的には、自分で実行までやるなら余計なテストは減らしておきたい派です)

2020-03-28 06:53:15
Keizo Tatsumi @KeizoTatsumi

@pineapplecandy @MZRSEN @YasuharuNishi 境界値分析では「2値か3値か」の議論はあるが「2値+中間値」というのはないですね。

2020-03-28 20:21:09
Keizo Tatsumi @KeizoTatsumi

@pineapplecandy @MZRSEN @YasuharuNishi 「中間値」の話が出てくるのは2変数以上の(組み合わせの)場合。Bob BinderさんはDomain Test Matrixを紹介しています。Copelandさんの「はじめて学ぶソフトウェアのテスト技法」で引用されています。代表値(Typical, In point)が「中間値」のこと。 books.google.co.jp/books?id=17yjD…

2020-03-28 20:43:42
ぱいん🍍 @pineapplecandy

@KeizoTatsumi @MZRSEN @YasuharuNishi テスト練習帳をやっていて、境界値分析と同値分割を使えと言う問題をやっていたので、境界値に対しての中間値云々という話ではありません。紹介いただいた本は持っているので読んでみます。ありがとうございます。

2020-03-28 21:14:37
ネモトノリユキ@ソフトウェアテスト技法練習帳 発売中!! @nemorine

@pineapplecandy @KeizoTatsumi @MZRSEN @YasuharuNishi どもです。自分の意見です。 なぜ代表値も併用しているかというと、真ん中への不安があるのと、一番ユーザーが使うであろう値でテストをしたいからです。 もちろん純粋な同値分割法としては同値パーティションの中から何を選んでも良いので、境界値のみを選んでも良いと思います。

2020-03-29 04:30:21
Tsuyoshi Yumoto @yumotsuyo

@pineapplecandy この本の良さは、答えを見て「え?」ってなりみんなで意見を言い合うことができること。毎週、いろいろ意見が出て楽しくやってる。

2020-03-28 06:51:04
Yu Sato @sato6562

@pineapplecandy 減らした方の観点をきちんと「やっていない」というのであればありなのでは? 結合テスト以降では境界値でのテストは行いません、みたいな。

2020-03-28 09:46:37
ネモトノリユキ@ソフトウェアテスト技法練習帳 発売中!! @nemorine

@pineapplecandy @KeizoTatsumi @MZRSEN @YasuharuNishi どもです。自分の意見です。 なぜ代表値も併用しているかというと、真ん中への不安があるのと、一番ユーザーが使うであろう値でテストをしたいからです。 もちろん純粋な同値分割法としては同値パーティションの中から何を選んでも良いので、境界値のみを選んでも良いと思います。

2020-03-29 04:30:21
ama/あまやん @MZRSEN

@nemorine @pineapplecandy @KeizoTatsumi @YasuharuNishi 遅ればせながらここまでのスレッド内容拝見しました。 ブログの内容は発端として納得ですね。 境界値は境界値であるがゆえに特異なことが起きるかもしれない。 同値って何よ、のごく基礎的な理解はもちろん踏まえた上でですが、もしやinとonは同じ有効同値パーティション「ではない」のかもしれない。

2020-03-29 11:58:20
ama/あまやん @MZRSEN

@nemorine @pineapplecandy @KeizoTatsumi @YasuharuNishi (話それますが いうてそんなにコードで比較演算子をミスるってことあるのかしら? と思わなくもなかったりします。=と<=間違えた! より、そもそも機能してなかった! とかのほうが多かったりして……) (でもテストって「限られた工数の中でここまで見ました」という目的もあるからいいのですが)

2020-03-29 12:02:50
Sugy @m_sugiym

@pineapplecandy 境界値分析の値を同値分割の代表値にするのは普通にアリだと考えてます。クラスごとの代表値に何を選ぶか次第だけなので…

2020-03-29 13:13:51

秋山さんの意見

あきやま🍠 @akiyama924

@pineapplecandy 理由を書いていませんでしたので、私の思うところを書きます。 まず、パインさんの疑問を私はこういう疑問と受け取りました。 「(『練習帳』では)同値分割の代表値と境界値分析して得た境界値を、テストしようとしているけど、代表値は境界値で代用できるのでは?」 です。

2020-03-29 05:38:14
あきやま🍠 @akiyama924

@pineapplecandy (続) 同値P(Pはパーティション)内の値が同等に処理されることが明らかであれば、どの値でも良い理屈ですから、ひとつの同値Pで境界値2つと同値分割した代表値一つの3つもテストするのは無駄な気がする、、、だったら、境界値だけしておけばバグの有無は分かるのでは? という疑問と思いました。

2020-03-29 05:48:10
あきやま🍠 @akiyama924

@pineapplecandy (続) まず、前提とした「同等に処理されることが明らか」ですが、『練習帳』の12ページに「同値クラスは『その範囲はどの値でも同等に処理されることが合理的に予想される』集まりです」と書いてあります。29119-4での用語の定義もそんな感じですので議論の前提としては適当かなと思います。

2020-03-29 05:55:50
あきやま🍠 @akiyama924

@pineapplecandy (続) ですから先に書いた「境界値だけしておけばバグの有無は分かるのでは?」という疑問に対して、私は「わかる」と思っています。

2020-03-29 05:58:02
あきやま🍠 @akiyama924

@pineapplecandy (続) にもかかわらず「なしです」と答えたのは、テストデータとして果たす役割が違うと考えているからです。 (もう一つ、『練習帳』の42ページに記載されている、2値の境界値分析をする時の「==」の件もあるのですが、そちらはそういう間違いはあまり起こらないので私の中での動機は低いです)

2020-03-29 06:04:35
あきやま🍠 @akiyama924

@pineapplecandy (続) 私が同値分割した代表値でテストしたいことは仕様の取り違えや、実装時でのタイプミスではありません。そちらは、境界値分析した結果得られた境界値のテストデータの役割と考えています。

2020-03-29 06:08:15
あきやま🍠 @akiyama924

@pineapplecandy (続) 私が同値分割した代表値でテストしたいことは「機能が存在して期待通りに働くこと」です。 これは、境界値分析した結果得られたテストデータでも確認できることが多いです。

2020-03-29 06:10:29
あきやま🍠 @akiyama924

@pineapplecandy (続) 多いと書いたのは、例えば、音量が、0から99の間で設定できる時に、境界値である0や99で音量の機能のテストが出来るか?と言えば、出来るかもしれないし、0の場合は音が出ずにテストできないかもしれません。 同値分割の代表値として真ん中辺の50や最頻値の20なら機能の確認は出来そうです。

2020-03-29 06:16:20