まず、JMeterはコマンドラインから実行できるため、これを行う際に変数を渡すことができるため、CIに組み込むのに適しています。私はこの仕事のためにそれをお勧めします。
一般的に、Perfを統合しています。 CIへのテストは困難です。あなたはすでにこれが理由である理由の多くを既に列挙していますので、あなたがその限界を理解しているので、あなたはすでに半分のところにいます。そしてそれはこすりです:Perfを持つことは可能です。 CIのテストは限られていますが、
私は良いアプローチは、これらの原則のいくつかは次のことを考える:
あなたが全負荷を実行します(またはソークや容量)することはできませんCIでのテストを、それは実用的ではありません。 結果は主観的で人間の解釈が必要であり、テストを実行するには時間がかかります。しかし、要求の応答時間を測定する簡単で細かいテストを実行し、次にこれらの応答時間を評価することができます。
- NFRまたは予想される範囲 - つまり、 1秒未満でなければなりません。
- 上記の結果に対して、すなわち、最後のビルドよりも10%以上ずれてはいけません。
自動化されたload/perfを実行することもできます。フルボリュームでのテスト - ビルドプロセスの外。 'Semi CI' 一晩中実行するテストを自動化して、午前中に結果を確認できますか?
反復。 テストを開始して結果を得て、テストを細かく調整し、時間の経過とともにテストをどのように解釈するかを開始してください。それをシンプルに保ち、役に立つと思われる領域に焦点を合わせます。ファンファーレで起動しないでください。プロセスに自信を持ってビルドに失敗し、そのことを人に伝えるようになるまで静かにしてください。最初は偽のネガティブなものがたくさんあります。
機器の結果 これを行う。たくさん。 CIはすべて早期に失敗することになりますので、目的を達成するには、テストを早期に実行するのが最良の方法ですが、その問題はデータに埋もれる危険があります。したがって、データをクランチして関連情報を提示する効果的な方法は、かなり役立ちます。
プロセス全体を自動化してRed Flag Green Flagにすることはできませんが、可能な限りそのパスを遠ざけようとする必要があります。
最後に、Perfのリーダーであるa very good talkがありました。この主題を扱うGoogleのテスターです。今はちょっと古いですが、原則はまだありません。さらに、数週間後にイギリスのメディア会社、Channel4が、彼らがどのようにこれに近づいてきたかについて話し合うmeetupに行く予定です。スライドの一部を聞くことができます。
JMeter Mavenプラグインを見たことがありますか? .netではなく、JenkinsのようなCIサーバにプラグインするのはかなり面白いです。 https://github.com/Ronnie76er/jmeter-maven-plugin – Ardesco