0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

知識ゼロから学ぶ ソフトウェアテスト(3章 ブラックボックステスト② 境界値分析法)

0
Posted at

知識整理のために投稿しています。
本は 知識ゼロから学ぶ ソフトウェアテスト[改訂版]です。
テストってなかなか書けない。

境界値分析法

  • プログラムでは「境界」に常にバグが潜んでいる
  • 同値分割法とセットで使われることが多い

(例) 1ページ未満の印刷をユーザーが要求した場合にエラーを表示する

if ( a >= 1 ) {
    // 印刷処理
} else {
    // エラー処理
}

4つのバグが起こりうる

1.>と>=の間違い

if ( a > 1 ) {
    // 印刷処理
} else {
    // エラー処理
}

2.数字の書き間違いやスペックの読み違いなど

if ( a >= 2 ) {
    // 印刷処理
} else {
    // エラー処理
}

3.境界がない

if ( a >= 1 ) {
    // 印刷処理
}
// このあとがコメントアウトされているなど

4.余分な境界

if ( a >= 1 && a < 10 ) {
    // 印刷処理
} else {
    // エラー処理
}

境界のテストをするために ~On-Off ポイント法~

  • 異なる処理が行われる一番近い2地点をテストする方法
  • 前述の4つのケースが満たされることを意識する

今回書くべきテストケース例

  • 1を入力→正常な処理がなされること
  • 0を入力→エラー処理がなされること

同値分割法と境界値分析法の組み合わせ

(例)
入力A:1~999まで入力可能
入力B:同上
入力C:A*B

有効同値クラス 無効同値クラス 境界値
入力A 1~999 0以下1000以上 0,1,999,1000
入力B 1~999 0以下1000以上 0,1,999,1000

テストケースは、A・Bに以下の数を入れて作れば良い

  • 0:常にバグになりやすい数
  • 1:有効な値の下限
  • 499:有効な値の真ん中
  • 999:有効な値の上限
  • 1000:無効な値の下限

経験則によるテストケース

いつでも上記のような表を作ってテストケースを書けるとは限らない

  • データが複雑に絡まりあっている
  • 十分なスキルがない
  • 時間がない… などなど

良いデータと悪いデータを入力するということを意識するだけでもテストは改善する

良いデータ

  • ユーザがよく使いそうなデータ
  • プログラムが許す最小のデータ
  • プログラムが許す最大のデータ
  • ゼロ(これが悪いデータの場合もあり)

悪いデータ

  • 非常に小さなデータ(-99999999, 0.0000001など)
  • 非常に大きなデータ(99999999, 10999999など)
  • 長いデータ(abcdefghijklmnopqrstuvwxyz.txtなど)
  • 無効なデータ
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?