テスト間で変数を共有するには、すべてのテストに同じ名前の変数が含まれている必要があります。また、変数の「可視の対象」が「このユーザーのすべてのテスト」に設定されていなければなりません。これらの条件が満たされ、かつ 1 つのスケジュール内に複数のテストが配置されている場合、1 つのテストのデータ・セットの変数を、他のテストで使用することができます。
テスト間でデータを共有する一般的な理由として、データ相関の実行があります。 データ相関により、1 つのテストにおける要求に対する応答が変数に設定され、この変数が、他のテストで実行される要求で使用されます。 例えば従業員データベースをテストするとします。 従業員作成テストでは従業員レコードが作成され、従業員変更テストでは従業員レコードが変更されるとします。 作成される新規レコードには、レコード ID が割り当てられます。 この場合、変数を使用して、従業員作成テストの応答のレコード ID を、従業員変更テストに渡すことができます。 複数の仮想ユーザー間では、ユーザー定義変数は共有されません。 この変数は、同一仮想ユーザーの複数のテスト間でのみ共有されます。 「可視の対象」を「このテストのみ」に設定すると、両方のテストに同じ名前の変数が含まれていても、1 つのテストのデータ・セットを他のテストで使用することはできません。
テスト・ステップを使用すると、変数のデフォルト値を他のテスト・スクリプトと共有できます。また、変数に新しい値を割り当てて、それらの最新の値を他のテスト・スクリプトで使用することもできます。
Rational® Functional Tester、Rational Performance Tester、Rational Integration Tester などのさまざまなテスト製品のテスト・スクリプト間で変数を共有する場合は、以下の点を考慮する必要があります。
すべてのテストにおいてデータ・セットのデータを共有するように変数を定義できます。 これは、データ・セットから Set Variable ステートメントの値フィールドを置換するようにすることで行えます。そうすることで、スケジュールに最初に表示されるテストが、変数をデータ・セットから設定し、その変数をスケジュール内の他のテストと共有できるようになります。
データ・セットのユーザー ID を使用してアプリケーションにログインする 2 つのテストがあるとします。 1 番目のテストで変数にデータ・セットの値を設定し、両方のテストで、データ・セットを直接使用する代わりにこの変数を使用できます。 この場合、両方のテストでデータ・セットの同じレコードが使用されます。 これは、データ・セットの各ユーザーにつき 1 回だけ取り出す動作に似ています。 ただし、1 回だけ取り出すということは、再生中に仮想ユーザーがデータ・セットからレコードを 1 つだけ取得するということを意味します。 この 1 レコード制限は、テストがループしており、仮想ユーザーによってテストが数回実行される場合でも適用されます。 仮想ユーザーはユーザー定義変数を使用して、ループを繰り返すたびに新規レコードを取得します。また、両方のテストで同じレコードを使用できます。
配列変数を作成して、複数の値を変数に追加します。2 次 HTTP 要求を作成する場合は、再生中にカスタム・コードで使用できる配列変数に、要求の完全パスを追加します。