Continuous TestingとかSelective Testingとかいう考え方

Atlassianが買収した事で,価格が跳ね上がったJavaカバレッジツール:CloverがTest Optimizationなんて特徴を持っているのを見つけて,上記のような言葉を知る。
#動画はこちら。→http://www.atlassian.com/software/clover/videos/test-optimisation.jsp


Continuous Testing/Selective Testingの手っ取り早い説明は「ZenTestのautotestのようなもの」,以上!!


なるほど,自動テストが当たり前な世の中になってきた*1ので,自動テストのやり方も次のステージに移ろうとしてるんだろな。TestNGみたく,あらかじめグループに分けてテストボリュームをコントロールするんじゃなくて,コードの変更点を自動検知して,必要なテストのみを走らせるってのがポイント。


CIでコミット後にビルド&テストってのは,テストが肥大化すると現実味が無いやり方だなと思ってたけど,それにContinuous Testingを組み合わせると,なんか先が明るくなる。常にオールテストしかないと思い込んでただけに,ちょっと目から鱗だった。
先のCloverは商用だけど,OSS系だと,こんなのがある。

そのうち使った事あるのはInfinitestだけ。しかもIntelliJプラグイン(InfiniJ)を使ってみただけで,まだCIと組み合わせてみたことはない。えへっ。:-)
でもうまい事,CI(というかAntとかMaven)に組み込めたら,きっと楽しいに違いない。


ps.
と言ってみたものの,例えばInfiniJ,お試しでちょこっと組んだ分には期待通りに振る舞っていたけど,そこそこの規模のプロジェクトに適用したらテストランナー動かなかったんだよね。
つうわけで,発想は面白いけど,実装はまだ発展途上なんだなっと思った次第でありますヨ。:-P

*1:あたしのまわりじゃ,そんな事は決して無いのだが...。