ArquillianとTDD
棚卸し5日目。Arquillianはあくまでツールなので、どんな使い方をしてもかまわない。だけどやっぱりTest Driven Developmentの思想はいろんなところで透けて見える。
例えばガイドもそうだし、下に載せるDan Allenのスライドにも謳ってある。
TDDで大事なところは例えばこんなところ
- 開発者がテストを作成する。テストというよりは、テスト可能な仕様として作成する。
- 網羅率100%は要求しない*1。開発者が仕様上、実装上で確認したいところを作成する。
- 実行速度が重要。コーディングの手を止めないよう短時間でテストが終わる必要がある。
ほかにもいろいろあるけれど、この「速度」や「開発者のテスト」の観点を抜くと、Arquillianの魅力は半減すると思う。TDDって誤解されて伝わっていたり、拒絶反応があったりして、全面に押し出してArquillianを紹介することはちょっと躊躇する部分もある。特に過去のJavaEE開発においてはそれが顕著だったようだ*2。
今年Arquillianを何度か紹介したが、時間の都合もあってバックグラウンドのTDDについて説明できてない*3ので、棚卸しとして書いてみた。
続きを読む追記
Andrewに聞いたら、TDDはちょっと厳格にテストファーストすぎるから、それは目的ではないとのこと。もう少し広い意味で、テストの自動化を目的としているそうだ。
それは納得。ただ、個人的にはTDDではなくテスト自動化を推進している人ってあんまり知らない…。