パラメータ化 QTP/UFT 例を挙げて

⚡ スマートサマリー

パラメータ化 QTP/UFT ハードコードされた値を変数入力に置き換えることで、単一のテストスクリプトを、手順を一つも書き直すことなく、多くのデータ組み合わせ、環境設定、呼び出しアクションに対して実行できるようになります。

  • 🎯 定義: パラメータ化は固定値を可変入力に置き換えるので QTP/UFT 1つのスクリプトを複数のテスト条件で再利用できる。
  • 📊 データ表: エージェント名、パスワード、その他の入力値を、すべてのアクションについてはグローバルシートに、特定のアクションについてはアクションシートに保存します。
  • 🌐 環境変数: テスト内のすべてのアクションで、組み込み、ユーザー定義の内部、またはユーザー定義の外部XML値を共有します。
  • 🔗 テスト/アクションパラメータ: 入力値を呼び出し先のアクションに渡し、出力値を呼び出し元のアクションに返します。
  • 🎲 乱数: 各反復、アクション、または実行全体に対して、定義された範囲内で一意の数値を生成します。
  • 実行: スクリプトを一度実行して QTP/UFT すべてのデータ行を自動的に反復処理し、行ごとに合格または不合格を報告する。
  • ⚙️ 最適化: データドライバとパラメータ化されたフィールドを組み合わせることで、パラメータ化可能なすべての定数を1つのウィンドウで確認できます。

何ですか QTP パラメータ化?

QTP/UFT パラメータ化 スクリプトに単一の値をハードコーディングする代わりに、実行時に異なるテスト入力値を選択できるようになります。このように、固定値ではなく外部パラメータ値をテストに渡すプロセスをパラメータ化と呼びます。

パラメータ化を行わない場合、同じログイン画面を3つの異なるエージェント名とパスワードの組み合わせでテストするには、ほぼ同じ内容のスクリプトを3つ記録または管理する必要があります。パラメータ化では1つのスクリプトを使用し、実行ごとに新しいデータ行をそのスクリプトに渡すだけで済むため、データ駆動型テストはパラメータ化に依存しています。

パラメータ化の種類 QTP

UFT (旧 QTPは4種類のパラメータタイプをサポートしており、それぞれ異なる種類の変数データに適しています。

  1. データテーブルパラメータ
  2. テスト/アクションパラメータ
  3. 環境変数パラメータ
  4. 乱数パラメータ

以下の表では、実際の例を見る前に、それぞれのタイプがどのような用途に最適かを比較しています。

パラメータタイプ 価値の源泉 典型的な使用例
データ表 テストに同梱されているグローバルまたはアクション(ローカル)スプレッドシート 多数のテストデータ行で同じ手順を実行する
環境変数 組み込み値、テスト内で設定された値、または外部XMLファイル 1 つの定数値を共有する、 URLあらゆる行動において
テスト/アクション アクション間で渡される入力値または出力値 あるアクションで生成された値を別のアクションに転送する
乱数 定義された範囲内で自動的に生成される数値 実行ごとに注文IDなどの一意の値を生成する

このチュートリアルの残りの部分では、データテーブルのパラメータ設定を最初から最後まで順を追って説明し、その後、動作するVBScriptの例を用いて、他の3種類のデータテーブルの設定方法を解説します。

データテーブルのパラメータ化:ステップバイステップの例

この マイクロフォーカス UFT チュートリアル データ テーブルを使用してフライト予約アプリケーションのログイン テストをパラメータ化する方法を示します。単純なログインを自動化するためになぜこれほど多くの労力を費やすのか疑問に思うかもしれません。シナリオがユーザーが正常にログインできるかどうかをチェックすると、その価値が明らかになります。 有効な英数字のエージェント名とパスワードの組み合わせ 値。テスト手順は同じですが、テスト対象のデータ量が増加します。この例では、可能な 8 通りの組み合わせのうち 3 つにウォークスルーを限定しています。

テストシナリオ テスト手順 テストデータ
有効な英数字のエージェント名とパスワードの組み合わせを入力して、ユーザーがアプリケーションに正常にログインしていることを確認します。 ステップ 1) 航空券予約アプリケーションを開く
ステップ 2) 有効なエージェント名を入力します
ステップ 3) 有効なパスワードを入力します
ステップ 4) [OK] を押します
ステップ 5) ログインに成功したら、アプリケーションを閉じます。
エージェント名 = Guru
パスワード= Mercury
エージェント名 = Guru99
パスワード = マーキュリー
エージェント名 = 9999
パスワード = 水銀

