すべてのテスト自動化の専門家へ:-)!次のシナリオについてのご意見をお聞かせください。
テストする必要のあるWebアプリケーションがあります。サーバーでバックエンドテストを実行し、クライアントでフロントエンドテストを実行する必要があります。また、バックエンドとフロントエンドの両方を含むエンドツーエンドのテストを実行する必要があります。
サーバーはWebサービス(SOAP)を公開し、フロントエンドクライアントはこれらのサービスからのデータを消費します。Webサービスからのデータを消費するサードパーティのクライアントもあります。テストシナリオでは、エンドツーエンドのテストを行う必要がある場合があります。つまり、フロントエンドGUIでいくつかの変更を加えてから、バックエンドでWebサービスを使用して、変更が成功したかどうかを確認します。
私はFitNesseが好きです-私の意見では、WHATとWHYをHOWから分離することは、優れたテストを設計するために不可欠です。SeleniumテストをFitNessewikiページと統合することを可能にするSelenesseモジュールがあります。これにより、テストの方法(シナリオテーブルとスクリプトテーブル)から、何か(wikiテキスト)をテストする必要がある理由とその理由を簡単に説明できます。
FitNesseの問題は、SOAPWebサービスをテストするのがやや面倒なことです。専用のSOAPクライアントJavaフィクスチャを開発するか、FIT用に記述されたServiceFixtureクラスを拡張するJavaフィクスチャを作成する必要があります。いずれにせよ、 soapUIでこれらのテストを実装する場合よりも、開発作業は大幅に大きくなります。
私の意見では、soapUIの欠点は、テストの内容と理由を簡単に説明する方法がないことです(少なくとも直感的な方法ではありません)。
したがって、エンドツーエンドのテストのための合理的な開発努力が必要であると仮定して、FitNesse /SelenesseでGUIテストを作成し、soapUIでバックエンドテストを作成するアプローチに落ち着きました。FitNesseからsoapUIテストを実行するか、そこですべてのテストを管理するか、soapUIからFitNesseテストを実行するかを選択できます...
このアプローチのテスト管理(1つのビューでテスト結果を確認するのはそれほど簡単ではありません)と保守性(異なる言語の2つのツール)に関していくつかの懸念があります。これに関するベスト/グッドプラクティスについて何かアイデアはありますか?他の2つを管理するための3番目のツールを提案しますか?