これは、不安定なテストに関する一連の記事の続きです。
最初の記事(Habréのオリジナル/翻訳)では、不安定なテストが発生する可能性のある4つのコンポーネントについて説明しました。
この記事では、4つのコンポーネントのそれぞれで不安定なテストを回避する方法に関するヒントを提供します。
コンポーネント
したがって、不安定なテストが発生する可能性のある4つのコンポーネントがあります。
テスト自体。
テストを実行するためのフレームワーク。
テスト対象のシステムとテストフレームワークが依存するサービスとライブラリ。
自動テストフレームワークが相互作用するオペレーティングシステムとデバイス。
これを図1に示します。
理由、問題を特定するためのオプション、および不安定性を解決するためのオプションについて、以下で説明します。
テスト自体
テスト自体が不安定になる可能性があります。
その理由は、テストデータ、自動テストスクリプト、自動テストの前提条件、およびその他の依存関係の初期状態にある可能性があります。
表1-理由、問題を特定するためのオプション、およびテスト自体の不安定性を解決するためのオプション。
不安定なテストの理由 |
問題のローカリゼーションオプション |
ソリューションオプション |
誤った初期化またはクリア。 |
. . , . , . |
. . , . |
. |
. |
- . |
. . |
. |
, . |
, , - . |
, . . |
, . , . , . |
( ). |
. |
- . |
2 — , ,
|
|
|
, . |
, . |
. |
, "" . |
. |
. |
( , ). |
, . |
. . |
,
( ) .
, .
.
3 — , ,
|
|
|
. |
. |
, . , . |
. |
. |
. |
. |
. |
. |
. |
. Valgrind. |
. wikipedia . |
. |
, . |
. |
. |
. |
, . |
, .
4 — , ,
|
|
|
. |
. |
. |
. |
. |
. |
, / , . |
. |
. |
, . , , .