同じ6つの手順を異なるデータ値で繰り返しコピーすることもできます(これは手動で行う方法です)が、パラメータ化を使用することもできます。

パラメータ化 QTP

引数をパラメータ化する最も簡単な方法は、この例では Guru、は:

  1. キーワードビューをクリックしてください。
  2. パラメータ設定アイコンをクリックしてください。

パラメータ化 QTP

値の設定ダイアログボックスが開きます。現在の値は定数に設定されています。「パラメーター」ラジオボタンをクリックします。 QTP パラメーターにはデフォルトの名前が割り当てられますが、「OK」をクリックする前に名前を変更できます。デフォルトでは、新しい列はグローバルデータテーブルシートに追加されるため、テスト内のすべてのアクションでその値が使用できるようになります。代わりにアクション(ローカル)シートを選択すると、その値は単一のアクションのみに限定されます。

パラメータ化 QTP

Global シートには、ヘッダー「エージェント名」と値を持つ列があります。 Guru 作成されました。このパラメータには、さらに値の行を追加できます。

パラメータ化 QTP

に切り替える 専門家の見解 「エージェント名」がパラメータ参照「Guru使用したシートの種類とともに、

パラメータ化 QTP

パスワード引数も同様の方法でパラメータ化し、異なるテストデータセットを入力できます。

パラメータ化 QTP

このデータテーブルは、 QTP 同じ6つを繰り返す 記録された この処理は3回繰り返されます。1回目の処理では1行目のデータを使用し、2回目の処理では2行目のデータを使用するなど、順に処理が進められます。ステータスバーには現在使用中の行が表示され、データシート内の該当行がハイライト表示されます。結果は3回の処理結果をまとめたものです。

パラメータ化 QTP

環境変数パラメータ UFT

環境変数パラメータは、実行の各イテレーションで一定の値を提供するので、ベースなどの構成データに役立ちます。 URL または、すべてのアクションに必要な環境名。 UFT 3種類の環境変数を認識します。

  • ビルトイン: テスト名、アクション名、オペレーティングシステムバージョンなどの事前定義された値 UFT 自動的に入力されます。
  • ユーザー定義の内部: テスト内でスクリプトを使って設定した値は、現在の実行時のみ有効であり、テストと共に保存されることはありません。
  • ユーザー定義外部: 実行開始前に読み込む外部XMLファイルに格納された名前と値のペア。

ステップ内で環境変数を使用するには、セルの「値の構成」ダイアログボックスを開き、パラメータータイプとして「環境」を選択し、変数名を指定します。以下のVBScriptは、単一のアクション内で3種類の変数すべてを使用する例を示しています。

' Read a Built-in environment variable
MsgBox Environment.Value("OS")

' Set and read a User-Defined Internal environment variable
Environment.Value("AppURL") = "https://demo.guru99.com/V4/"
MsgBox Environment.Value("AppURL")

' Load a User-Defined External XML file, then read a value from it
Environment.LoadFromFile "C:\Guru99\EnvConfig.xml"
MsgBox Environment.Value("Address")

上記で参照されている外部ファイルを作成するには、ルートを持つ XML ドキュメントを作成します。 <Environment> 要素と1つ <Variable> 名前と値のペアごとに要素を取得し、ファイル > 設定 > 環境から読み込みます。 UFT テストを実行する前に、外部変数は一度読み込まれると読み取り専用になるため、値を変更する必要がある場合は、ソースのXMLファイルを更新してください。

環境変数は、テスト/アクションパラメータとは適用範囲が異なります。環境変数はテスト内のすべてのアクションで使用できますが、テスト/アクションパラメータは2つの特定のアクション間で明示的に渡されます。次に説明するのは、このタイプのパラメータです。

