QTP/UFT 自動化フレームワーク:データ駆動型、キーワード型、ハイブリッド型

⚡ スマートサマリー

自動化フレームワーク QTP/UFT テストスクリプト、データ、再利用可能な関数を整理することで、1つのテストで多くのケースを網羅できます。データ駆動型、キーワード駆動型、ハイブリッド型といった設計は、それぞれ異なる入力と再利用可能なロジックの組み合わせに適しています。

  • 🔘 データ駆動型設計: スクリプトはExcelやデータベースから入力を読み込み、出力を書き戻すため、1つのテストで何度も繰り返し実行されます。
  • ☑️ キーワード主導型デザイン: ユーザー定義関数は、LoginやOpenOrderといったキーワードとなり、コンパクトなドライバスクリプトから呼び出される。
  • ハイブリッド設計: キーワード関数はロジックを担い、パラメータ化されたデータは複数の入力を必要とするステップにデータを提供する。
  • 🧪 オブジェクトリポジトリが最初です。 テストで使用されるすべてのコントロールは、スクリプトがそれを確実に識別できるようになる前に、追加しておく必要があります。
  • 🛠️ 現在のツール: QTP ようになりました OpenText 機能テスト(UFT 1)、そしてVBScriptは引き続きサポートされているスクリプト言語です。

データ、キーワード、ハイブリッド自動化フレームワーク QTP/UFT

データ駆動型フレームワーク

データ駆動型フレームワークとは、入力データと出力データのさまざまな組み合わせによって駆動されるフレームワークのことです。

さまざまなデータの組み合わせを渡す方法の1つは、 パラメータ化この方法では、 QTP.

ただし、DDF では、パラメータ化を行うためにスクリプトが作成されます。この種のフレームワークは、AUT の機能を複数の入力でテストし、それぞれの出力をキャプチャする必要がある場合に役立ちます。これらの入力は、データベース、Excel、 Outlookテキストファイルなど、それぞれの出力は、以下に示すように、対応する外部ソースに書き戻されます。

データ駆動型フレームワークは、入力データの読み込みと出力データの書き込みをフローで行います。

データ駆動型フレームワークにおける一般的な手順は以下のとおりです。

  1. 準備する テストケース テスト対象アプリケーションの場合
  2. AUT から OR へのオブジェクトの追加
  3. テストケースに基づいてスクリプトを作成します

この中の UFT チュートリアルテストデータの外部ソースとしてExcelを使用し、サンプルテストケースのデータ駆動型フレームワーク設計を開発します。

ステップ1)テスト対象アプリケーションのテストケースを準備する

テストケース: 注文番号を開き、その注文の顧客名を取得します。異なる注文番号に対して同じプロセスを繰り返します。

外部ソース:エクセルファイル

フライト予約注文フォームをフレームワークのサンプルテストケースとして使用

このサンプルの外部ソースは Excel ファイルです。VB スクリプトは OpenText 機能テスト(UFT 1つは、以前はマイクロフォーカスでした。 UFTテストデータを読み取るために、Excelファイルを開くためのコードを記述する必要があります。これは階層的な方法で実現できます。

1. Excel ファイルは最初にアプリケーションとして開かれます。

2. 次に、指定された場所からワークブックを開く必要があります。

3. テストデータが存在するシート。

4. 最後に、セルを読み取る必要があります。

ステップ2)AUTからORにオブジェクトを追加する

テスト ケースの準備ができたら、必要なすべてのオブジェクトをリポジトリに追加し始めます。 このテストケースでは、追加する必要があるオブジェクトは次のとおりです。

1. 「フォルダを開く」アイコン 航空券予約申し込み:

フォルダーを開くツールバーアイコンが追加されました QTP/UFT オブジェクトリポジトリ

2. 「フォルダーを開く」アイコンをクリックすると表示される「注文番号」チェックボックス:

注文番号チェックボックスオブジェクトは、注文開始ダイアログから取得されました。

3. 注文番号のWinEditボックス(番号を入力する場所):

リポジトリに追加された注文番号のWinEditボックス

4. OKボタン:

注文を開くダイアログの「OK」ボタンオブジェクト

5. 「名前」フィールドはWinEditボックスです。このフィールドには、特定の注文番号に対して「OK」ボタンをクリックすると名前が入力されます。

顧客名を受け取るWinEditフィールドの名前

必要なオブジェクトをすべて追加すると、オブジェクト リポジトリが次のように表示されます。

完了 QTP/UFT フライト予約オブジェクト5つすべてを一覧表示するオブジェクトリポジトリ

ステップ3)テストケースに基づいてスクリプトを作成する

スクリプトを実行する前に、テスト データを含む Excel ファイルが保存され、閉じられていることを確認してください。

