2008-08-11 15 views
8

私の仕事では、約3000の別々のテストケースで構成される一連のテストを実行しています。これまでは、1台のマシンでこのテストスイート全体を実行していましたが、テスト実行全体を完了するまでには約24〜72時間かかりました。私たちは現在、約3つの別々のマシンにテストをグループ化して配布する独自のシステムを作成しました。テストは優先され、コアテストが最初に実行され、使用可能なマシンがあるときに追加テストが実行されます。テスト配布

完全な実行のための合計テスト時間を短縮するために、いくつかのマシンにテストを配布する良い方法が見つかったのか不思議です。私はいくつかの研究を行いましたが、TestNGはmoving in this directionですが、それはまだかなり開発の下にあるようです。

私たちのテストの書き直しは予定していませんが、新しいテストを追加したり、新製品やアドオンをテストしたりする際に、非常に大きな数を扱っていることに取り組んでいますテストの一方、Junit 3.xテストを非常に基本的な方法で配布するのに役立つツールを見つけることができれば、となります。これを行うために独自のツーリングを維持する必要がないためです。

答えて

2

distributed JUnitで遊んでいる人がいます。私はそれがどれほど効果的かを特に保証することはできないが、私が見てきた他のチームはそれが十分にまっすぐだと思ったようだ。希望が役立ちます。

1

ビルド担当者はMozilla Tinderboxを使用しています。これは、分散テストのためのいくつかのフックを持っているようだ。細部を知らないのは残念ですが、少なくとも私はあなたへのポインタを渡すと思っていました。

ビルドが壊れたときにすぐに見つけ出すことができますし、どのようなチェックインが原因であった可能性もあります。

http://www.mozilla.org/tinderbox.html

1

parallel-junitもあります。現在どのようにテストを実行しているかによって、その利便性が異なる場合があります。複数のコアを持つ単一システム上のマルチスレッドだけです。私は簡単に試してみましたが、現在テストをどのように行っているかの変更です。

Hudson、私が使用する継続的な統合エンジンには、テスト実行(個別のジョブを1つに集約した結果)を配布するいくつかの方法があります。