本書は、JavaプログラムのテストをJUnitを使ってEclipse上で行ってしまおうという、いかにもJavaプログラムにうけがいい内容をもってきています。しかし、中身はというと、非常に実践向けの、テストの何たるかを開発者の視点から語っているわかりやすい内容になっています。
Eclipse上でJUnitを使う方法が後半に載っています。丁寧な解説とわかりやすい図で、こちらも迷うことはないと思います。
プログラミング初心者の書いたコードに限らず、テストがしっかりとできていないコードというのは、品質に問題があります。動けばいいという考えはそろそろやめにして、とりあえず流行のテスティングにのっかってみましょう。絶対損はないはずですから。
特徴
「テストの重要性は、耳にたこができるほど聞いた。でも、実際にどうやればいいの?」という人にこそ、本書をおすすめします。まず、テストの何たるかを前半で、中盤ではどんなテストを行えばいいのかまた、どのようにテストを行えばいいのかを。後半では、EclipseとJUnitという2大ツールの使い方を学べます。
複数回実行されたときの状態をテストしたいとき、スレッド関連のテストをしたいとき、例外が発生したとこにテストをを行いたいときなど、少し変わったテストに関しても解説してあります。テストの応用編もあり、Antによる自動実行の方法もあり、実際に現場で使える技術・技法を学べます。
テストをしやすくする方法も書いてあります。これは、プログラムをどう作ればいいかの手ほどきになっていて、初心者プログラマだけでなく、実際に現場でバリバリの中堅プログラマの人も教わる点はあると思います。
少しリファクタリングぽっくなっているのが、実際にどうすればいいのかという疑問に答えてくれると思います。
かなり使える現場向けのテスト解説本になっています。今すぐ全部を読む必要はないですが、現場に一冊あると効果的かと思います。おすすめ!
覚書き
どんなときにテストするのか
テストは「不安に思ったらする」です。「このメソッド動かなさそ〜」とか、「ここはバグが出たらまずい。」といった不安がでたら、まずテストする。不安がなくなるまでテストする。自分の作ったプログラムに責任を持ち、正しく動くかどうかを不安に思わなければならないのです。
どんなテストをすればいいのか
コードをテストを意識せずに書いてはいけない。テストケースを考えながらコーディングすることで、仕様の抜けや問題点が明確になります。設計自体も洗練されていき、わかりやすいコードになります。
テストしなければならないのは、「正しく動作するか疑問な部分」です。非常に明快で、バグがないことがはっきりわかるくらいのコードなら、テストする必要すらないでしょう。明快な部分をテストするのではなく、動くか疑問、正しさが証明できない部分を重点的にテストするべきです。
限界値のテストはもちろんするに越したことはないのです。また、メソッドを呼び出すことで内部状態が変わるものは、その呼び出し順序がどのようであっても正しく動くかをテストするべきです。
参考
- JUnitの情報はこちら
- Eclipseの情報はこちら
- JUnitに関する解説本です。
- テスト駆動の開発入門書です。
- C++ によるテスト実践書です。