« JaSST'11 Niigata に参加 | トップページ | CFD法を学ぶ、第4回「ソフトウェアテスト技法ドリル」勉強会 »

あらためて境界値テストを勉強

今日の勉強会で「境界値テスト/境界値分析」について話題に上がったので、家に帰ってから少し復習。テキストはバイザーのブラックボックステスト本


一般的にバグが境界・端っこに多くあることから、入力や出力を同値分割してそれらの境界・境界の近くを狙ってテストするが、それを「境界値テスト」「境界値分析」と呼んでいる。

バグパターン

話を簡単にするために1次元の数直線を考える(多次元はドメイン分析テスト)。X<20をドメインB、X≧20をドメインAとした場合、以下のようなバグパターンがある。

Photo

  分類 イメージ テストすべきポイント
1 閉包バグ(closure bug) _closure_bug ONポイント
2 右への境界移動(boundary shifted right) _boundary_shifted_right ONポイント
3 左への境界移動(boundary shifted left) _boundary_shifted_left OFFポイント
4 境界抜け(missing boundary) _missing_boundary ONポイント、OFFポイント
5 余分な境界(extra boundary) _extra_boundary ONポイント、OFFポイント
INポイント、OUTポイント


バグの原因

パターン1は、閉集合・開集合の実装を間違えた場合であり、不等号のつけ間違いなど。パターン2と3は、境界となる値自体を実装間違えした場合。パターン4は、実装者にとっては未知の境界であり、仕様が曖昧な場合に生じる。パターン5は、存在しない境界を作りこんでしまった場合。いずれも単純なプログラムミスもあるが、仕様の見落とし・解釈誤り・曖昧さが原因となることもある。このあたりは、単体テストレベルのテスト分析でつぶしておきたい。

パターン5のために、INポイントやOUTポイントは近傍を選ぶよりは離れたところを選ぶべきなのかな。

--
# パターン5が誤りでしたので、訂正。あきやまさんありがとうございますm(_ _)m

|

« JaSST'11 Niigata に参加 | トップページ | CFD法を学ぶ、第4回「ソフトウェアテスト技法ドリル」勉強会 »

コメント

表の中の、5番目は「ONポイント、OFFポイント」ではなく「INポイント、OUTポイント」では??

投稿: あきやま | 2011年2月27日 (日) 10:57

>あきやまさん

コメントありがとうございます。間違ってますね、訂正しました。
バイザーの本は1回読んでもわからないことが多いですが、たまに読み返すと
ちょっと理解が進んだりして面白いです。

投稿: softest | 2011年2月27日 (日) 12:30

このバイザー本を全部読んだ訳ではないのですが、少なくとも「INポイント」「OUTポイント」という言葉は目次には出てこないのですが、別の本では出てくる言葉なのでしょうか?

投稿: かめ | 2011年3月 3日 (木) 14:37

>かめさん

コメントありがとうございます。
最近の書籍でいえば「ソフトウェアテスト技法ドリル」のドメイン分析テスト
でINポイント、OUTポイントという言葉が登場しています。

バイザー本を見直してみましたが、内部点・外部点というのが当てはまるかなと
思います。

投稿: softest | 2011年3月 3日 (木) 22:18

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/155415/39029762

この記事へのトラックバック一覧です: あらためて境界値テストを勉強:

« JaSST'11 Niigata に参加 | トップページ | CFD法を学ぶ、第4回「ソフトウェアテスト技法ドリル」勉強会 »