5

アリュール レポート ツールは、テスト実行ごとに 1 つのレポートを表示するように設計されています。開発者はそれについて私に警告しました。とにかく、この便利なツールがもっと必要です。

  • 魅力レポートを月に数日保存することを考えましたか?
  • 履歴データを自動的に分析することを考えましたか?

基本的に、質問に対する答えを見つける必要があります: 前月のどのテストが不安定で、安定させる必要がありますか? 残念ながら、メインの Web サイト ( http://allure.qatools.ru/ ) またはインターネットのボックスから回答が見つかりませんでした。

私の解決策:

最初の質問を解決しようとしています: [解決済み]

jenkins CI ツールでアリュール レポートをアーカイブし続けようとしましたが、1500 個の TestNg テストを管理する必要があり、アリュール レポートの生成とアーカイブに約 10 分かかります。これは、パイプラインでは受け入れられません。次に、jenkins スレーブに関するレポートの生成を開始し、次の構造に従ってリモート ボックスに ftp しました: project_type/pipeline_type/suite_type/day/build_number。

私はレポートを btrfs 圧縮を使用して生のプロジェクトとして保存します。これにより、json ファイルを非常に効果的に圧縮でき (ファイルは 5 倍に圧縮されます)、UI からファイルにアクセスできます。

UI は、ファイル システム構造に従う django (単純に大好き) プロジェクトです。

このアプローチにより、データを集約できます。

2 番目の質問を解決しようとしています: [未解決]

suite_type のすべての実行でデータを集計し (上記の構造を参照)、メインの実行または再実行の試行で失敗したテストを見つけ (FailedReporter TestNg リスナーを使用して失敗したテストを 3 回再実行します)、失敗した理由を失敗したテスト。理想的には、失敗したテスト結果を保存されたレポートと照合する必要があります。

例えば:

2 つのレポートがあります。

../パラレルスイート/2015-10-21/560

../パラレルスイート/2015-10-22/584

各スイートは testCreditCard のテストに失敗しました。

  • 560 ビルドでテストが失敗しました。理由は、サード パーティのシステムがダウンしていたためです。
  • 最初の再実行試行で 584 ビルドでテストが失敗しました - サード パーティのシステムがダウンしており、2 回目の再実行試行で理由がありました - IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck, 3 回目の試行で合格しました。

third party system was down結果として、エラーは 2 日間で 2 回、2 日間でIndexOutOfBoundsException1 回であり、2 日目に 3 回目の再実行試行でテストに合格したことを知る必要があります。

誰かがこの方向で働いていますか?

4

1 に答える 1

1

はい、Allure は集計レポートをサポートしています。しかし、それはより多くのことです:

  • 分散実行 (Allure モデルによると、すべてのテスト ケースは実行されたホストでラベル付けできます)
  • 複数の実行 (たとえば、テストはさまざまなプログラミング言語で記述されています。単一の Allure アダプターを実行することはできません)。

私の知る限り、Allure は過去のテスト結果の追跡や傾向の発見などをサポートすることはありません。過去のテスト結果は膨大な量になり、ブラウザがクラッシュする可能性があります。また、タイムライン タブが意味をなさなくなります。その他のタブでは、大幅な変更が必要になります。これらのシナリオにソナーを使用しないのはなぜですか?

于 2015-11-23T14:09:36.713 に答える