テスト変数

テスト変数とは、1 つのテスト全体および複数テスト間において情報を格納および参照する、ユーザー定義の名前/値のペアです。

テストにおける変数の共有

変数は、テストのテスト変数セクションで宣言します。変数は、テスト全体を通して、置換可能なフィールドの参照として使用できます。テスト変数からのデータの置換は、「テスト・データ・ソース」ビューの「テスト変数」ページを使用して実行します。テスト変数に対しては、以下のアクションを実行できます。
  • 宣言時に、変数にデフォルト値を指定する。
  • Set Variable ステートメントを使用して、変数の値を変更する。Set Variable ステートメントを作成するには、テスト・エディターの「追加」メニューと「挿入」メニューを使用します。
  • ハードコーディングされた値、またはデータ・ソース (Set ステートメントの前に表示されるデータ・セットまたは参照など) から再試行された値を、変数に設定する。
変数がテスト、複合テスト、スケジュール、またはユーザー・グループなどのさまざまな場所で初期化される場合、製品では、テストの実行時に以下の順序で変数の値を初期化します。以下のように、複合テスト・エディターの変数テーブルで設定された変数が最も優先され、その後に他の変数が続きます。
  1. 変数テーブル UI での複合テスト設定
  2. Var ファイルで指定された複合テスト
  3. 変数テーブル UI でのユーザー・グループ設定
  4. Var ファイルで指定されたユーザー・グループ
  5. 変数テーブル UI で指定されたスケジュール設定
  6. Var ファイルで指定されたスケジュール
  7. コマンド行
注: 変数の初期化の優先順位を適用するには、「可視の対象」ドロップダウン・リストから「このユーザーのすべてのテスト」を選択する必要があります。

テスト間で変数を共有するには、すべてのテストに同じ名前の変数が含まれている必要があります。また、変数の「可視の対象」「このユーザーのすべてのテスト」に設定されていなければなりません。これらの条件が満たされ、かつ 1 つのスケジュール内に複数のテストが配置されている場合、1 つのテストのデータ・セットの変数を、他のテストで使用することができます。

テスト間でデータを共有する一般的な理由として、データ相関の実行があります。 データ相関により、1 つのテストにおける要求に対する応答が変数に設定され、この変数が、他のテストで実行される要求で使用されます。 例えば従業員データベースをテストするとします。 従業員作成テストでは従業員レコードが作成され、従業員変更テストでは従業員レコードが変更されるとします。 作成される新規レコードには、レコード ID が割り当てられます。 この場合、変数を使用して、従業員作成テストの応答のレコード ID を、従業員変更テストに渡すことができます。 複数の仮想ユーザー間では、ユーザー定義変数は共有されません。 この変数は、同一仮想ユーザーの複数のテスト間でのみ共有されます。 「可視の対象」「このテストのみ」に設定すると、両方のテストに同じ名前の変数が含まれていても、1 つのテストのデータ・セットを他のテストで使用することはできません。

製品のさまざまなタイプのテスト・スクリプト間で変数を共有する場合は、以下の点を考慮してください。
  • 変数が相互に通信できるように、すべてのテスト・スクリプトで同じ名前のテスト変数を宣言します。「可視の対象」「このユーザーのすべてのテスト」に設定します。
  • 必要なテスト・スクリプトを複合テストに含めます。

テスト・ステップを使用すると、変数のデフォルト値を他のテスト・スクリプトと共有できます。また、変数に新しい値を割り当てて、それらの最新の値を他のテスト・スクリプトで使用することもできます。

Rational® Functional TesterRational Performance TesterRational Integration Tester などのさまざまなテスト製品のテスト・スクリプト間で変数を共有する場合は、以下の点を考慮する必要があります。

変数を使用したデータ・セットへのアクセス

すべてのテストにおいてデータ・セットのデータを共有するように変数を定義できます。 これは、データ・セットから Set Variable ステートメントの値フィールドを置換するようにすることで行えます。そうすることで、スケジュールに最初に表示されるテストが、変数をデータ・セットから設定し、その変数をスケジュール内の他のテストと共有できるようになります。

データ・セットのユーザー ID を使用してアプリケーションにログインする 2 つのテストがあるとします。 1 番目のテストで変数にデータ・セットの値を設定し、両方のテストで、データ・セットを直接使用する代わりにこの変数を使用できます。 この場合、両方のテストでデータ・セットの同じレコードが使用されます。 これは、データ・セットの各ユーザーにつき 1 回だけ取り出す動作に似ています。 ただし、1 回だけ取り出すということは、再生中に仮想ユーザーがデータ・セットからレコードを 1 つだけ取得するということを意味します。 この 1 レコード制限は、テストがループしており、仮想ユーザーによってテストが数回実行される場合でも適用されます。 仮想ユーザーはユーザー定義変数を使用して、ループを繰り返すたびに新規レコードを取得します。また、両方のテストで同じレコードを使用できます。

注: 代入 (設定) 演算子では、変数をデータ・セットの値に置換でき、また変数の宣言でも変数値を置換できます。 あらゆるデータ・ソースからの代入演算子と変数値を置換できるため、その値はテスト間でも共有できます。

配列変数

配列変数を作成して、複数の値を変数に追加します。2 次 HTTP 要求を作成する場合は、再生中にカスタム・コードで使用できる配列変数に、要求の完全パスを追加します。