how translate manual test cases into automation scripts
これは基本的な「ハウツー」記事であり、自動化ツール固有のものではありません。基本的に、私がここでやろうとしているのは、自動化テストケースを作成するための思考プロセスを言葉にすることです。いつものように、これが皆さんのお役に立てば幸いです。
自動化テストケースまたはスクリプトを設計する方法は?
自動化は常に手動テストに従います。通常、手動テストの1つ以上のラウンドはすでにAUTで実行されます。これは、手動テストケースがすでに存在し、少なくとも1回実行されたことを意味します。
例えば、 以下があなたのものであると仮定します 手動テストケース 。 Gmail.comサイトにログオンするだけです。さて、これは十分に単純に見えますね?これはどのようにして自動化スクリプトになりますか? (画像をクリックすると拡大します)

学習内容:
この手動テストケースを自動化スクリプトに変換する方法は?

以下は、自動化スクリプトへの変換を実現するために従うガイドラインです。
トレントファイルの使用方法
#1)AUTの状態: 列の前提条件は、実行される特定のステップに対して設定されるバックグラウンドの特定の状態に他なりません。これは、次の2つのシナリオで特に重要です。
- テストを開始するには: この場合、ブラウザを使用可能にして起動する必要があります。 (ユーザー名とパスワードの可用性については、しばらくして対処します)。では、オートメーションの世界で同じことをどのように書くのでしょうか? QTPを検討してください。プログラムステートメントを使用してブラウザを起動するか、(設定の記録と実行)ダイアログを使用してプロパティを設定するオプションがあります。これらのプロパティを正しく設定することは非常に重要です。多くの場合、これが特定のコードがマシンで機能し、他のコードでは機能しない理由です。
- 特定のステップを実行するには :ステップ2を実行するには、ステップ1を実行して完了する必要があります。手動で行うには、ステップの実行が完了してページが完全に読み込まれるまで待つだけです。自動化スクリプトのsyncまたはwaitステートメントを使用して、目的の状態が実現するまで待機します。
注意: 複数のデータセットに対して同じコードを実行している場合は、次の反復が開始される前の状態にAUTを戻していることを確認する必要があります。
#2)テスト手順
手動テストの手順は、次の3つのカテゴリに分類できます。
- データ入力 :データ入力ステップでは、AUTへの入力としていくつかの情報を入力します。
- AUT状態ステップの変更 :これらの手順は、AUTに変更を加える原因となる手順です。これには、新しいページへの移動、特定のフィールドの表示、編集ボックスの編集などが含まれる場合があります。
- 組み合わせ :名前が示すように、これは上記の両方のタイプの組み合わせです。チェックボックスをオンにすると、特定のフィールドがアクティブになります。その場合、チェックボックスフィールドに値「True」を入力すると、AUTの状態になります。
上記のテストケースでは、タイプ1とタイプ2のステップのみが存在します。
- タイプ1:テストステップ2および3
- タイプ2:テストステップ1および4
任意のツールを使用して自動化スクリプトを作成するための前提条件は、AUTだけでなくツールの分析にも時間を費やすことです。それらの両方が互いにどのように相互作用するかを見てみてください。 例えば、 QTPには3つの記録方法があり、それぞれが異なる方法で機能します。
それがどのようにオブジェクトを識別するかを知っているなら、どれを使うべきかを知っていて、それらをよりよく使うでしょう。 QTPがオブジェクトを簡単に識別できるWebアプリがある場合は、通常モードを使用できます。そうでない場合は、アナログまたは低レベルの方法を使用する必要があるかもしれません。
ルーターのネットワークセキュリティキーはどこにありますか
自動化の手順:
- データ入力手順 自動化と手動の方法で大きな違いはありません。データを入力するだけです。フィールドを参照する方法は異なります。手順を実行するのはマシンであるため、ツールが理解できる方法でAUTのフィールドを参照していることを確認する必要があります。つまり、コードで使用されている論理名を使用する必要があります。
- AUT /組み合わせ手順の変更について 手動シナリオでは、アクション(クリック、チェック、または入力)を実行し、変更を一度に確認します。しかし、自動化のシナリオでは不可能です。したがって、アクションと妥当性確認/検証の手順を必ず追加する必要があります。
- コメント 読みやすさのために。
- デバッグステートメント –これらは、テスト自体を作成およびテストする場合に特に重要です。メッセージボックスを頻繁に使用して、テスト実行のさまざまな段階でさまざまな値を出力するようにしてください。これにより、他の方法とは異なり、テストを可視化できます。
- 出力ステートメント– に 結果や、メモ帳やExcelシートなどの外部の場所に書き込みます。
#3)検証と妥当性確認
検証と妥当性確認がないと、テストの意図が失われます。通常、チェックポイントを使用する必要があります(必ずしも組み込みのチェックポイントを意味するわけではありません)。したがって、ロジックを構築するには、多くの条件ステートメントとループステートメントを使用する必要があります。
考慮すべき重要なことは、V&Vの基礎となる属性があいまいであってはならないということです。 例えば、 ログインに成功するには、新しい電子メールの数ではなく、受信トレイページの表示を探します。これは定数値ではないためです。
したがって、一連の操作が発生するたびに、必ず正しいものを選択する必要があります。
#4) テストデータ
以下は、テストデータ要件への回答を検討する可能性のあるいくつかの質問です。
- どこに配置しますか?
- ハードコーディングするかどうか?
- セキュリティ上の懸念?
- 再利用性の懸念?
手動テストスクリプトを振り返ると、テストデータ、ユーザー名、パスワードが利用可能であることが、テストを開始するための前提条件の1つであることがわかります。
#5)結果
手動テストケースの場合、各ステップの結果を「実際の結果」列に入力できます。自動化ツールの結果ファイルには、実行時の各ステップの結果が含まれています。
最近の自動化ツールには、非常に堅牢なレポート機能があります。ただし、それでも調整する必要がある場合があります 試験結果 。したがって、実行中に何が起こったかを正確に把握できるように、結果ファイルに頻繁に書き込む手順を含めてください。
使用しているツールが生成した結果ファイルへの書き込みをサポートしていない場合は、実行ステータスに関するコメントを入力するために、各テストに少なくともExcelシートまたはメモ帳を関連付けることをお勧めします。
#6)ポストオペレーション
テストが終了したら、ブラウザを閉じたりAUTを閉じたりするために、手動テストケースに明示的に記載する必要はありません。テスターとして、熱心にテストを行います。自動化テストケースの場合、これらの手順をスクリプトに含めることができます。クリーンアップ–私がこれらの活動と呼んでいるものです。作成したすべての接続を強制終了します。すべてのアプリを閉じます。メモリを解放します。
これらのガイドラインを使用して、手動テストケースをVBスクリプトを使用するQTPテストスクリプトに変換します。結果は次のとおりです:(画像をクリックすると拡大します)
クロスブラウザテストを行う方法

