Difference between revisions of "GXtest Generator - テスト深度"

From GXtest Wiki
Jump to: navigation, search
 
Line 13: Line 13:
 
* Basic  
 
* Basic  
 
* Basic_with_rules
 
* Basic_with_rules
* All discrete values
+
* All_discrete_values
 
* Valid_and_invalid  
 
* Valid_and_invalid  
  
Line 29: Line 29:
  
  
=== Basic_with_rules ===
+
=== Basic with rules ===
 
Basic と同じですが、従来は、分析されたオブジェクトの GeneXus ルールに基づいて、境界の値も含まれています。たとえば、ユーザーが入力した年齢が 120 以上であった場合にエラーを発生させるなどの Age フィールドに関するエラールールがある場合、GXtest Generator はテストに最適な境界値として 119 という数値を選択します。
 
Basic と同じですが、従来は、分析されたオブジェクトの GeneXus ルールに基づいて、境界の値も含まれています。たとえば、ユーザーが入力した年齢が 120 以上であった場合にエラーを発生させるなどの Age フィールドに関するエラールールがある場合、GXtest Generator はテストに最適な境界値として 119 という数値を選択します。
  
Line 44: Line 44:
  
  
=== Valid_and_invalid ===
+
=== Valid and invalid ===
 
(GXtest 3.0 以降でサポート)
 
(GXtest 3.0 以降でサポート)
  

Latest revision as of 20:14, 29 May 2015

Spanish.gif
English.gif
Japan.gif


テスト深度オプションでは、生成されたテストケースが持つデータの複雑さを指定します。生成されたデータプールの行番号は、この設定により異なります。

Contents

オプション

  • Minimum
  • Basic
  • Basic_with_rules
  • All_discrete_values
  • Valid_and_invalid

このページの以下のセクションで、各設定について説明します。


Minimum

分析されたエンティティの編集可能な各フィールドに対して 1 つの値のみが生成されます。値はランダムに生成され、辞書またはアプリケーションデータベースから取得されます。


Basic

フィールドの境界の値に基づき、各フィールドに対して有効な値のセットを生成します。 たとえば、Numeric(4) フィールドには、次の値を生成することができます:183, 0, 1, 9999 値の生成ロジックは [境界値分析] の技法に基づきます。


Basic with rules

Basic と同じですが、従来は、分析されたオブジェクトの GeneXus ルールに基づいて、境界の値も含まれています。たとえば、ユーザーが入力した年齢が 120 以上であった場合にエラーを発生させるなどの Age フィールドに関するエラールールがある場合、GXtest Generator はテストに最適な境界値として 119 という数値を選択します。

現在、分析/サポートされるルールは、静的な値との比較を行う次のようなルールです。

  • error() - Numeric 項目属性の比較に依存してエラーが発生する場合
  • error() - 文字列の長さが数値よりも長いか短いときにエラーが発生する場合


All discrete values

(GXtest 3.0 以降でサポート)

この設定は、特にユーザーが離散値のセットの中から入力を 1 つだけ選択できるフィールドに適用されます。最も端的な例はコンボボックスです。コンボボックスでは、予め定義された限定的なセットの中からユーザーがオプションを 1 つ選択できます。"All discrete values" の設定が選択されている場合、GXtest Generator は、コンボボックス内に表示されるすべてのオプション (一部の値だけを選択するのではなく) をテストケースに含めます。


Valid and invalid

(GXtest 3.0 以降でサポート)

アプリケーションの正常なフロー (「グリーンフロー」) を実行するテストに加えて、GXtest Generator は異なる条件やシステムエラーを検出するフロー (「レッドフロー」) を実行するテストケースも作成します。このテストケースでは、フォームの入力の検証と関連付けられたエラーメッセージが正しく表示されるかどうかを確認します。


このテストケースには次のような手順が含まれます。

  • すべての入力に有効なデータを入力する。
  • 入力フィールドに関連付けられたエラールールごとに:
    • 無効な値を入力する。
    • 表示されたメッセージがエラールールと一致しているかどうかを確認する。
    • 有効な値を入力する。

たとえば、Age フィールドについて次のようなエラールールがあるとします: error("The age must be lower than 120") if Age>=120;

テストケースではまず最初に Age フィールドに 120 (以上) の値が入力されます (FillInput コマンド)。次に、エラーメッセージが画面に表示されるかどうかの確認が行われます (VerifyControlValidation コマンド)。


したがって、GXtest Generator はテストケース内に以下のコマンドを記述します。

FillInput(Age, 120)

VerifyControlValidation("The age must be lower than 120", Error)

FillInput(Age, 20)


始めの 2 つのコマンドはエラーの検証を行います。3 つ目のコマンドは、確認したいフィールドが他にもある場合、このフィールドのエラーが他のエラーメッセージおよび検証の妨げにならないように、編集可能なフィールドに正しい値を入力します。


エラー結果を判定するための複雑なロジックがエラールールに含まれている場合 (プロシージャーを呼び出す場合など)、コマンドは GXtest Generator が作成しますが、使用する値はユーザー/テスト担当者が入力する必要があります。これは、複雑なロジックや動的に生成されるデータに依存するこれらの入力の正しい値または無効な値が GXtest には分からない場合があるからです。しかし、テスト担当者にはケースごとの最適な入力値が分かります。したがって、GXtest がコマンドを生成し、ユーザーはデータの入力のみ行います。


GXtest Generator が指定できないデータは、関連付けられたデータプールで簡単に特定できます。該当するデータには "無効な値をここに入力" および "有効な値をここに入力" という値が示されています。