インタフェースの定義
自動化テストの実行には、1つ以上のインタフェースを通して、テスト対象のアプリケーションを操作する必要があります。
ほとんどの場合、操作はダイアログボックスやウェブページのような、ユーザー指向のインタフェースに対して行われます。しかし、多くの場合、テストの一部、あるいはテスト全体が、メッセージ、API呼び出し、SQLステートメントなどの他の手段を通じて、AUTと操作する必要があります。アクションベースドテストでは、インターフェイス定義の使用で全てのインターフェースとの操作がサポートされます。
インタフェースの定義は次のように構成されています:
- 各プロジェクトでは1つ以上のインタフェースを定義することできます。(多くのプロジェクトは1つしかのインタフェースを持っていません。)
- 各インタフェースに、インタフェースエンティティのセットが定義されます。整理のためにフォルダにグループ化することができます。
- 各インタフェースエンティティにインタフェース要素のセットが入ります。
インタフェースは通常、Java、.Net、Webなどのプラットフォームに関連するものです。インタフェースエンティティは、通常、特定の画面やWebページに固有のものです。インタフェース要素は通常、コントロールまたはHTML要素です。
非UIインタフェースでは、インタフェース定義も適用できます。メッセージプロトコルの場合、インタフェース実体はメッセージを表しますが、インタフェース要素はメッセージフィールドを表すことができます。
要するに、インタフェース定義は、物理的なインタフェース項目に論理的な名前を割り当てます。ウィンドウのタイトルやボタンのキャプションのようなインタフェース項目のプロパティは、自動化がテスト実行中に論理名を実際の項目にマッピングできるようにするためのものです。例えば、アプリケーションエラーというタイトルがあるダイアログボックスには、エラーメッセージという論理名を付けられます。この場合、タイトルは項目を識別するためのプロパティです。
自動化の保守性は、インタフェースの定義をうまく設計することで強化させることができます。特に以下のことにご注意ください:
- テスト対象システムのバージョンの変更で意味が失われる可能性が低い、意味のある論理名を使用します。(したがって、テキストボックス5を使用せず、テキストボックスを識別するためにラストネームを使用します。).
- テスト対象システムのバージョンの変更で(またはビルド)で変更される可能性が低い、明確な識別プロパティを使用します。例えば、位置のプロパティ(top、left)を使用せず、タイトルやキャプションのようなバージョン(またはビルド)で変更されないプロパティを使用します。