テストを駆動するデータの生成

関連:GUI テスト、ビジネス・プロセス・テスト

テストの組み合わせジェネレータは、テスト内のパラメータとその取り得る値を使用して複数のデータの組み合わせを作成することで、テスト設定データを準備するのに役立ちます。

標準設定では、このデータを自分で準備しなければなりません。使用しているパラメータの数によっては、このタスクが指数関数的に増大する可能性があります。テストの組み合わせジェネレータを使用して、このデータを準備できます。

先頭に戻る

テストの組み合わせジェネレータの使用開始

使用するテストのタイプに応じて、次のいずれかを行います。

標準設定では、テストを保存せずにパラメータを追加した場合、UFT One がテストの保存を求めるプロンプトを表示します。

このメッセージ・プロンプトで、[常に選択したとおりに実行]を選択すると、標準設定では UFT One に常にテストが保存されます。このオプションを選択すると、UFT One は、このメッセージを再度表示しなくなります。

必要に応じてこの標準設定を変更してプロンプトを再度表示するには、UFT One オプションで[出荷時の標準設定に戻す]をクリックします。詳細については、「グローバル・オプション」を参照してください。

先頭に戻る

パラメータ値の定義

テストの組み合わせジェネレータでは、次の方法を使用してパラメータの取り得る値を入力します。その後、「データの表示」および「テスト設定の生成」に進んでください。

アクションを取り消す場合は、[元に戻す/[やり直しボタンを使用します。次のアクションに対して使用できます:編集、値の削除、貼り付け、データの生成、理想的パスの追加、エラー・パスの追加、理想的パスのリセット、エラー・パスのリセット。

手動による値の入力

テストの組み合わせジェネレータ・テーブルで、必要に応じてセルをクリックして、パラメータ値を入力します。

パラメータ値の生成

テストの組み合わせジェネレータでパラメータ値を生成します。

  1. テストの組み合わせジェネレータ・ウィザードの左側で、入力する値のタイプに応じて、パラメータ名と生成タイプを選択します。

    • 特定のタイプの値では、他のオプションの選択が必要になります。

      たとえば、または氏名の値タイプの場合、[English]または[Non-English]を選択します。

    • リスト・オブジェクトのデータに基づいて値を生成するには、[UI からキャプチャ]を選択します。

      詳細については、「UI からのリスト値のキャプチャ」を参照してください。

  2. エントリ数]スライダをドラッグして、生成する値の数を定義します。

    テストの組み合わせジェネレータでは、値の重複がないように、一意の項目のみが生成されます。

    たとえば、20 個のエントリを生成するが、取り得る値を 95 ~ 100 の数に制限するように UFT One で設定した場合、6 個のエントリのみが生成されます。

  3. 左側の表示枠の下部にある[生成]をクリックすると、生成された値がテーブルに入力されます。

UI からのリスト値のキャプチャ

アプリケーションのリスト・オブジェクトから直接値をキャプチャします。

UI からキャプチャ]は、次のテクノロジのリスト・オブジェクトでサポートされています:Delphi、Java、Mobile、.NET、SAP、標準 Windows、Web、Windows Presentation Foundation。

次の手順を実行します。

  1. 左側でパラメータ名を選択し、[UI からキャプチャ]生成タイプを選択します。

  2. オブジェクト名]フィールドで、 をクリックしてアプリケーション内のオブジェクトを選択します。キャプチャする値を含むアプリケーションのリストを選択します。

  3. 次に、[オブジェクト名]フィールドで、次のいずれかのオプションを選択します。

    キャプチャした値のリストから選択

    下の[キャプチャした値リスト]から、含める特定の値を選択します。
    キャプチャされた値からランダムに生成

    データに含める値を UFT One が選択できるようにします。

  4. 入力するエントリの数を定義し、[生成]をクリックするとテーブルに値が入力されます。

    注意: 先頭と末尾のスペースは、値から削除されます。たとえば、"London ""London"としてキャプチャされます。

デモを見る

値のインポート

ローカルまたは ALM に保存されている Excel ファイルからパラメータ値をインポートします。テストの組み合わせジェネレータの右上にある[インポート]をクリックします。

テストの組み合わせジェネレータを開いた後にパラメータと値をテストに追加した場合、標準設定値は BPT テスト用にのみインポートされます。

GUI テストでは、Excel ファイル内のパラメータ名がテストのパラメータ名と一致する必要があります。パラメータ名が完全に一致しない場合、パラメータ名はインポートされますが、値はインポートされません。このような場合は、パラメータ値を手動で追加してください。

ヒント: GUI テストで作業している場合は、次のようにデータ・テーブルを選択する方法もあります。

  1. ファイル]>[設定]>[リソース]を選択して、[その他]オプションを選択します。
  2. データ・テーブルを参照して、パラメータ値を取得します。

理想的パスとエラー・パスの値の定義

パラメータ値を入力した後、各値を理想的パスまたはエラー・パスの値として設定して、データをさらに定義します。

