ソフトウェアテスト技法練習帳の1問目を解きました!
問題文はもう少し長いですが、書籍より一部転載いたします。
教科書は ソフトウェアテスト技法練習帳 ~知識を経験に変える40問を利用しました。
問題
このメッセージのテストケースを同値分割法と境界値分析を使って作成するというものです。
No | 室温 | 表示メッセージ |
---|---|---|
1 | 24.0℃未満 | 寒い |
2 | 24.0℃以上26.0℃未満 | 快適 |
3 | 26.0℃以上 | 暑い |
自分の回答
温度 | 表示 |
---|---|
23.9 | 寒い |
24.0 | 快適 |
25.9 | 快適 |
26.0 | 暑い |
もっとやってよければ
- 考えうるもっともおおきな値で寒いと暑いをひとつづつ追加する
もう少しへらしたいなら
24.0もしくは25.9を削除する
少なくとも テキスト表示3種類を確認したい
疑問
- Unitテストとして書く場合はどこまで書く?
- 7つは多い気がするが、QA的には割と普通?
教科書の答え
- 境界値で4つ(境界値分析)
- 代表値を各ひとつ(同値分割法)
で合計7つ
同値分割法
第4回 ブラックボックステスト:ソフトウェアテスト基本テクニック|gihyo.jp … 技術評論社
同値分割法はテストを意味のあるグループ(同値クラス)に分類して代表値を選ぶ
- これによりテストケースの偏りと冗長を防ぐ
- 無効な値をして無効同値クラスという考え方がある
- 代表値はどこでもよいが「この値でテストが通ればその同値クラスは全部OK」という値を選ぶべきで、真ん中付近が確実(良いとされている?)
境界値分割法
境界の値をテストデータとして使う
- 経験的に境界付近でミスが生じる可能性が高いため
- 同値クラスを跨ぐ部分でテストする
両方やる時は境界値を使ったテストで代表値を使ったテストをOKとする考えもできる。
優先度は 境界値 > 代表値
勉強会で出た意見
- 代表値はユーザーがもっとも使いそうな値という観点で選ぶと良い。(後からバグが出た時に、この値はやってて当然だよねとなることがある)
- 今回だと例えば、東京の平均気温的になりやすい温度などで考えるなどもできる。
最後に
コメントやアドバイス等お待ちしてます!