このセクションの内容:
テスト シナリオによって、さまざまなデータ構造が必要になる場合があります。データ モデリング機能を利用すると、必要なすべてのテスト シナリオで使用できるよう、データ構造を変更できます。
複製機能を利用すると、単純型および階層型のデータ セット タイプのコピーを作成できます。メンバー/キーおよびそのプロパティ (制約、マスク、生成設定を含む) も複製されます。
レコード タイプの省略記号メニューから [レコード タイプの削除] を選択します。
単純型および階層型データ セット内のレコード タイプにメンバーを追加できます。
モデルからメンバーを削除するには、メンバーの省略記号メニューから [メンバーの削除] を選択します。
プロパティは、データ モデルのコンポーネントに対して実行できる操作の種類を定義します。以下のコンポーネントがプロパティを持ちます。
生成設定およびマスク設定、データ制約は、[制約の推論] または [データの生成] を選択した場合に追加されるプロパティです。
プロパティを削除するには、次の操作を行います。
SQL テンプレートは、記録された SQL クエリーを表す 1 つまたはそれ以上の SQL ステートメントからなります。
モデルに新しいテンプレートが表示されます。新しいテンプレートには SQL# という形式の表示名が割り当てられ、空の結果セットが含まれています。
テンプレートの表示名を変更するには、次の操作を行います。
テンプレートを削除するには、省略記号アイコンをクリックし、[SQL テンプレートの削除] をクリックします。
パラメーターを追加するには、次の操作を行います。
パラメーターを削除するには、次の操作を行います。
SQL データ セットの列はデータを保持します。
列を削除するには、次の操作を行います。
SQL、階層型、および単純型のデータ セット用にデータを生成できます。データを保持するパラメーター、列、結果セット、メンバー、またはキー メンバーに対して指定したマスクおよび生成設定に従ってデータが生成されます。
新規リポジトリが作成され、マスクおよび生成設定に従ってデータが入力されます。
データ セットのマスクされたコピーを生成し、サーバーに保存された機密情報を非表示にすることができます。マスクされたデータ セットには、ソースと同じ数のデータが含まれますが、マスクおよび生成設定が指定されたコンポーネントは、設定に従ってランダム化されます。以下のタイプのコンポーネントのデータをマスクできます。
データ制約設定を指定し、テスト シナリオに対してマスクされたデータが正しく生成されるよう保証することもできます。
ツールバーの [データのマスク] をクリックします。
マスクおよび生成設定が指定されたすべてのデータ メンバーが、新しくマスクされたリポジトリ内で置き換えられます。
既存のリポジトリから新しいリポジトリにデータのサブセットをコピーできます。
制約に適合するデータだけを含むリポジトリのコピーが作成されます。
SQL データ セットのサブセット化は以下のように動作します。
データ モデリング機能は、リポジトリのデータに基づいて、新規データを生成する際の制約を自動的に設定することができます。選択したリポジトリの制約を推論するには、サイドバーでリポジトリを選択し、[制約の推論] をクリックします。
キー/メンバーの省略記号メニューから [制約の推論] を選択すると、個々のメンバーやキーの制約を推論することもできます。
CTP はデータが ブール型、日付、数値、または文字列であると推論します。
制約を編集するには、制約プロパティをクリックし、データ制約設定エディターで変更を行います。
以下の設定を行うことができます。
キー/メンバーを true または false に制限するには、[ブール型] タイプを選択します。
キー/メンバーを日付に制限するには、[日付] タイプを選択します。以下の設定を行うことができます。
開始 | 開始日付および/または時間を指定します。 |
---|---|
終了 | 終了日付および/または時間を指定します。 |
フォーマット | 開始日付および終了日付のパターンを指定します。 |
キー/メンバーを数値に制限するには、[数値] タイプを選択します。以下の設定を行うことができます。
最小 | 生成される最小の数値を入力します。 |
---|---|
最大 | 生成される最大の数値を入力します。 |
小数 | 許可される小数の数を入力します。 |
キー/メンバーを文字列に制限するには、[文字列] タイプを選択します。以下の設定を行うことができます。
パターン | 使用する文字列のパターンを定義します。 たとえば、次のパターンを使用すると、社会保障番号をランダムに生成できます。
|
---|---|
文字マップ | パターン中で使用可能な文字の範囲を指定します。固定に設定したときのデフォルト値は、印刷可能なすべての ASCII 文字、0x20 (スペース) から 0x7e (~) です。 パターンにアンパサンド (&) が 1 つも含まれていない場合、文字マップは無視されます。 |
コンポーネントは別のコンポーネントを参照するよう設定できます。これによって、モデル内のキー、メンバー、列、結果セット、その他のデータを保持するオブジェクトの一貫性を保つことができます。参照フィールドをクリックすると、データ セット内のオブジェクトの階層ビューが表示されます。
データ制約は、制約の推論機能を使用してプロパティを設定することで手動で設定するか、Virtualize のトラフィックから仮想アセットを作成する際に定義ファイルを使用して設定できます。完全性テスト機能により、リポジトリに格納されたデータに対して制約が有効であるかどうかを検証できます。
省略記号メニューから [完全性テスト] を選択すると、モデル内の個々のコンポーネント (メンバーや列など) またはデータ セット内のすべてのオブジェクトの完全性をテストできます。
ツールバーの [完全性テスト] をクリックすると、リポジトリのデータの完全性をテストできます。
制約が設定されていない場合、警告が表示されます。データが制約に適合していない場合、エラーが表示され、メンバーにフラグが付きます。
エラー メッセージをクリックすると、ツールチップに詳細が表示されます。
完全性テストに関するその他の情報は、Test Data Assistant の [タスク] タブに表示されます。
マスクおよび生成設定を利用すると、さまざまなシナリオ向けにテスト データを制御できます。マスクおよび生成設定は、以下のデータ セット コンポーネントに適用されます。
SQL 結果セットにはモードは適用されません。SQL 結果セットに対してマスクおよび生成設定を行うと、SQL 列が結果セットに出現する最大回数および最小回数を指定できます。
どのような設定が利用可能かは、モードによって異なります。メンバーを追加する際、または既存のメンバーを変更する際のマスクおよび生成モードを指定できます。以下のモードを指定できます。
プログラム的に制約を設定する場合、このモードを選択します。JavaScript 構文を使用した単純な算術、文字列、および日付演算がサポートされています。あらかじめ定義された集約関数 (SUM、COUNT など) を数式内で使用できます。
他のレコード タイプ メンバーを参照する場合の構文については「ツールでのデータの使用」を参照してください。
${
" (ドル記号および開き波括弧)で始まり、"}
" (閉じ波括弧) で終わります。${member}
という構文を使用します。${recordType.member}
という構文を使用します。${dataSet:ds.key}
という構文を使用します。次の数式は、小計金額を計算します。
SUM(${cart_item.price})*${sales_tax.rate})
次の数式は、E-mail アドレスを生成します。
CONCAT(${FIRSTNAME},"_",${LASTNAME},"@parabank.com")
既存のリポジトリの値を使用してデータを生成する場合、このモードを選択します。このモードでは、追加の設定が必要です。
種類 | シード データを生成先リポジトリにコピーする方法を指定します。 ランダム: 生成先リポジトリにランダムに値をコピーします。 ラウンド ロビン: 生成設定に従って追加する必要があるレコードの数だけ、シード データをループします。たとえば、生成するレコードの数を 100 に設定しているが、シード データが 80 レコードしかない場合、差分は最初の 20 個のデータをコピーすることで埋められます。 ユニーク: 各レコードを 1 回だけコピーします。データの生成時、要求するレコードの数は、シード データのレコード数以下である必要があります。シード データのレコード数を超える数のレコードが要求された場合、エラー メッセージが表示されます。 |
---|---|
リポジトリ | シード リポジトリを選択します。 |
データ セット | リポジトリ内のシード データ セットを選択します。 |
列 | データ セット内のキー列を選択します。 |
独立 | 独立オプションを有効にすると、設定されている可能性がある他のメンバーとは独立してメンバー データが生成されます。 データを生成すると、メンバーがどのように設定されているかに従って、既存のリポジトリと選択されたデータ セットのコピーが作成されます。メンバー データが独立して生成されるよう設定すると、競合の可能性を減らすことができます。 |
ランダムなブール型、日付、数値、または文字列を生成する場合、このモードを選択します。日付、数値、文字列の場合、追加の設定が必要です。
以下のようにランダムな日付の生成およびマスクを設定できます。
開始 | 開始日付および/または時間を指定します。 |
---|---|
終了 | 終了日付および/または時間を指定します。 |
フォーマット | 開始日付および終了日付のパターンを指定します。 |
以下のようにランダムな数値の生成およびマスクを設定できます。
最小 | 生成される最小の数値を入力します。 |
---|---|
最大 | 生成される最大の数値を入力します。 |
小数 | 許可される小数の数を入力します。 |
以下のようにランダムな文字列の生成およびマスクを設定できます。
パターン | 使用する文字列のパターンを定義します。 たとえば、次のパターンを使用すると、社会保障番号をランダムに生成できます。
|
---|---|
文字マップ | パターン中で使用可能な文字の範囲を指定します。固定に設定したときのデフォルト値は、印刷可能なすべての ASCII 文字、0x20 (スペース) から 0x7e (~) です。 |
指定された値から始まり、指定された終了値まで増加する一連の数値および日付を生成する場合、このモードを選択します。範囲データの設定オプションは、ランダム データと同じですが、範囲データにはデータのインクリメント方法を指定するインクリメント フィールドがあります。