自動化をテストします。はい、もしくは、いいえ?

記事の翻訳は、「PythonQAエンジニア」コースの開始を見越して作成されました










「何を自動化するか」と尋ねる前に、次の質問に答える必要があります。「現在のプロジェクト内で何かを自動化することは合理的ですか?」答えが「はい」の場合(つまり、資格のあるQAスペシャリスト、十分な時間、お金など、自動化を確実にするために必要なすべてのリソースがあることを意味します)、テスト対象の要件に基づいて計画を作成する必要があります。自動テスト。このようなドキュメントを作成するときは、何を自動化したいのか、どのように、どの自動化ツールを選択するのかを明確に理解する必要があります。ここでは、これまたはその機能を正確にテストする方法の詳細については説明しません。これは、自動化をどこに実装する必要があるかについて関心があるためです。



もちろん、以下のリストは完全ではなく、各機能をチェックするためのテストの詳細なリストは無意味な作業のように思われます。私たちのタスクは、最初に自動化する必要があるプロジェクト内のパーツを選択することです。



  1. エラーのリスクが高い、頻繁に使用される機能。重要な機能ポイントの自動テストにより、エラーを見つけるまでの時間が短縮されるため、エラーを排除するために必要な時間も短縮されます。
  2. 典型的な、頻繁に実行されるデータ処理操作。たとえば、入力するフィールドの数が十分に多いフォーム。ここでの目標は、必須フィールドへのデータの入力を自動化し、結果を受け取った後にタスクが正しく完了したことを確認することです。
  3. 検証メッセージ。適切なフィールドへの誤ったデータの送信を自動化し、データ検証とエラーメッセージの正確さをテストする必要があります。
  4. 統合オブジェクトとしてのシステム全体の動作の包括的なテスト(エンドツーエンドテスト)。
  5. 正確な数学的計算を必要とするデータの検証(会計または分析ソフトウェア)。
  6. データクエリに応答して表示された検索結果の正しさをチェックします(データ検索の正しさをチェックします)。
  7. データ取得の検証。


自動化しないものは何ですか?



自動テストに含めるべきではないタイプのテストは何ですか?テストケースを自動化する必要がない状況をリストしてみましょう。



  1. エラーまたは予想される動作からの逸脱をチェックするために手動の介入を必要とする使用可能性テスト。
  2. インストールを含む、または機能の再実行を必要としないテストケース(ただし、自動化するにはデータ入力を意味するテストが必要です)。
  3. 予測できない結果につながる可能性のあるテストの自動化は避けてください(たとえば、新機能、一時的なテスト、有効期限のチェック)。
  4. さまざまなサイズの画面上のオブジェクトの動作のチェックを含むUXテスト。


自動テストの効率を向上させるには、テストケースに特別な注意を払う必要があります。次の側面のテストに焦点を当てているものを強調する必要があります。



  1. 作成/読み取り/更新/削除操作(CRUD操作)。最も簡単な例はユーザーインターフェイスです。ユーザーデータの入力、表示、編集、情報の削除。
  2. アプリケーションを使用するための標準的なシナリオ。例として、メールクライアントの操作があります。承認、レターの表示、受信したレターのナビゲート、新しいレターの作成と送信、ログアウトです。このエンドツーエンドのシーケンスは、アクションと操作の全範囲をテストします。このようなシナリオの利点は、テストの終了時に、システムが元の状態(またはそれに近い状態)に戻ることです。これは、他のテストの結果への影響が軽減されることを意味します。
  3. 手動テストが何らかの理由で適切でないその他のケース。たとえば、システムによって作成されたファイルの構造を確認します。


あなたが最大の利益を得ることができるのは、そのような機能の自動化からです!







続きを読む:






All Articles