6

C# および C++ で開発され、SQL Server をバックエンドとして使用する一連のアプリケーションがあります。統合テストは NUnit で開発され、実行に 2 分以上かかります。統合テストを高速化するために、以下を使用しています。

  • テストは同じワークステーションで実行されるため、ネットワークの遅延はありません
  • テスト データベースは、高速な DataRam RAM ディスク上に作成されます。
  • テスト フィクスチャは並行して実行されます。現在、一度に最大 4 つまでです。
  • ほとんどのテスト データは、テーブル値パラメーターを使用して一括読み込みされます。

自動化された統合テストを高速化するために他に何ができるでしょうか?

4

2 に答える 2

0

私はこの答えが好きではありません。間違っているので、統合テストをあまり書きません。私たちのアプリケーションはデータ量が多いです。私たちのコードのほとんどは、データに関するロジックです。したがって、統合テストがなければ、単純な単体テストしかありません (これはまだ作成する必要があると思います)。

統合テストは 1 時間実行されます。何千ものテスト。彼らは私たちに途方もない価値をもたらしました。

遅いテストと、なぜ遅いのかを分析する必要があると思います。データを削除して最初から再作成することなく、複数のテストでデータを再利用できるかどうかを調べます。テストを領域に分割して、すべてのテストを常に実行する必要がないようにします。データベースを再作成する代わりに、既存のデータベース スナップショットを使用します。

于 2020-03-23T14:48:39.453 に答える