SOAtest は、さまざまなプロトコル上での Web インターフェイスおよびサービスのテストを幅広くサポートしており、「エンドツーエンド」テストのための統合フレームワークとなります。エンドツーエンド テストでは、Web インターフェイス、データベース、EJB などのメッセージ レイヤーを横断する複数のオペレーションを1 つのテスト スイートで検証できます。さらに、1 つの「処理ユニット」が完成したらすぐに「単体テスト」を作成し、コンポーネントが追加されるごとにテスト スイートを段階的に拡張し、コンポーネントの統合テストを行い、コンポジット アプリケーション全体にまたがるエンドツーエンドのビジネス プロセスを監査することができます。
SOAtest は柔軟なテスト スイート基盤を提供するため、ユーザーはカスタマイズしたテスト シナリオを追加し、構成し、実行することができます。テスト スイートの個々のテストには、メインのテスト ツールと任意の数の出力の組み合わせ (他のツールや特別な出力オプション) を含めることができます。テストを個別に実行することも、テスト スイート全体を実行することもできます。さらに、テストまたはテスト スイートのレベルで回帰コントロールを追加すると、予期しない変更があった場合は直ちに検出できます。既存のテストやテスト スイートの移動、コピー、削除を行ったり、手動で新しいテストを作成できます。
個別の機能テストを作成した後、追加の作業を行うことなく、それらをシナリオ ベースのテストとして利用できます。シナリオ テストでは、ビジネス ロジックやアプリケーションまたはサービスの通常の使用時に発生する可能性があるトランザクションをエミュレートできます。これによって特定のイベントの組み合わせでだけ表面化するバグを見つけることができます。
推奨するワークフロー
エンドツーエンド テスト シナリオ作成の最も一般的なワークフローは次のとおりです。
各「処理ユニット」(サービスまたはその他の論理コンポーネント) が完成したら、次の操作を行います。
- ウィザードを使用して、プロジェクト、テスト スイート、初期テスト ケースを自動生成します。
テスト対象の機能をカバーするよう、必要に応じて出力やテストを追加します。
テスト対象機能が期待どおりに動作するようになったら、回帰コントロールや検証を追加します。
テストを実行し、期待される結果が出力されているかどうかを確認します。
アプリケーションに問題がある場合、問題の原因を突き止めて修正し、テストを再実行します。
テストが期待どおり動作していない場合、必要に応じてテストやツール設定を調整し、テストを再実行します。
テスト スイートが充実してきたら、テストを組み合わせてテスト シナリオを作成します。たとえば、以下のような操作を実行できます。
テストをコピー&ペーストし、ロジックに従って別のテスト スイートに移動します。
テストの順序、関係、フロー ロジックなどの実行オプションを構成します。
テストをパラメータライズし、データ ソースの値や他のテストから抽出した値を使用します。
環境を使用し、確実でいつでも利用可能なテスト環境を構成します。