テストデータモジュール

Tosca Cloudは、標準モジュールを提供します。標準モジュールは、さまざまな有用なタスクやアクション用に事前に構築されたテストステップのセットです。このトピックでは、テストデータのすべての標準モジュールを一覧で示します。

Test data - Update item

このモジュールでは、以下のテストデータアクションを実行できます。

これらのアクションは、一度に1つのデータソースに対してのみ定義できます。テストケースが複数のデータソースにリンクされている場合、変更したいデータソースごとにモジュールを複数回追加する必要があります。

Tosca Cloudは、テストラン中に消費した行に対して、すべてのリンクされたデータソースで再利用または更新のアクションを適用します。

  • データソースがサブセットである場合、Tosca Cloudは、その行に対して、サブセットとその親データセットの両方にアクションを適用します。

  • データソースがサブセットを持つデータセットである場合、Tosca Cloudは、そのデータセットおよびすべてのサブセットにアクションを適用します。

制限事項

The module doesn't stop Tosca Cloud from marking a row as used if you identify the row with the module TestData - Find and provide item. しかし、TestData - Find and provide itemでは行を未使用のまま保つための独自の方法を提供しているため問題ありません。

モジュール属性

テストケースでTest data - Update itemモジュールを使用する場合、以下の情報を入力します。

属性

説明

Data set

データセットの名前

Subset

Name of the subset.

Reuse data

行を再利用したい場合は、その旨を指定します。再利用する場合は、Trueと入力します。

Data structure

データの更新内容を定義します。定義方法は以下の通りです。

  • 変更したいの名前でColumnを置き換えます。この列は、データセットまたはサブセットに存在する必要があります。

  • Value列に新しい値を入力します。日付/時刻の式やバッファのような文字式など、動的な値を入力することもできます。

    この行の列にすでに値が存在する場合、Tosca Cloudはそれを上書きします。

  • アクションモードとしてInputを使用します。

情報を追加すると、Tosca Cloudは新しいColumn行を追加します。同じデータソース内の別の列を更新するには、新しく追加された行にそのまま入力するだけで構いません。

Define that you want to reuse data.

この例のテストケースでは、以下のアクションを実行します。

  1. テストステップEnter nameでは、Nameという名前のテキストボックスにテストデータを入力し、Nextをクリックします。

    テストデータは、Customer dataというデータセットのName列から取得されます。

  2. テストステップTest data - Update itemでは、テストラン中にTosca Cloudが消費する行を再利用することを定義します。

    • Data setCustomer dataを指定し、データの取得元を定義します。

    • Reuse dataTrueを指定し、データを再利用することを示します。

Tosca Cloud内でのテストケース例のスクリーンショット

Click to enlarge: Example test case for reusing data

Update data during a test run.

In this example, you want to add a time stamp to the data row that Tosca Cloud consumed during a test step. To do so, you add the module to your test case and fill out the test steps:

  1. To define the location of the data source, you populate Data set and Subset with the respective names: My example data set and Subset A.

  2. To define what you want to modify and how, you populate Data structure:

    • To define the column you want to modify, you replace <Column> with the name of the column: Processed.

    • To define the time stamp, you enter the dynamic date and time expression {DATETIME} into the Value column of Processed. At runtime, Tosca Cloud will create the time stamp based on the actual date and time.

Tosca Cloud内でのテストケース例のスクリーンショット

Click to enlarge: Using the module to update test data

Test data - Find and provide item

デフォルトでは、1つのテストケースにつき同一のデータソースから1行のデータのみを使用できます。1つのテストケースにつき複数行のデータを使用したい場合は、TestData - Find and provide itemモジュールを選択します。

このモジュールでは、テストデータが満たすべき条件を定義します。Tosca Cloud は、条件に一致する最初の行を選択し、その行にユーザーが指定したエイリアスを付与します。テストデータを使用するには、テストステップ内でそのエイリアスを参照するだけです。

同じテストケース内で複数のデータ行を定義するために、このモジュールを複数回追加することができます。

制限事項

以下の制限事項にご注意ください。

  • モジュールはデータセットでのみ機能します。サブセットの複数行を消費するために使用することはできません。

  • エイリアスは同一のテストケース内でのみ有効です。一つのテストケースでエイリアスを定義し、別のテストケースで参照することはできません。

モジュール属性

テストケース内でTestData - Find and provide itemモジュールを使用する場合は、以下の情報を入力します。

属性

説明

Data set

データセットの名前

Alias

クエリまたはフィルターに一致するすべての行から、Tosca Cloudが選択するデータ行に付与する名前を指定します。

エイリアスは同一のテストケース内でのみ有効です。

Query

テストデータが満たすべき条件を指定するクエリ式を入力します。Tosca Cloud は、一致するデータのみを返します。

あるいは、Data search filterを使用してデータを定義することもできます。

Data search filter

Data search filterパラメータで、探しているデータを定義する列および値を指定します。Tosca Cloud は、指定された列にこの値が含まれているすべての行を返します。

複数の列-値ペアを入力してフィルタを微調整することもできます。その際、以下を必ず使用するようにしてください。

値には、ワイルドカードや正規表現を使用することもできます。Tosca Cloudは、正規表現内で!=オペレータをサポートしていません。使用したい場合は、正規表現自体に組み込む必要があります。