テストでエラーや例外を発生させない値。

これらの値は緑色で強調表示されます。

予期されるエラーまたは例外を発生させる値。

これらの値は赤で強調表示されます。

パラメータ値の結合

データを生成するときにパラメータ値を結合してそれらをまとめられます。たとえば、の値を結合して、1 セットの名前の並べ替えを作成できます。

[パラメータの値]タブのテーブルで、CTRL キーを使用して結合するカラムを選択します。次に、選択したカラム・ヘッダを右クリックして、[結合]を選択します。

列は灰色に変わり、一緒にロックされます。

カラムの除外

生成された設定からデータのカラム全体を除外するには、パラメータ値テーブルでそれを除外します。

除外するカラムのヘッダを右クリックし、[除外する]を選択します。

カラムを除外すると、設定の生成時に標準設定のパラメータ値が使用されます。

詳細については、「テスト設定の生成」を参照してください。

先頭に戻る

データの表示

テストの組み合わせジェネレータ・テーブルにすべての取り得る値を入力した後、右下の[組み合わせの表示]をクリックすると、すべての可能な組み合わせが表示されます。

UFT One は、次のように、パラメータ値で可能なすべての組み合わせを表示します。

[順列]タブ

可能なすべての値の組み合わせを一覧表示します。

右上の[アルゴリズム]ドロップダウンから、次のいずれかを選択すると、値が適宜更新されます。

  • リニアパラメータと値の可能な組み合わせがすべて含まれます。このアルゴリズムを選択すると、データ量が膨大になる可能性があります。

  • ペアワイズ入力パラメータのペアに対する有効な値の組み合わせがすべて含まれます。

  • トリプルワイズ入力パラメータの 3 つ 1 組に対する有効な値の組み合わせがすべて含まれます。

ペアワイズおよびトリプルワイズのアルゴリズムは、アプリケーションにおける多くのエラーが、単独のパラメータではなく 2 個または 3 個のパラメータを 1 組にしたものの相互作用によって発生することを想定しています。

[エラー パス]タブ エラー・パス値を使用して可能なすべての組み合わせを一覧表示します。

詳細については、「理想的パスとエラー・パスの値の定義」を参照してください。

設定ファイルを生成するには、「テスト設定の生成」に進んでください。

先頭に戻る

テスト設定の生成

テストの組み合わせジェネレータの[組み合わせ]表示枠で、次の手順を実行します。

  1. 設定名]フィールドに、設定の一意の名前を入力します。

  2. 値を理想的パス値またはエラー・パス値として定義して、この中から 1 つ以上のタイプのデータを設定から除外する場合は、以下を実行します。

    1. 右上の[フィルタ]をクリックします。

    2. 作成するデータのタイプを選択します。

      理想的パス

      選択すると、すべての理想的パス値の組み合わせを含む設定ファイルが作成されます。

      エラー・パス

      選択すると、すべてのエラー・パス値の組み合わせを含む設定ファイルが作成されます。

      正規パス

      選択すると、エラー・パス値を除くすべての値の組み合わせで設定ファイルが作成されます。

    注意: 標準設定では、フィルタは適用されません。理想的パス値とエラー・パス値を定義してフィルタを適用しない場合、データのタイプごとに 1 つずつ、合計 3 つのファイルが作成されます。

  3. 右下の[設定の作成]をクリックします。

標準設定では、設定はテスト・フォルダにテストとともに保存されます。これにより、確実にテストで使用できるようになります。

先頭に戻る

テスト・データの ALM テストへの追加

ALM に保存されている GUI テストを使用している場合、テスト設定は ALM に自動的に保存されません。

代わりに、次のように設定を ALM テスト・リソース・モジュールに手動でアップロードします。

  1. ALM のテスト・モジュールで、[テスト計画]を選択します。

  2. テストを参照して開くか、新しいテスト設定を作成します。[ID]リンクをクリックして、[テスト設定の詳細]ダイアログ・ボックスを開きます。

  3. [テスト設定の詳細]ダイアログ・ボックスで、左側の[データ]を選択して、[テスト データ リソースのオーバーライド]を選択します。

  4. [データ リソース]ドロップダウン・リストから、以前にアップロードしたデータ・テーブル・リソースを選択します。

  5. UFT One で、テストを再度開いて、ALM に保存したばかりのデータ・テーブル・リソースにデータ・テーブルを設定します。

    1. [テストの設定]の[リソース]表示枠を開きます([ファイル]>[設定]>[リソース])。

    2. [データ テーブル]領域で、[その他]を選択して、データ・テーブルを参照して選択します。

[リソース]表示枠の[データ テーブル]領域にデータ・ソースが追加されます。

詳細については、「データ・リソース・ファイルを作成する」を参照してください。

先頭に戻る

カスタム・データ・ジェネレータの追加

