0

XML でカスタム テストを取得し、それらを CodedUI テストに変換するサービスがあります。次に、MSTest がテストをテスト コントローラーにロードするプロセスを開始します。テスト コントローラーは、テストをさまざまなエージェントに分散します。夜間に回帰テストを実行しているため、何か問題が発生した場合にシステムを修正する人が周りにいません。テスト プログラムで特定の例外が発生すると、エラー ウィンドウが開き、システムでテストを実行できなくなります。後続のテストはエージェントにロードされ、割り当てられたタスクを実行できないため、すぐに失敗します。複数のシステムで一晩中かかるはずの何千ものテストが、数分で失敗します。

テストが返される速さでエラーが発生したことを検出できますが、それ以上テストを取得できないようにエージェントを無効にする方法はわかりません。

補遺:

テストがひどく失敗し、これ以上テストを成功させることができない場合 (前述のように、おそらく新しいポップアップを処理するアクションがない可能性があります)、それ以上テストを実行する必要がないため、そのエージェントを無効にします。その上で:それらはすべて失敗します。多くのエージェントが同時に実行されているため、1 つが失敗した (そして無効になった) 場合でも、長い一連の失敗なしに負荷を分散できます。これらの他のリグレッション テストには、成功する (すべてが機能する) か、失敗する (別のポップアップを見逃したか、またはこれが実際のリグレッションの失敗であるか) 可能性があります。

20 秒で 2,000 回の障害が発生しても、1 つのシステムに誰も気付かなかった問題があり、今では丸 1 晩のテストを無駄にしたこと以外は何もわかりません。2 回の障害 (1 回は自然発生、1 回は前の障害による問題) と 1 回のシステム ダウンは、実行された夜間の合計が 1 時間か 2 時間延長される可能性があることを意味し、1 日を開始する方法に関する有用なデータがあります: 1 つのテストを修正し、両方の障害を再実行します。 .

4

2 に答える 2

0

If you can detect the point at which you want to disable the agent then you can disable the agent by running the "TestAgentConfig.exe delete" which will reset the agent to unconfigured state.

于 2012-12-18T04:46:42.097 に答える
0

その場合、テストランを中止する必要があります。mstest を自分で実行している場合は、コマンド ライン プロセスに ^c を挿入する必要があります。しかし、誰もそれを修正する人がいない場合、結果として生じるテストが失敗することがなぜ問題になるのでしょうか? どのテストがエラーの原因であったかをすばやく確認するだけの場合は、コード ui チェックを生成して、メッセージ ボックスが存在するかどうかを確認し、Assert.inconclusive でテストを決定的でないとマークしてみませんか。原因となるテストは、フラグのように目立ちます。

于 2012-12-11T23:51:44.603 に答える