プロキシー開発

機能テストにおいて挑戦となるのは、テストがサポートしなければならない、使用可能なユーザー・インターフェース (UI) フレームワーク (例、Java™ および HTML など) およびコントロール (例、ボタンおよびテーブルなど) の種類が多いことです。UI フレームワークは、アーキテクチャーの点で異なり、プログラミング・モデルおよびコントロールはその継承階層、メソッド、プロパティー・データ、およびユーザー・アクションの点で異なります。

異なる UI フレームワークおよびコントロールのサポートを追加するように Functional Tester をプログラミングして、適切な機能テスト値をテスターに提供できるようにする必要があります。

Functional Tester アーキテクチャーは、異なる UI フレームワークごとにそれぞれの TestDomainImplementation クラスを使用して、UI フレームワークにおける相違点を処理します。 これらの TestDomainImplementation クラスは、Functional Tester がサポートする各 UI フレームワークの特定のプロパティーを処理します。 以下の TestDomainImplementation クラスを Functional Tester とともに使用できます。

TestDomain には、それぞれの UI フレームワークによって提供されるコントロールのセットが入っています。 Functional Tester は、各コントロールまたは同様のコントロールのグループごとに実装される ProxyObject クラスを使用して、コントロール内の相違点を認識および処理します。 ProxyObject は、コントロールに対するラッパー・オブジェクトと見ることができ、Functional Tester が定義する標準インターフェースと一緒に実装されます。 それぞれのプロキシー・メソッドには固有の意味があり、Functional Tester は特定のときにそれらを呼び出します。 ProxyObject はそのコントロールに固有の詳細情報を戻します。 ProxyObject クラスは、サポートされる TestDomain 内の各コントロールまたは同様のコントロールのグループに関する特性を処理します。

プロキシー開発の概要

Functional Tester は、Java、.Net、Win32、Siebel、SAP、および HTML など、サポートされる TestDomains ごとに、階層的にグループ化された ProxyObjects のセットを提供します。 各 TestDomain 内の ProxyObject の継承階層は、その TestDomain のコントロールの継承階層と同じになるように設計されています。ProxyObjects を階層的にグループ化することにより、新規のコントロールが UI フレームワークに導入されたときに新規の ProxyObjects を作成するように、それらを拡張することができます。 ProxyObject 階層内のサポートされる UI フレームワークごとに、使用可能な ProxyObjects およびコントロールのセットに関する詳細情報を検索できます。

注: 現在の Functional Tester Proxy SDK 実装では、新規の UI フレームワークのサポートを追加することはできません。新規のコントロールのサポートを追加するか、あるいは現在サポートされているコントロールを拡張することができます。

フィードバック