テストおよびアクションパラメータ UFT

テスト/アクションパラメータを使用すると、あるアクションが入力パラメータとして別のアクションに値を渡し、呼び出されたアクションが出力パラメータとして値を返すことができます。テスト全体で参照可能な環境変数とは異なり、テスト/アクションパラメータはそれを定義する特定の呼び出しに対してのみ存在するため、異なるテスト間でアクションを再利用できます。

作成するには、テストフローでアクションを右クリックし、[アクションのプロパティ] を選択して、[入力パラメーター] タブまたは [出力パラメーター] タブで名前とデータ型を指定してパラメーターを追加します。アクションは、ステップ内でパラメーターを直接参照できます。たとえば、別のアクションがこのアクションを呼び出す場合、 RunAction "VerifyLogin", oneIteration, "Guru99", "Mercury"呼び出し時に指定された値は、その実行の入力パラメータに設定されます。

値はデータ テーブル内ではなく呼び出しとともに渡されるため、テスト/アクション パラメーターは再利用可能な 行動 複数のテストフローで使用される共有ログインアクションなど、どのテストが呼び出すかによって異なる入力が必要となるもの。

乱数パラメータ UFT

乱数パラメータは、定義した範囲内で数値を自動的に生成します。これは、テストで毎回一意の値が必要となる場合(例えば、新規顧客ID、注文番号、アプリケーションが二度受け入れない予約参照番号など)に便利です。

設定するには、セルの「値の設定」ダイアログボックスを開き、パラメータータイプとして「乱数」を選択します。 UFT 数値範囲、オプションのパラメータ名、および新しい値を生成する頻度を要求します。

  • 各アクションの反復について – アクションが実行されるたびに新しい番号を生成します。
  • 各テスト反復について – テストの反復ごとに新しい数値を1回生成します。
  • テスト実行全体につき1回 – 実行全体を通して同じ数値を維持する。

乱数パラメータは、データテーブルや環境変数パラメータと同様に実行時の柔軟性を持ちながら、データ駆動型反復処理の回数が増えるにつれて、独自のテストデータを手作業で作成する必要性をなくします。

パラメータ化の利点

パラメータ化は、最初のスクリプトから完全な回帰テストスイートに至るまで、自動化ライフサイクル全体にわたって効果を発揮します。

  • これにより、データの組み合わせごとにスクリプトを編集する代わりに、実行時に異なる値を選択できるようになります。
  • これにより、複数のテストデータ組み合わせを網羅するために必要な時間と労力を削減できます。
  • データドライバー、 UFT この機能では、スクリプト内でパラメータ化可能なすべての定数を単一のウィンドウに一覧表示するため、大規模なスクリプトのパラメータ化が簡素化されます。
  • テストデータはスクリプトの外に保持されるため、テスターは自動化ロジックに手を加えることなく、新しい行、環境値、またはランダムな範囲を追加できます。

詳しくはこちら こちら ビデオにアクセスできない場合

よくあるご質問

グローバルシートには、テスト内のすべてのアクションで共有される一連の値が格納され、アクション(ローカル)シートには、単一のアクションに固有の値が格納され、そのアクションが繰り返される場合にのみ使用されます。

はい。テストでは、1つのフィールドにデータテーブルの値を使用したり、共有設定に環境変数を使用したり、アクション間でデータを渡すためにテスト/アクションパラメータを使用したりすることが、すべて同じスクリプト内で可能です。

はい。外部XMLファイルから読み込まれた値は、スクリプトの実行中にスクリプト内から変更することはできません。値を変更するには、ソースXMLファイルを更新して再読み込みしてください。

はい。生成型AIツールは、データテーブル用に現実的なデータセットや特殊なケースのデータセットを作成できますが、テストを実行する前に、テスターはすべての値を確認し、検証する必要があります。

モダン UFT リリースの一つには、AIを活用した物体識別機能と自己修復テストが含まれていますが、どのフィールドをパラメータ化するかを選択する手順は、依然として値構成ダイアログボックスを通して手動で行う必要があります。