各ステップをウォークスルー
ステップ1: 前提条件。プログラムでGmail.comのURLを使用してIEを起動します。
ステップ2&7: 同期ステートメント。上で説明したように、これらは、次のステップの実行が続く前にAUTが目的の状態になることを確認するために重要です。
ステップ3&4: データ入力。すべてのデータはスクリプトにハードコードされています。お勧めできませんが、それは始まりです。
ステップ5: AUTステップの変更。ステップ5には、(サインイン)ボタンをクリックすることが含まれます。このステートメントが実行されるとき、V&Vは必要ありません。これは、後続のステートメントがあり、それを実行できるかどうかを示しているためです。それは成功する前のものを意味します。ただし、特に熱心な場合は、ここに含めることができます。
ステップ6&8: コメント
ステップ9&11: 条件付きステートメント。 V&V /チェックポイント。結果のページに受信トレイのリンクがあるかどうかを確認して、ログインが成功したかどうかを確認しようとしています。注意深く注意すると、内部テキスト「inbox。*」とのリンクが検索されます。したがって、受信した新しい電子メール(可変)の数に関係なく、受信ボックスリンク(常に一定)を使用できる場合は、チェックポイントが合格したことを意味します。
ステップ10: メッセージボックス。視認性のために
ステップ12&13: これらはクリーンアップ活動です。アカウントからサインアウトし、ブラウザを閉じています。
結論
したがって、適切に記述された手動スクリプトと従うべき一連の基本的なガイドラインがある場合、自動化スクリプトがいかに簡単に展開されるかがわかります。これはに関する記事ではないので フレームワーク 、関数、再利用性の要因、パラメーター化などを避けました。テストスクリプトは基本的な構成要素であり、基本的な知識があれば、スクリプトを即興で作成するのは簡単です。
あなたが考えている他の要因、あなたがより簡単だと思う別の方法、またはあなたが従うのが難しいと思うガイドラインはありますか?コメントでフィードバックを教えてください。
この投稿は、STHチームメンバーのSwatiSeelaによって書かれました。彼女は、さまざまなMNCでの作業で9年以上の手動および自動化テストの経験があります。彼女は私たちのインストラクターでもあります ソフトウェアテストQAトレーニングコース 。このコースに興味がある場合は、 今後のバッチスケジュールはこちら 。