4

私たちのシステムには約100のテストケースがあります。私たちは、そのための自動テストスイートを構築しようとしています。自動化されたテストケースの実行 - 停止するタイミング

テストの実行中は、25番目のテストが失敗すると言います。自動化されたテストシステムがここで救済され、実行が中止されるか、失敗したとマークして、テストケースを26回以上実行しようとしているかどうか(つまり、すべてのテストサイクルはテストケースに関係なく100のテストケースすべてを実行します)。

テストケース26を実行するためにシステムをリセットする必要がある場合は、テストケースが失敗した後に(たとえば、No 25)、それが処理されます。

おかげ

ジェームズ

答えて

8

あなたのテストが独立している場合 - あなたはそれらのすべてを完了する必要があります。これにより、システムの安定性を監視し、テストを何度も再実行することなく、すべての問題を一度に見ることができます。

0

人間の介入なしで実行されている場合、自動ビルドの一部として、私はすべてのテストを試みたいと思うでしょう。

しかし、人が止まる時間を節約できる問題を修正するモードがあります。それが簡単な場合は、「最初の失敗で停​​止する」オプションを提供したいと思います。

+0

このようなシナリオの例はありますか?私は何も考えることができません。 – bezmax

+0

@Max:古いテストが終わるまで新しいテストを開始できない場合は、1つと考えることができます。あなたのテストスイートが通常1時間で実行され、5分の修正が迅速に行われている場合は、テストでバグを修正しようとしているときにテストを再実行するために1時間待つ必要はありません。 2。 –

+0

@Bryan Oakley:テストがお互いに依存している場合、それらを分離しないことが一般的です。それらは1テストブロック/メソッド/ユニット/ etcに含まれていなければなりません。したがって 'test1()'、 'test2and3and4()'と 'test5()'を実行した場合、 'test1()'と 'test5()'が最初に実行され、 'test2and3and4()'は失敗します。そしてすべてを修正して再実行し、 'test2and3and4()'も渡します。 – bezmax