以下のスクリプトは、Excel から注文番号を読み取り、変数「vOrder」を通じてアプリケーションに割り当て、変数「vName」を通じてアプリケーションから顧客名を書き込みます。

エクセル名: FlightDDF.xlsx

シート名: シート1

Excelから注文番号を読み込み、顧客名を書き戻すVBScript

出力

上記のスクリプトを実行すると、次のように Excel から出力を取得できます。

データ駆動型スクリプトによって書き戻された顧客名を示すExcelシート

データ駆動型フレームワークは、以下の方法で開発することもできます。 記述的プログラミング.

DDF の外部ソースとしてデータベースを使用する

外部ソースがデータベースの場合、次の手順で同じテストケースを実行できます。

  1. VBScript を記述してデータベース接続を確立する
  2. VBScript を使用してレコードセットまたはテーブルを開きます。
  3. 目的のフィールドを開くための VBScript
  4. 特定のセルがフィールドから読み取られます。

Microsoft DDFの外部ソースとして使用されるAccessデータベーステーブル

スクリプト

To Establish a Microsoft Database connection

ドライバー = {Microsoft アクセスドライバー (*.mdb)}; DBQ =

レコードセット名: オープンオーダー

フィールド名: 注文番号、顧客名

PS: Microsoft 以下のスクリプトを使用して Access 2010 に接続できません。

VBScriptでAccessデータベースへの接続を確立し、レコードセットを読み込む

出力

データベース出力には、各注文番号に対して取得された顧客名が表示されます。

DDFの利点

  • XNUMX 回のテストで大量のテスト データを外部ファイルに読み書きできる
  • Loop ステートメントは、同じステップを複数回繰り返すために使用されます。 したがって、コーディングの労力が軽減されます
  • データは外部ファイルに直接読み書きされるため、使用するためにデータをコピー、貼り付け、エクスポートする必要はありません。
  • テストデータは外部ファイルから読み取ることができ、出力は他の外部ファイルに書き込むことができます。

DDFのデメリット

  • このフレームワークを開発するにはスクリプトの知識が必要です
  • 外部ソース(データベースなど)からのデータの数や組み合わせによっては、処理速度が低下したり、クラッシュしたりすることがあります。 QTP

キーワード駆動フレームワーク

キーワード駆動型フレームワークとは、キーワードがテストを駆動するフレームワークです。 キーワードは ユーザー定義関数。 このフレームワークでは、特定のテスト ステップまたはテスト ケースを実行するためにキーワードが作成されます。 これらのキーワードは、同じテストで複数のテスト ケースを実行するためにドライバー テストに呼び出されます。

キーワード駆動型フレームワーク構造で、キーワードがユーザー定義関数を呼び出す。

一般に、フレームワークはテストを実行するために XNUMX つの方法で開発できます。

  1. 記録して実行する テスト
  2. オブジェクトをローカル リポジトリに追加し、すべてのテスト ステップのスクリプトを作成します。
  3. すべてのテストステップに対して記述的なプログラミングを作成する

このチュートリアルでは、テストを記録して実行することによって KDF を開発します。

私たちの目的は、アプリケーションへのログイン、注文の挿入、注文のオープン、注文の削除、アプリケーションの終了など、XNUMX つの異なるテスト ケースに対して XNUMX つのテストを実行することです。 したがって、これらのテスト ケースのテスト ステップを記録し、キーワード Login、InsertOrder、OpenOrder、DeleteOrder、および CloseApp をそれぞれ使用して関数を作成します。

テスト ケース 1: アプリケーションにログインする

キーワード: ログイン ()

記録されたスクリプト:

フライト予約ログイン画面のログインキーワードに対応するVBScriptを記録しました。

テスト ケース 2: 注文の挿入

キーワード:挿入注文()

記録されたスクリプト:

InsertOrderキーワードのVBScriptを記録しました

テスト ケース 3: 注文をオープンする

キーワード:OpenOrder()

記録されたスクリプト:

OpenOrderキーワードのVBScriptを記録しました

テスト ケース 4: 注文を削除する

キーワード:削除注文()

記録されたスクリプト:

DeleteOrderキーワードのVBScriptを記録しました

テスト ケース 5: アプリケーションを閉じる

キーワード:CloseApp()

記録されたスクリプト:

CloseAppキーワードのVBScriptを記録しました。

さまざまなテスト ケース用に作成された関数は関数ライブラリに保存され、メイン テストに関連付けられます。 メイン テストで必要なテスト ケースのキーワードを呼び出すだけで十分なので、メイン テストのドライバー スクリプトのサイズが削減されます。

この単純なフレームワークのドライバー スクリプトは次のようになります。

単一のスクリプトから5つのキーワードすべてを呼び出すドライバスクリプト QTP/UFT test

