6

外部ソースにデータを送信し、データがWebサイトに正しく表示されていることを検証する必要があるプロセスの自動統合テストを実行したいと思います。

ただし、データがWebサイトに表示されるまでに数時間かかる場合があります。

従来のNUnitまたはMSTestの問題は、テストが結果を待つために何時間も保留されることです。

すべてのテストを並行して実行するために使用できるPNUnitを見たことがありますが、それは私には洗練された解決策ではないようです。1000のテストがある場合はどうなりますか?これにより、サーバー上に大量のプロセス/スレッドが作成されませんか?そして、それらすべてを追跡する方法。

それで、誰かがこの問題を解決しましたか?あなたは家で解決策を育てましたか、それともこれに対するオープンソースの解決策はありますか?

4

4 に答える 4

2

この問題は、テスト データの挿入と検証を分離することで簡単に解決できます。利用可能なすべてのテスト データをシステムにロードし、処理が完了するまで数時間待ってから検証テストを実行するだけです。

于 2011-11-26T14:53:18.207 に答える
1

PNUnit が良い解決策になるようです。サーバー上の「プロセス/スレッドが多すぎる」ことが心配な場合は、PNUnit が一度に実行できるテストの数を調整してください (最大 N など)。テストが完了したら、次のテストをスケジュールします。PNUnit がこれを行う方法を知っていると主張しているわけではありません。このカスタムを実装する必要がある場合があります。

于 2011-11-26T17:56:21.067 に答える
0

NUnitでまさにこの問題についての議論があります-現在Googleグループについて話し合ってください:http://groups.google.com/group/nunit-discuss/browse_thread/thread/645ecaefb4f978fa?hl = en

これがお役に立てば幸いです:)

于 2011-11-28T13:40:57.563 に答える
0

マーティン、私のソリューションにたどり着く前に、単体テストでは、自分が制御できるものだけをテストしたいと思うでしょう。上記は、私が回帰テストと呼んでいるものに似ています。「彼らの」ウェブサイトは他の誰かのウェブサイトであると想定しています。インターフェース/統合のルールに従っているのに画面に何も表示されない場合はどうなるかお尋ねしてもよろしいですか? さらに、ウェブサイトやアルゴリズムを変更するとどうなるでしょうか? 彼らが何をするかに基づいてコードを書く必要が生じるでしょう。

とはいえ、前述のように、ロード テストと検証データ テストを分離することができます。私は PNunit について何も知らないことを告白しますが、単純にスレッドを投げるだけでは、往復テストごとに 3 時間の遅延を解決することはできません。

同期的に実行する必要がある場合は、すべてのデータを ClassInitialize() にロードしてから、実際のテストを確認して実行するまでスリープすることができます。

私だったら、負荷テスト用に 1 つのテスト プロジェクトを作成し、数時間後に結果を検証するためのプロジェクトを 1 つ作成します。同期をとることは、他の方法でも処理できる結果をテストする前に前提条件が確実にパスすること以外に、多くの利点をもたらすようには見えません。

于 2011-11-28T22:10:03.630 に答える