UFT One の標準設定辞書によるデータ生成がニーズに合わない場合は、テストのパラメータ・タイプ用にカスタム・データ・ジェネレータを作成します。

  1. データ・ジェネレータの .xml ファイルを作成します。
  2. XML ファイルに、次の XML を追加します。

    <Generators>
     <DataGenerator name="[CustomGeneratorName]" type="[GeneratorType]" title="[GeneratorTitle]" returnType="[GeneratorResultType]">
     ...
     </DataGenerator>
    </Generators>
    name ジェネレータ・タイプの一意の名前。
    type

    ジェネレータのタイプ。取り得る値は次のとおりです。

    • HP.UFT.TCG.DataGeneration.Generators.RegExpGenerator:正規表現を使用して値の形式を指定します。

    • HP.UFT.TCG.DataGeneration.Generators.BaseRepositoryGenerator:標準文字列、数値などで値を指定します。

    title テスト設定のジェネレータに表示される生成タイプのタイトル。
    returnType

    返す値の形式。次のタイプがサポートされています。

    • String

    • Password

    • Number

    • Date

    注意: この XML ファイルに複数のジェネレータ・タイプを追加できます。

  3. データ・ジェネレータの属性で、Parameter 要素を使用してパラメータの詳細を指定します。

    <Generators>
     <DataGenerator name="[CustomGeneratorName]" type="[GeneratorType]" title="[GeneratorTitle]" returnType="[GeneratorResultType]">
    	<Parameters>
    		<Parameter ..../>
    	</Parameters>
     </DataGenerator>
    </Generators>

    正規表現タイプ(HP.UFT.TCG.DataGeneration.Generators.RegExpGenerator)を使用しているか、または通常のタイプ(HP.UFT.TCG.DataGeneration.Generators.BaseRepositoryGenerator)を使用しているかで、Parameter 要素の属性値が異なります。

    正規表現
    • name:文字列「pattern」である必要があります

    • defaultValue:標準設定の正規表現パターン

    • type:文字列「System.String」である必要があります

    非正規表現
    • name:パラメータの一意の名前

    • defaultValue:標準設定のパラメータ値

    • type:文字列「System.Boolean」である必要があります

    • title:パラメータのタイトル

  4. 非正規表現ベースのパラメータ・タイプの場合、次のように Repository 要素を追加します。

    <Generators>
     <DataGenerator name="[CustomGeneratorName]" type="[GeneratorType]" title="[GeneratorTitle]" returnType="[GeneratorResultType]">
    	<Parameters>
    		<Parameter ..../>
    		</Parameter>
    	</Parameters>
    	<Repositories>
    		<Repository..../>
    		</Repository>
    	</Repositories>
     </DataGenerator>
    </Generators>

    Repository 要素には、次の属性を含める必要があります。

    name リポジトリの一意の名前。
    path 取り得る値を含む Excel ファイルへのパス。
    useWhenCheck

    Parameter 要素に入力されたパラメータの名前。これは、パラメータ値のいずれかのチェックボックスをオンにしたときにリポジトリを使用することを UFT One に対して指示します。

    rule データ生成の形式。
  5. XML ファイルを <UFT One インストール・フォルダ>\dat\DataGenerators フォルダに追加します。

データ・ジェネレータの XML ファイルの例:

<?xml version="1.0" encoding="utf-8"?>
<Generators>
<DataGenerator name ="FullNameGenerator" type ="HP.UFT.TCG.DataGeneration.Generators.BaseRepositoryGenerator"  title="Full Name" >
<Parameters>
<Parameter name ="english" defaultValue ="true" type ="System.Boolean" title = "English"/>
<Parameter name ="non-english" defaultValue ="false" type ="System.Boolean" title = "Non-English"/>
</Parameters>
<Repositories>
<Repository name ="fr_full_names" path ="FrenchFirstLastNames.xlsx" useWhenCheck ="non-english">
<Rule>[MaleName] [Surname]</Rule>
<Rule>[FemaleName] [Surname]</Rule>
</Repository>
<Repository name ="en_full_names" path ="EnglishFirstLastNames.xlsx" useWhenCheck ="english">
<Rule>[MaleName] [Surname]</Rule>
<Rule>[FemaleName] [Surname]</Rule>
</Repository>
<Repository name ="jp_full_names" path ="JapaneseFirstLastNames.xlsx" useWhenCheck ="non-english">
<Rule>[MaleName][Surname]</Rule>
<Rule>[FemaleMaleName][Surname]</Rule>
<Rule>[FemaleName][Surname]</Rule>
</Repository>
<Repository name ="ru_full_names" path ="RussianFirstLastNames.xlsx" useWhenCheck ="non-english">
<Rule>[MaleName] [MaleSurname]</Rule>
<Rule>[MaleName] [FemaleMaleSurname]</Rule>
<Rule>[FemaleName] [FemaleSurname]</Rule>
<Rule>[FemaleName] [FemaleMaleSurname]</Rule>
</Repository>
</Repositories>

</DataGenerator>

</Generators>

先頭に戻る

その他の参照項目: