知識整理のために投稿しています。
本は 知識ゼロから学ぶ ソフトウェアテスト[改訂版]です。
テストってなかなか書けない。
ソフトウェアテストは簡単で楽しい
-
4つの振る舞いをテストするだけでほとんどのバグを発見できる
- 入力
- 出力
- 計算
- 保存
-
基本さえ理解できれば、あとは応用するだけ
- テスト業界の技術進歩は遅い
-
ブラックボックステスト
- 様々な入力を行うことにより、ソースコードを利用せずに(見ずに)テストを行う手法
同値分割法
入力領域を「同値クラス」という部分集合に分割し、その部分集合に入る入力値を等価と見なす
(例)
入力A:1~999まで入力可能
入力B:同上
入力C:A*B
非常に強いテストケース
| A | B | ||
|---|---|---|---|
| ⑤ | 500 | 500 | 有効同値 |
| ② | -20 | -20 | 無効同値 |
| ⑩ | -5 | 1100 | 無効同値 |
| ⑥ | 0 | 500 | 無効同値 |
| ③ | 500 | 0 | 無効同値 |
| ⑧ | 550 | 1100 | 無効同値 |
| ⑦ | 1050 | 600 | 無効同値 |
| ⑨ | 1100 | 1100 | 無効同値 |
| ④ | 1500 | -5 | 無効同値 |
| ① | 0 | 0 | 無効同値 |
テストケースをうまく減らす
無効同値のテストケースが増えてしまう傾向にある
いつでも全部やるのは厳しいので、テストケースを減らすことを考える
案1
| A | B | ||
|---|---|---|---|
| ⑤ | 500 | 500 | 有効同値 |
| ② | -20 | -20 | 無効同値 |
| ⑨ | 1100 | 1100 | 無効同値 |
| ① | 0 | 0 | 無効同値 |
| ⑨が④⑦⑧⑩をカバー、 | |||
| ②が③④⑥⑩をカバーしている |
案2
| A | B | ||
|---|---|---|---|
| ⑤ | 500 | 500 | 有効同値 |
| ⑩ | -5 | 1100 | 無効同値 |
| ④ | 1500 | -5 | 無効同値 |
| ① | 0 | 0 | 無効同値 |
| ④が②③⑦⑨をカバー、 | |||
| ⑩が②⑥⑧⑨をカバーしている |