ふつうのJavaアプリ開発のための自動テスト戦略
最近(ここ半年ぐらい)、会社で自動テストを普及させることが業務の一つになっているんだけれども、なるほどこう整理するのかと合点いったスライド。
まずは割れ窓理論で壊れたまんまにしていることを解決することだよなあ。
その後、テストのスコープをきちんと定めること。「単体テスト」という一般用語だけではなくちゃんと定義すること。Google Testing Blogにある「Test Sizes」の内容、これがかなりスッキリする感じ。
ただ、これを実戦投入しようとすると、キレイにクラス設計・メソッド設計・メソッド分割できているわけではないので、プロジェクトごとに最適解を考える必要がありそう。特にSmallのものをやろうとしてモックだらけになって「あれ?なんのテストしているんだっけ?」ってケースに陥りそうで怖い。