Mark data as used

デフォルトでは、Tosca Cloudは、トライアルランであっても実際のテストランであっても、テストケースを実行した後にエイリアス行を使用済みとしてマークします。

後で行を再利用できるようにするためには、この値をFalseに設定します。

テストケース内でAudi2020Redというエイリアスを作成する

この例では、2020年に製造された赤いアウディのみを含むようにデータをフィルタリングします。そのために、テストケースにモジュールを追加し、以下のように値を入力します。

  1. データソースを指定するため、Data setにテストケースで使用したいデータセットの名前であるMy example data setを入力します。

  2. 行の「名前」を定義するために、Aliasに選択した名前であるAudi2020Redを入力します。これは、後でデータを使用する際に必要になります。

  3. テストデータが満たすべき条件を定義するため、Data search filterを使用します。<Column name>を実際の列名に置き換え、Valueフィールドに期待する値を入力します。これにより、次のパラメーターが設定されます。

    • パラメーターBrandAudi

    • パラメーターManufactureDateに値2020。この値は数値であるため、データ型としてNumericを選択します。

    • パラメータのColorに値Red

  4. 行を再利用することを定義するため、Mark data as usedFalseに設定します。

Tosca Cloud内でのテストケース例のスクリーンショット

クリックして拡大: テストケース内のTestData - Find and provide itemモジュール

なお、データ検索フィルターの代わりにクエリを使用することもできます。その場合、QueryValueフィールドにBrand==Audi AND ManufactureDate==2020 AND Color==Redと入力します。

どちらの方法を選択しても結果は同じになります。実行時に、Tosca Cloudは条件に一致するすべての行を返し、最初の行をAudi2020Redというエイリアス名で保存します。

クエリ式を定義する

モジュール属性Queryは、以下のクエリ要素をサポートしています。

種類

詳細

文字列、数値、ブール値、null

MyString

1467.5または1467,5(データのフォーマットに依存します)

TRUE、FALSE

NULL

比較演算子

<, <=, >, >=, ==, !=

Status==Registered

Processed!=NULL

Mileage<=10000

Electric==TRUE

論理演算子

NOT(!)、 AND(&)、OR(|)

ブランドがMercedesまたはAudiであるすべての車: Brand==Mercedes OR Brand==Audi

ブランドがMercedesで、かつエンジン出力が250以上であるすべての車: Brand==Mercedes AND Enginepower>=250Mileage

デフォルトでは、ANDおよびORは左結合です。括弧()を使用してグループ化を定義し、優先順位を定義できます。

  • ブランドがMercedesまたはAudiのいずれかであるすべての電気自動車:

    Electric==TRUE AND (Brand==Mercedes | Brand==Audi)

    これは優先順位の設定を示す良い例です。ANDとORは左結合であるため、括弧を追加しない場合、Tosca Cloudはフィルターを以下のように処理します。

    (Electric==TRUE AND Brand==Mercedes) | Brand==Audi

    これは異なるデータを返し、電気自動車かつMercedesの車、またはすべてのAudiの車が対象になります。

  • MercedesまたはAudiのどちらでもなく、かつ走行距離が1000を超えるすべての車:

    !(Brand==Mercedes | Brand==Audi) & Mileage>1000

  • 登録済みの車で、かつ走行距離が1000を超えるMercedesまたは走行距離が1000を超えるAudiの車:

    Status==registered AND ((Brand==Mercedes AND Mileage>1000) OR (Brand==Audi AND Mileage>1000))

文字列に特殊文字が含まれている場合、エスケープする必要があります。

  • 特殊文字をエスケープするには、文字列をシングルクォーテーションマーク(')で囲みます。Tosca Cloud では、空白も特殊文字として扱われる点にご注意ください。

  • バックスラッシュ(\)とシングルクォーテーションマーク(')をエスケープするには、追加のエスケープ文字としてバックスラッシュ(\)を加えます。例: FastFoodRestaurant=='McDonald\'s'

  • 二重引用符(")をエスケープするには、追加のエスケープ文字として二重引用符(")を加えます。例: Actor=='Dwayne ""The Rock"" Johnson'

  • Tosca Cloud に数値ではなく文字列として扱わせたい数値は、単一引用符(')で囲みます。例: Order=='1524'

エイリアスを参照する

To use the test data that Tosca Cloud stores behind an alias, enter the following expression:

{CTDS[<alias>.<column data="" has="" that="" the="" to="" use="" want="" you="">]}</column></alias>

エイリアスを参照して、データを使用する

In this test case, you create an alias and then reference this alias, so you can use the data row behind it:

  1. テストステップのCreate aliasでは、TestData - Find and provide itemモジュールを使用して、Audi2020Redというエイリアスを作成します。For this test step, we're reusing this "create alias" example.

  2. テストステップEnter license plateでは、2つのコントロールを操作します。

    • A text box called Plate number. Here, you want to use the data behind the alias Audi2020Red. Specifically, you want to use the data that the row has in the LicensePlate column. To do so, enter {CTDS[Audi2020Red.LicensePlate]}.

    • Nextという名前のボタンに対して、左クリックを実行します。そのためには、{Click}を入力してください。

Tosca Cloud内でのテストケース例のスクリーンショット

クリックして拡大: エイリアスに紐づくテストデータを使用する