3

継続的インテグレーション プロセスで Jenkins を使用して BDD テスト (Cucumber/Selenium) を実行します。テストの数は日に日に増えており、これらのテストを実行する時間が増えているため、CI プロセス全体の応答性が低下しています (午後にコミットすると、ビルドの結果が翌日に表示されるリスクがあります)。テストの数が増えても CI プロセスを迅速に維持する方法/パターンはありますか?

4

2 に答える 2

4

次のスキームのいずれかを選択できます。

  1. 単体テストと統合テストのプロジェクトを分離します。単体テストは結果をより速く返し、統合プロジェクトは1日に1回または数回だけ実行され、各コミット後では実行されません。欠点は明らかです。統合テストスイートが壊れた場合、壊れた変更との相関関係はありません。
  2. Googleのアプローチ-テストをサイズ(小、中、大、巨大)に従って並べ替えます。テストの種類ごとに、特定のテストスイートの実行にかかる合計時間に応じて、個別のプロジェクトを使用します。あなたはこの本でもっと読むことができます。また、このブログを読んで、より賢明なアイデアを入手してください。
  3. ボトルネックを解消するために、現在のテストスイートのプロファイルを作成してください。これにより、タイムリーにフィードバックを提供できるようになる可能性があります。

お役に立てば幸いです。

于 2012-10-13T08:02:20.463 に答える
3

@Ikasoはそこでいくつかの素晴らしい答えを出しました。もう1つのオプションは、いくつかのビルドスレーブをセットアップし(まだ行っていない場合)、統合テストをスレーブで並行して実行できる複数のジョブに分割することです。

于 2012-10-14T16:32:17.277 に答える