先週から、ひたすらバッチ処理のテストを行っています。
テスト仕様書を作り、愚直に1つずつ、1つずつテストケースをこなしています。
半年以上ぶりにテストを行ってみて、「心得」的なものをまとめておきたいと思います。
ちなみに、小規模な開発チームなので、「プログラマー=テスター」です!
ユーザーの立場になる(UIテストの場合)
まずは何と言ってもこちらでしょう。
今回はバッチPGMなので、「1 + 1 =」 が「2」になればOK!
とはいえ、画面開発なんかは、使ってくれる方がどんな思いで操作をするかをイメージしながらテストをすることは、もうマストといっていいでしょうね。
相手の立場に立って、徹底的に動作検証を行う。
それにより、テスト仕様書の内容も変わってくるはずです。
思い込みを捨てる
これが超・重要です!
仕様通りに行っても、テストを速く終わらせたい欲求から、「きっとこうだろう!」と思いがちです。
さらに、ユーザーは予想もしないような操作を行うケースがあります。
今まで、何度もその場面に直面してきたからこそ、声を大にして言いたい!
この操作は「当たり前!」などと思わずに、フラットな心理で、テストを実施していきたいものです。
テストケース設計時にも大事になってきます。
クリーンなテストデータを使用する
テストケースで使うデータは、テスト専用のデータだったりします。
となると、テストデータではOKだったけど、本番になったら例外が発生するなんてことも!?
とくにデータ量には意識した方が良さそうです。
まあ、負荷テストなんかも行うので、そこで非効率なSQLに気づいたりもするのですが。
仕様に沿ったデータで、テストをしましょうという話です。
Fast! Fast! Fast!
丁寧にやることは、もちろんなのですが、とにかく確実に速く終わらせることです。
そのためにも、テスト作業を短縮させる仕組みを作ることが大事。
毎回同じ操作をやっているなと思ったら、テスト結果に影響の無い範囲で、自動化したり、単一化したりするべきだと思っています。
とはいえ、きちんと休憩を取ること。
テスト作業は、コーディング以上に神経をすり減らすことになるので(私だけ?)、定期的に背伸びをする、コーヒーの飲むなどして、リフレッシュしましょう。
私は「ポモドーロ・テクニック」を取り入れています。
完成品に近づいている感覚を味わう
最後は、1つ1つの作業を通して、完成品に近づいているんだ!という感覚を味わうことになりますか。
まさにテストは、「使命感」が「貢献感」に変わる行為だと思っています。
私の大好きな名言、「ひとつだけ拾えばひとつだけきれいになる(鍵山秀三郎氏)」の通り、コツコツ、コツコツとテストを続けて、すべてをコンプリートすることで、大切なリリース日を迎えることができるでしょう。
まとめ
まだまだテストは、続きます。
つまり、自分へ言い聞かせるため、奮起を促すためにこんな記事を書いてみました。
きっと数年後に見る日も来るでしょう。
今は、こんな気持ちでテストをしているという事実を記したかった。
完全に自己満ではありますが、あらためて「テストの大切さ」を実感することができました。
引き続き、テストを丁寧に、素早くやりきります!