JUnit速効レシピ
公開日 更新日 2014/11/16
Javaでの開発をやっていて、テスト駆動開発(TDD)を適用するなら、まず外すことの出来ないテスト自動化フレームワークの選択肢としてJUnitがあります。
最近では特にテストの再利用についての重要性が高まり続けているので、そろそろ本気でテスト開発を進めようと思い、その第一歩として本書を読んでみました。
入門書だけどガイドブックじゃなくリファレンス
JUnitは古くから開発が始まっていたらしく、検索してみると最初のリリースが1998年だとか。
また最近は開発が落ち着いているようで2年ほどリリースがない模様。
そういうジャンルなので、関連書籍は非常に多く入門するにあたって選択に迷いましたが、安易に最近発行された本書をチョイス。
ページ数で300ページ程度のため分量はそこそこあるものの、目次を見るとわかるのですが、手順やJUnitの構文を細かな単位に小分けした章になっていて、辞書のように読みたい箇所を直接開くというタイプの構成になっています。
それ故に1ページ目から順番に読んでいくと、最初は基本的な事柄だから普通に読み進めていくけど、テスト作成を始めたあたりからは構文に応じた効果を中心とした書き方で順序性が少ないので、手を動かしてテストを組み出してみないと身につかないように感じました。
逆にいえば、本当にJUnitを使ったテスト開発をやっているのであれば、目次から欲しいページに直接行きつけるという意味では最高の章構成になっていると思いました。
JUnitの奥の深さが分かりました
仕様書をいくつも作りたくないだとか、ソースコード上でのみ仕様定義したいという開発の場合、JUnitなどテスト駆動開発はテストコードが仕様書とみなせるため、とても魅力のあるフレームワークなんだと思います。
これまでの開発ではJUnitを使ってなかったので、達成できたら力の入れどころがかわる気がします。
また本書を読んでみて、JUnitの良い所ってだいたい以下のあたりだと思います。
これまで知らなかったパラメータを変えてのテスト再利用は、テストの開発にかける費用を削減できるという意味で重要なポイントでしょう。
- モジュールテストの自動実行ができる(当たり前ですが)
- 異常終了が起きることも、想定された正常判定ができる(当たり前ですが)
- 同じテストをパラメータを変えて再実行できる
- 事前処理、事後処理などテストごとのセットアップも定義できる
- テスト結果を分岐や比較演算を駆使して、仕分けることもできる
とは言え、やっぱりJUnitを適用したとしてもテストの開発って軽視できない時間がかかると思います。
そもそも仕様がコロコロ変わるような開発初期では、安易に適用なんかしたら作ったテストを仕様に追従させるのに一苦労してしまうので、なにか間違ってる気がします。
そういうこともあって、テスト自動化フレームワークの一番の悩みどころは、適用時期を考えないといけないってことだと思います。
レスポンシブ広告
関連記事
関連記事はありませんでした
- PREV
- パンくずリストをもっとカッコよくする
- NEXT
- バージョンアップしたら画面が真っ白になる問題