上記のスクリプトを実行すると、XNUMX つのテスト ケースすべての実際の結果を XNUMX つのテストから取得できます。

優位性

  • それぞれのキーワードを呼び出すだけで、単一のテストでテスト ケースをいくつでも実行できます。
  • すべてのWeb/Windowsオブジェクトに対して一般的な記述プログラミングを記述し、それらをキーワードとして呼び出すと、さまざまな動的アプリケーションに対して同じテストを実行するのに役立ちます。
  • ドライバースクリプトのサイズを削減します。

デメリット

  • 実行するテストケースの数が非常に少ない場合、これらのフレームワークの開発にかかる時間は非常に長くなります。
  • 同じテストで多くのアプリケーション向けに KDF を設計する場合、ステップの記録が常に使用されるわけではありません。

ハイブリッドフレームワーク

ハイブリッドフレームワークとは、データ駆動型フレームワーク(DDF)とキーワード駆動型フレームワーク(KDF)を組み合わせたもので、複数の入力を持つ複数のテストケースを同じテスト内で実行できるものです。

この記事では、KDFで使用されているものと同じテストケースを単一のテストで実行します。すべてのテストケースのキーワードとスクリプトはKDFと同じです。ただし、TC3: 注文を開くはパラメータ化されています。そのため、このテストケースのスクリプトは、Excelファイルから注文番号を受け取り、顧客名をExcelファイルに書き込むように記述されています。

キーワード関数とパラメータ化されたExcelデータを組み合わせたハイブリッドフレームワーク

テスト ケース 1: アプリケーションにログインする

キーワード: ログイン ()

テスト ケース 2: 注文の挿入

キーワード:挿入注文()

テストケース3: 複数の注文番号の注文を開く

キーワード:OpenOrder()

説明: ここでは、DDF の開発に使用したものと同じスクリプトが使用されており、それによって数回の反復でテスト ケースが達成されます。

スクリプト:

Excelから複数の注文番号を読み取るパラメータ化されたOpenOrderキーワードスクリプト

テスト ケース 4: 注文を削除する

キーワード:削除注文()

テスト ケース 5: アプリケーションを閉じる

キーワード:CloseApp()

この簡単な方法に従うことで、TC3 のパラメータ化が実現されます。該当する場合は、他のすべてのテスト ケースも同じテストでパラメータ化できます。

上記の例は、ハイブリッドフレームワークを設計する非常にシンプルな方法です。同じフレームワークは、記述型プログラミングでも実現できます。

優位性

  • ハイブリッド フレームワークで設計されたテストの実行にかかる時間は、他のフレームワークに比べて比較的短くなります。
  • これは、同じテスト スイート内の特定のテスト ケースに関連付けられたすべてのテスト ケースと入力が必要な場合に使用できます。

不利益

  • 異なるフレームワークの組み合わせに関する明確な知識が必要です。

よくあるご質問

いいえ。QuickTest ProfessionalはMicro Focusになりました。 UFTをタップし、その後、 UFT 1つは、現在販売されています OpenText 機能テスト。ここに示したフレームワーク設計は引き続き適用可能です。

データ駆動型、キーワード駆動型、ハイブリッド型に加え、チームは線形記録再生型、モジュール型、ライブラリアーキテクチャ型、ビヘイビア駆動型といった設計も採用している。成熟したスイートのほとんどは最終的にハイブリッド型となる。

AIの OpenText 機能テストでは、技術的な特性ではなく、外観とラベルに基づいてコントロールを識別するため、UIの変更後もテストが継続されます。また、AIアシスタントは従来のVBScriptについても迅速に解説します。

Yes. 副操縦士 VBScriptのループ処理、Excelの自動化、エラー処理などを提案しており、キーワードライブラリに適しています。 Revオブジェクトリポジトリ名と UFT-具体的な方法は、あなたの資産に合致している必要があります。

VBScript は、 UFT 1つのIDEで動作します。Excel、データベース、ファイルへのアクセスはすべてVBScriptオブジェクトを介して実行されます。このチュートリアルでその仕組みを説明します。

Excelは、小規模でテスターが管理するデータセットに適しています。データベースは拡張性に優れ、共有アクセスもサポートしますが、ソーススクリプトが警告しているように、結果セットが大きい場合はテストが遅くなる可能性があります。

はい。これらの設計のいずれかで構築されたテストは、保存およびトリガーできます。 OpenText ALM またはCIジョブとして実行することで、同じキーワードライブラリがビルドごとに自動的に実行されます。

まずは、記録したテストデータとExcelシートを使ってデータ駆動型のアプローチを始めましょう。手順が安定したら、それらをキーワード関数にまとめ、両者を組み合わせてハイブリッド設計を作成します。