データ ソースのレベルが高いほど、より広く共有できます。たとえば、特定のテスト スイート、レスポンダー スイート、またはアクション スイートだけに適用可能なデータ ソースを追加したい場合、スイート レベルに対象データ ソースを追加します。プロジェクト中のスイートでデータ ソースを共有したい場合、プロジェクト レベルに追加します。複数のプロジェクトに渡って共有したい場合、グローバル レベルに追加します。
グローバル レベルおよびプロジェクト レベルのデータ ソースは、単一のプロジェクト ファイルの外部で再利用および共有できます。これらのデータ ソースはプロパティ ファイルに保持され、プロパティ ファイルは共有のためにソース管理にチェックイン/チェックアウトできます (ソース管理を使用している場合)。グローバル データ ソースは、設定パネル ( [設定] > [Parasoft] > [グローバル データソース] ) で定義した別のプロパティ ファイルに保持されます。プロジェクト レベルのデータ ソースは、 Eclipse プロジェクト ディレクトリの .parasoft ファイルに保持されます。負荷テストを行う場合、現行バージョンの Load Test では、グローバルデータ ソースがサポートされていない点に注意してください。この場合、グローバルデータソースをコピーし、SOAtest プロジェクトのルートテストスイートに貼り付けることで、グローバルデータソースを参照するテストスイートを実行できるようになります。データ ソースを追加するには:
リポジトリ データ ソースの設定
Parasoft のデータ リポジトリは、Parasoft メッセージング ツールで使用する、大規模または階層的あるいはその両方であるデータセットを、チームが定義、拡張、確認しやすいように設計されています。リポジトリ データ ソースの設定に関する詳細は、 「大規模で階層的なデータ セットの操作」を参照してください。
CSV ファイル データ ソースの設定
CSV ファイルのデータ ソースを設定するには、次の操作を行います。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
- [行] コントロールで、使用する行の範囲を指定します。
- 選択した行だけを使用したい場合は、[範囲] を有効にし、[開始行] と [終了行] フィールドに値を入力して任意の範囲を指定します。たとえば、最初の 10 行だけを使用する場合、[開始行] に 1 を入力し、[終了行] に 10 を入力します。5 行目だけを使用する場合、 [開始行] と [終了行] に 5 を入力します。
[ファイル パス] フィールドに CSV ファイルへのパスを指定します。次の変数を使用できます:
test_suite_loc: .tst または .pva ファイルへの相対パスを指定します。例: ${test_suite_loc}/../files/myCSVFile.csv
project_loc: プロジェクトへの相対パスを指定します。例: ${project_loc:MyProject}/myCSVFile.csv
workspace_loc: ワークスペースからの相対パスを指定します。例: ${workspace_loc}/../files/myCSVFile.csv
環境変数を使用することも可能です。「テストで環境変数を使用」および「Virtualize 環境の構成」を参照してください。
- ファイルで使用している区切り文字と引用符のタイプを指定します。
- 必要に応じてさらにオプションを変更します。
- 前後の空白を削除する: 値の前後から空白を削除するかどうかを指定します。
- 1行目は列名を表す: CSV ファイルの 1 行目を列名と見なすかどうかを指定します。1 行目が列名である場合、フォーム XML ビューの要素には、各値の名前として列名が表示されます。 1 行目が列名ではない場合は、フォーム XML ビューの要素には、各値の名前として "value" が使用されます。
- データ ソースから列の一覧を参照したい場合、[列の表示] をクリックします。最初の行の値が列のタイトルと見なされます。別の列のタイトルを使用したい場合は、データ ソースの最初の行を更新して [列の表示] をクリックします。
データベース データ ソースの設定
データベースのデータ ソースを設定するには、次の操作を行います。 詳細については、「JDBC ドライバーの構成」 を参照してください。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
- [行] コントロールで、使用する行の範囲を指定します。[範囲] を有効にして、特定の範囲の行を指定できます (1 ベースのインデックス)。たとえば、最初の 10 行だけを使用する場合、[開始行] に 1 を入力し、[終了行] に 10 を入力します。5 行目だけを使用する場合、 [開始行] と [終了行] に 5 を入力します。すべてのデータベース行がデフォルトで指定されます。
- ドロップダウン メニューからドライバー クラスを選択し、データベースの接続設定を指定します。一般的なデータベースの接続設定については「JDBC ドライバーの構成」を参照してください。目的のドライバー クラスがドロップダウン メニューに表示されていない場合、[カスタム] を選択します。
データソースの列名を確認するには、[列の表示] をクリックします。
既存の列に対して別の列名を使用するには、データベースの列名を変更してから [列の表示] をクリックします。
別の列を使用するには、適切な列を取得するよう SQL クエリーを変更してから [列の表示] をクリックします。
データベース応答条件データ ソースの設定
データベース データ ソースとは異なり、データベース応答条件データ ソースではキャッシュを無効にできるため、新しいレコードを読み取るために仮想アセットを再デプロイする必要はありません。このため、CRUD ワークフローに特に適しています。
データベースに接続するには、JDBC ドライバーを指定する必要があります。 詳細については、「JDBC ドライバーの構成」 を参照してください。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
[SQL クエリー] フィールドに、データをロードするために実行する SQL 文を入力します。この SQL 文は応答条件キーを指定する必要があります。応答条件キーは、[データ ソース応答条件] タブのメッセージ レスポンダー内のデータ ソース応答条件に使用されます。応答条件キーは、次の形式で宣言できます: DatabaseColumnName=:CorrelationKeyName
例:
SELECT * FROM Customer WHERE ID = :CustomerID;
上記は、ID 列が応答条件キー CustomerID で指定された値を持つ Customer テーブルの行について、そのすべての列を選択します。
- 応答条件キーの表で [追加] をクリックして、メッセージ レスポンダー内のデータソース応答条件に使用される応答条件キーを定義します。このテーブルには、SQL クエリーで宣言された応答条件キーが自動的に入力されますが、キーに正しいタイプを設定しなければならない場合もあります。選択したタイプに従ってサンプル値を指定します。一部のデータベースでは、期待されるデータベース列を取得するために、サンプル値を有効なデータベース値に設定しなければならない場合があります。列を選択し、[変更] をクリックして変更を加えます。
- テーブルで構成されたすべての応答条件キーは、メッセージ レスポンダーの [データ ソース応答条件] タブで構成する必要があることに注意してください。
- データベースへの更新を、そのデータを使用するデプロイ済みの仮想アセットにすぐに反映させたい場合は、[キャッシュの有効化] オプションを無効のままにします (デフォルトでは無効になっています)。有効にすると、実行時に変更を有効にするために、仮想アセットを再デプロイする必要があります。負荷テストでは、パフォーマンスを最適化するためにキャッシュを有効にすることをお勧めします。
- [列] フィールドには、SQL クエリーに基づくパラメータライズに使用できるデータベース列が表示されます。別の列を使用する場合は、SQL クエリーを更新し、[列の表示] をクリックします。
Excel スプレッドシート データ ソースの設定
Excel スプレッドシートのデータ ソースを設定するには、次の操作を行います。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
- [行] コントロールで、使用する行の範囲を指定します。
- 選択した行だけを使用したい場合は、[範囲] を有効にし、[開始行] と [終了行] フィールドに値を入力して任意の範囲を指定します。たとえば、最初の 10 行だけを使用する場合、[開始行] に 1 を入力し、[終了行] に 10 を入力します。5 行目だけを使用する場合、 [開始行] と [終了行] に 5 を入力します。
[ファイル パス] フィールドに Excel ファイルへのパスを指定します。次の変数を使用できます:
test_suite_loc: .tst または .pva ファイルへの相対パスを指定します。例: ${test_suite_loc}/../files/myspreadsheet.xls
project_loc: プロジェクトへの相対パスを指定します。例: ${project_loc:MyProject}/myspreadsheet.xls
環境変数を使用することも可能です。 たとえば: ${project_loc:MyProject}/DataSource/${soa_env:XLS_DIR}/myspreadsheet.xls
「テストで環境変数を使用」を参照してください。
「テストで環境変数を使用」 および「Virtualize 環境の構成」を参照してください。
- [シート] メニューから、指定した Excel ファイル内の使用したいシートを選択します。
- Excel データ ソースの列のサイズを、行数が最も少ない列のサイズで制限したい場合 (言い換えると、空のセルに遭遇したときデータの処理を停止したい場合)、[最初に検出された空行で処理を停止する] をオンにします。
重要: SOAtest は最初の行の値を列のタイトルと考えます。そうでない場合は、SOAtest でデータ ソース列を識別および選択する際に問題が起こるかもしれません。異なる列のタイトルを使用したい場合は、データ ソースの最初の行を更新し、[列の表示] をクリックします。
テーブル データ ソースの設定
内部のテーブル エディターにデータ ソース値を入力または貼り付けで指定するには、次の操作を行います。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
- [行] コントロールで、使用する行の範囲を指定します。
- 選択した行だけを使用したい場合は、[範囲] を有効にし、[開始行] と [終了行] フィールドに値を入力して任意の範囲を指定します。たとえば、最初の 10 行だけを使用する場合、[開始行] に 1 を入力し、[終了行] に 10 を入力します。5 行目だけを使用する場合、 [開始行] と [終了行] に 5 を入力します。
- 列名を指定したい場合 (デフォルトで設定されている A、 B、 C、 D などを使用するより)、[1 行目は列名を表す] をオンにします。
- テーブルにデータの値を入力または貼り付けで追加します。Excel などの一般的なスプレッドシートからコピーできます。テーブル エディターには、標準的なコピー/切り取り/貼り付けの編集コマンドや、行や列を挿入するコマンドがあります。さらに行を追加するには、下矢印キーまたはスクロールバーの下矢印ボタンを使用します。さらに列を追加するには、右矢印キーまたはスクロールバーの右矢印ボタンを使用します。
複数のデータ ソースを組み合わせた集約データ ソースの設定
他の利用可能なデータ ソース値を 1 つのデータ ソースにまとめることができる集約データ ソースを作成できます。この機能は特に、複数のデータ ソースから値を取得して機能テストを実行する場合に便利です。たとえば、サーバーにリクエストを送信する際に、ユーザーの姓や名などのユーザー情報を持つデータ ソースからデータを送信し、さらにユーザーのログイン名やパスワード情報を持つ別のデータ ソースからもデータを送信したい場合があります。 2 つのデータ ソースを集約データ ソースにまとめると、データ ソースごとにテストを用意する必要がありません。1 個のテスト ケースを作成するだけで済みます。
集約データ ソースとデータ グループの違いについては、 「データ グループと集約データ ソースとは (SOAtest)」 および「データ グループと集約データ ソースとは (Virtualize)」を参照してください。複数のデータ ソースを 1 つの集約データ ソースに集約するには、次の操作を行います。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
- [行] コントロールで、使用する行の範囲を指定します。
- 選択した行だけを使用したい場合は、[範囲] をクリックし、[開始行] と [終了行] フィールドに値を入力して任意の範囲を指定します。たとえば、最初の 10 行だけを使用する場合、[開始行] に 1 を入力し、[終了行] に 10 を入力します。5 行目だけを使用する場合、 [開始行] と [終了行] に 5 を入力します。
- [利用可能] ボックスから任意のデータ ソースを選択し、[追加] をクリックして [選択済み] ボックスに移動します。
- [利用可能] ボックスは、テスト スイートまたはレスポンダー スイートに追加されたすべてのデータ ソースを表示します。任意のデータ ソースを選択し、[選択済み] ボックスに移動したら、追加されたデータ ソースの列名が [列] ボックスに表示されます。
複数のデータ ソースを切り替えることができる、データ グループ データ ソースの設定
データ グループは、少なくとも 1 つの共通の列がある、多くの 類似したデータ ソースから構成されます。どのデータ グループを適用するかはいつでも選択できます。同じツールに異なるデータ ソースを動的に指定したい場合に特に役立ちます。ツールやデータ ソースを編集する必要なく、実行時に使用するデータ ソースをすぐに切り替えることができます。データ グループを使用するには、共通する列を持つ複数のデータ ソースをまとめてグループ化し、アクティブにするデータ ソースを指定します。データ グループと集約データ ソースの違いについては、 「データ グループと集約データ ソースとは (SOAtest)」 および「データ グループと集約データ ソースとは (Virtualize)」を参照してください。複数のデータ ソースを 1 つのデータ グループにまとめるには、次の操作を行います。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
- [行] コントロールで、使用する行の範囲を指定します。
- 選択した行だけを使用したい場合は、[範囲] を有効にし、[開始行] と [終了行] フィールドに値を入力して任意の範囲を指定します。たとえば、最初の 10 行だけを使用する場合、[開始行] に 1 を入力し、[終了行] に 10 を入力します。5 行目だけを使用する場合、 [開始行] と [終了行] に 5 を入力します。
- [利用可能] ボックスから任意のデータ ソースを選択し、[追加] をクリックして [選択済み] ボックスに移動します。
- [利用可能] ボックスは、テスト スイートまたはレスポンダー スイートに追加されたすべてのデータ ソースを表示します。
- 選択されているデータ ソースと共通の列がないデータ ソースは追加できません。
- データ ソースを追加することによって、データ ソース間の共通の列が減少する場合は、警告が表示されます。
- 任意のデータ ソースを選択し、[選択済み] ボックスに追加した後、すべての選択したデータ ソースで共通の列が [列] ボックスに表示されます。
[アクティブなデータ ソース] で使用するデータ ソースを指定します。グループのアクティブなデータソースは、アクティブな環境に基づいて選択することもできます。${var_name}
表記を使用して環境変数を [アクティブなデータ ソース] フィールドに入力し、実行時に必要な環境を指定できます。 コマンドラインまたは UI でのランタイム環境の使用の詳細については、「異なる環境でのテスト構成」および「Virtualize 環境の構成」を参照してください。
ファイル データ ソースの設定
ファイル データ ソースを設定するには、次の操作を行います。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
- [行] コントロールで、使用する行の範囲を指定します。
- 選択した行だけを使用したい場合は、[範囲] を有効にし、[開始行] と [終了行] フィールドに値を入力して任意の範囲を指定します。たとえば、最初の 10 行だけを使用する場合、[開始行] に 1 を入力し、[終了行] に 10 を入力します。5 行目だけを使用する場合、 [開始行] と [終了行] に 5 を入力します。
- インポートするファイルまたはそのディレクトリを指定します。指定した場所で利用可能なすべてのファイルがテーブルに表示されます。右クリック オプションで値を切り取り/コピー/貼り付けすることができます。
- ファイル データ ソースで使用されるファイルをフィルターするには、[ファイル フィルター] フィールドに文字列を入力します。例:
- * = 任意の文字列のワイルド カード
- *.*= すべてのファイル (これがデフォルトです)
- *.txt = すべてのテキスト ファイル
- data* = ファイル名が "data" で始まるすべてのファイル
- data*.txt = ファイル名が "data" で始まるすべてのテキスト ファイル
- *data* = ファイル名のどこかに "data" という文字列が含まれるすべてのファイル
- ファイル データ ソースが使用されるときにインポート ディレクトリにあるすべてのファイルをファイル データ ソースに使用させたい場合は、[最後のインポートに基づき動的にリフレッシュ] オプションを有効にします。このオプションを有効にしない場合、ファイル データ ソースは、インポート ディレクトリにさらにファイルがあったとしても、ファイル データ ソースのテーブルにリストされたファイルだけを使用します。以下のケースでは、.tst ファイルの移植性を確保するため、このオプションをオンにする必要があります。
- .tst ファイルを複数のマシンで実行する必要がある場合。
- .tst ファイルが複数の Load Test ジェネレーターを使用する負荷テストで使用される場合。
実行時、各ファイルのコンテンツがデータソース値として使用されます。
書き込み可能データ ソースの設定
実行時データを抽出して後続のテストで再利用するための書き込み可能なデータソースを構成するには、次の操作を行います。
- (任意) [名前] フィールドでデータ ソース ラベルを変更します。
- [行] コントロールで、使用する行の範囲を指定します。
- 選択した行だけを使用したい場合は、[範囲] を有効にし、[開始行] と [終了行] フィールドに値を入力して任意の範囲を指定します。たとえば、最初の 10 行だけを使用する場合、[開始行] に 1 を入力し、[終了行] に 10 を入力します。5 行目だけを使用する場合、 [開始行] と [終了行] に 5 を入力します。
- データソースに書き込む際のモードを指定します。以下のいずれかのオプションを選択します。
- セットアップテスト モード > 追加: セットアップテストで、既存の値の後に新規データを付け足す場合、このオプションを選択します。これがデフォルト モードです。このモードでは、セットアップテストだけがデータソースに書き込むことができます。
- 標準テスト モード > 上書き: 標準テスト ( セットアップテスト以外のテスト) で、既存の値を新規の値で上書きする場合、このオプションを選択します。このモードでは、標準テストだけがデータ ソースに書き込むことができます。
- 標準テスト モード > 追加: 標準テスト (セットアップ テスト以外のテスト) で、既存の値の後に新規データを付け足す場合、このオプションを選択します。このモードでは、標準テストだけがデータ ソースに書き込むことができます。このオプションを選択した場合、[回数のリセット] 設定も指定できます。[回数のリセット] 設定は、データ ソースが既存のデータをリセット (消去) する方法を指定します。
- 列名を指定したい場合 (デフォルトで設定されている A、 B、 C、 D などを使用するより)、[1 行目は列名を表す] を有効にします。
- 書き込み可能データ ソースへの値の投入方法を設定します (たとえば、データ バンク ツールから書き込み可能データ ソースに書き込むなど)。
![](/download/attachments/173006759/14.png?version=1&modificationDate=1675380617486&api=v2)
たとえば、書き込み可能データ ソースに値を投入する 1 つの方法として、以下があります。
- ツールの出力として XML Data Bank ツールを追加します。
- スイートを実行して XML Data Bank にデータ投入します。
- XML Data Bank の GUI の [選択された XPath] にノードを追加します。
- XML Data Bank の GUI で、[データ ソース列名] 列の下のエントリをダブルクリックします。[変更] ダイアログが表示されます。
- GUI 左側で [データ ソース列] を選択し、 右側で [書き込み可能なデータ ソースの列] を選択して格納された値を投入したい列名を指定します。
この例の手順は SOAtest でも良く似ています。
- テスト スイートに SOAP Client ツールをセットアップ テストとして追加します。セットアップ テストの詳細については「セットアップ テストとティア ダウン テストの追加」を参照してください。
- SOAP Client セットアップ テストの出力として XML Data Bank ツールを追加します。
- SOAP Client セットアップ テストを実行して XML Data Bank に値を抽出します。
- XML Data Bank GUI の [選択された要素] リストにノードを追加します。
- XML Data Bank の GUI で、[データ ソース列名] 列の下のエントリをダブルクリックします。[変更] ダイアログが表示されます。
- [書込み可能データソース列] を選択し、[OK] をクリックします。セットアップ テストを実行すると、書き込み可能データ ソースにデータが書き込まれます。その後、親テスト スイートを実行するたびに、書き込み可能データ ソースが自動的にリセットされます。
「Using Interpreted Data Sources」を参照してください。
"1 対多数" データ ソース マッピングの設定
1 つのデータ ソース (たとえばログイン情報を格納したグローバルなデータ ソースなど) の 1 行の値を別のデータ ソースの複数の行と組み合わせて使用できます。それには、次の操作を行います。
- 書き込み可能なデータ ソースを追加し、「Configuring a Writable Data Source」の説明に従って構成します。この書き込み可能なデータ ベースは、他のデータ ソースとは独立して繰り返し処理を行います。
- データ ソースに 2 つ以上の「グローバル」パラメーターがある場合、書き込み可能なデータ ソースの 1 つの列を右クリックし、[列の挿入] をクリックします。元のデータ ソース列の名前に合わせて列名を変更します。
- セットアップ テストとして Extension ツールを追加します (詳細については「セットアップ テストとティア ダウン テストの追加」を参照してください)。このツールは「グローバル」データ ソースへのインターフェイスの役割をします。
「Extension Tool (カスタム スクリプト)」の説明に従って Extension ツールを構成します。アクセスしたい列の名前は "Credentials" データ ソースの "username" および "password" だとした場合、ツールの構成パネルで Credential データ ソースを選択して [データ ソースの使用] をオンにし、次のコードを追加します。
from soaptest.api import *
def getCredentials(input, context):
username = context.getValue("Credentials", "username")
password = context.getValue("Credentials", "password")
return SOAPUtil.getXMLFromString( [ username, password ] )
- Extension ツールの出力として XML Data Bank ツールを連結します。それには、 Extension ツールを右クリックして [出力の追加] をクリックし、[XML Data Bank] ツールを選択します。
- テストを 1 回実行して XML Data Bank に値を収集します。
- XML Data Bank をダブルクリックして構成パネルを開きます。
- 1 つ目のパラメーターに対応する要素を選択して [追加] をクリックします。
- [変更] をクリックし、[データ ソース列名] を選択します。
- [書込み可能データソース列] を選択し、対応する列名を選択します。
- 2 つ目のパラメーターに対応する要素に対して手順 8 から 10 を繰り返します。