最近業務でテストケースを書くことが増えました。
「テスター」としてテストケースを書くようになってから、
「プログラマー」だったときに、いかに適当に書いていたかを痛感しました。
シチュエーション
メール送信ツールに「下書き保存」機能を追加した。
さあ、テストじゃ、テストじゃ。
ダメな例
【手順】
メールの文章を入力し、下書き保存ボタンを押す
【結果】
編集した内容が、正常に上書き保存される
ひどいときはこんな感じに書いていたかと、、、
以下、簡単に問題点を挙げてみます。
問題点
- 下書き保存の方法は「ボタンを押す」だけではないかもしれない
- 「正常」の基準が曖昧
- 編集内容の指定が曖昧
もしかしたら、「Ctrl + sで保存できるようにしている」という機能もあるかもしれません。
もしかしたら、「ファイルを添付して、Ctrl + s で保存後、再度開くと添付ファイルが消えている」といった
バグが有るかもしれません。
上記のようなテストケースだと、上記のようなバグが後から発覚した場合、
そのテストを本当に実施できていたかどうか、追跡できない可能性があります。
ということで、問題点を踏まえて、再度テストケースを考えてみます。
テストケース
【手順】
1. ファイルのサイズが0より大きいテキストファイルを1つ添付する
2. Ctrl + s を押す
3. 上書き保存が完了したらファイルを閉じる
4 .メールを開き、添付ファイルを確認する
【結果】
・添付ファイルのファイル名が、上書き保存を行う前と同じ名前である
・添付ファイルの内容が、上書き保存を行う前と同じである
という感じでしょうか。
(自分もまだまだ勉強中なので、少し不安ですが、、、)
まとめ
- 手順と結果を具体的に記述する
- 正しい手順にとらわれず、あらゆるケースを想定する