私は中間層チームで働いており、SOAP UI を使用して手動で Web サービスをかなりテストしてきました。回帰テストケースを自動化するタスクがありました。現在、自動化チームはありません。そのため、好きなツールを自由に使用でき、どのツールが適しているかをマネージャーに知らせることができます..しかし、私はまだ自動化テストを学んでいません. ミッドティアの自動化テストに適したツールはどれでしょうか? SAP の結果で結果を検証する多くのサービスがあります。たとえば、Midtier でアイテムの価格をテストしている場合、返された価格が SAP の価格と一致するかどうかを確認する必要があります。SAPにログインして提供されたトランザクションコードに移動し、そのアイテムの価格を確認する場所で、これを手動で行ってきました。
5 に答える
私は同様の要求に取り組んでいます。クライアントはすでに soapUI (OS) を使用して一部のサービスを自動化しているため、私の仕事は少し難しくなります。
OS バージョンには、データ駆動型テスト スイートを作成するためのデータ ソース、データ ループ テスト ステップがありませんが、常に回避策があります。
オープン ソース バージョンでも、普及している 3 種類の自動化フレームワークを実装できます。
アクション ドリブン フレームワーク - このフレームワークを soapUI に適用するには、サービスのセットアップ、実行、および検証におけるいくつかの一般的なテスト ステップを特定する必要があります。特定したら、それらをテスト スイートやテスト ケースに分けて、適切なテスト スイート/テスト ステップを呼び出すだけです。
例: サービスによって注文エントリがデータベースに作成されたことを検証するテスト ステップがあるため、テスト スイート + テスト ケースを作成し、そこに jdbc テスト ステップを追加して、注文 ID に基づいて検索します。私が提供するデータ。クエリはパラメーター化されます。実際のスクリプトでは、サービスを実行し、db クエリの実行に必要なすべての値を抽出します。これらの値は、実行テスト テスト ステップを使用して再利用可能なテスト ケースに渡されます。
覚えておくべきいくつかのことは、多数のテスト ケース/パラメーターがあり、サービスを変更する必要があると思われる場合は、パラメーターを Excel ファイルに入れ、テスト スイート セットアップ スクリプト領域から groovy を使用してそれらをロードすることです。
Excel または Jxl を使用するには scriptom api が必要です (実装はもう少し複雑です)。
データ駆動型フレームワーク。このフレームワークでは、基本的に、サービスで実行するさまざまなシナリオを特定し、Excel に関連データを入力してから、groovy と scriptom または jexcel または jxl api ループを使用して、Excel のすべての行をループし、サービスを実行します。異なるデータ要素で。このアプローチは、必要に応じて複雑にすることも、必要に応じて単純にすることもできます。
キーワード駆動型フレームワーク - これは、多くの計画、開発などを行う必要があるため、実装するフレームワークの中でおそらく最も複雑です。私は現在、そのようなフレームワークを設計しています。機密保持契約が締結されていなければ、いくつかの詳細をあなたと共有したでしょう.
また、あなたが groovy に慣れていないことも理解しています。soapUI と groovy のサイトをチェックしてください。これらには、非常に優れた例がたくさんあります。また、クエリに答えるために常に stackoverflow があることを覚えておいてください。
この努力をどのように実現するか教えてください。
大規模なプロジェクトで私たちが行ったことは、多くの接続されたレガシー システム (200 以上のサービス) でした。
- サービスごとに、サービスの良さ (接続性、機能性など) を反映する適切なアサーションを使用して SoapUI プロジェクトを作成しました。
- Hudsonを設定して、サービスの SoapUI プロジェクトのリストを実行します。実行されたすべてのサービスがログに記録されます (要求、応答)
- ログに記録された応答を分析し、日次レポートを作成する Ant ジョブを作成しました (Hudson でも実行されます)。
サーバーログのパターンを検索して、非同期サービスにも触れました。ここで、SoupUI プロジェクト作成規則 (ネーミング、必要なアサーションなど) を持つことが重要でした。
Web サービスの回帰テストを自動化したい場合は、Soap-UI Pro を使用できます。自動化はsoapuiで非常に簡単です。私は同じことに取り組んでいます。soap ui を使用して、すべてのフライト統合 Web サービスを自動化しました。複雑なシナリオでは、groovy スクリプト言語を使用できます。
ありがとう、ハヌマント
同様の状況で私が行ったこと (品質の問題が再発する傾向がある非常に複雑なサードパーティ製アプリケーションをテストする必要があった): 通常の JUnit 4 環境を使用していくつかの単体テストを作成しましたが、ローカルの Java クラスをテストする代わりに、実行しましたWeb サービスを呼び出し、応答を確認しました。SAP R/3 バックエンドに対して結果を検証する必要がある場合は、http://service.sap.com/connectorsから入手できる Java コネクタ (JCo) を使用することもできます。欠点は、明らかに Java でテストをコーディングする方法を知る必要があることです。
Web サービスが REST の場合は、最初に Maven を使用して REST クライアント (Chrome プラグイン) エクスポートで記録します。Maven プロジェクトを作成し、プラグイン exp を追加します。
<plugin>
<groupId>com.restlet.client</groupId>
<artifactId>maven-plugin</artifactId>
<version>2.3.0.1</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<file>API_Testing.json</file>
<selectedEnvironment>Staging</selectedEnvironment>
<licenseKey/>
</configuration>
</execution>
</executions>
</plugin>