SOAtest -SOAシステムテストツール-
機能詳細
サービスの機能を検証
受け取ったリクエストに対して、サービスが正しいレスポンスを返しているかどうかを検証できます。SOAtest は、WSDL 文書やWSIL 文書、UDDI レジストリ、HTTP トラフィックなどの情報からテストスイートを自動生成し、テストを自動実行します。また、テストスイートは編集したり、ユーザオリジナルのテストスイートを追加したり、複数のテストスイートを組み合わせて、特定の順序で実施するテストシナリオを作成することも可能です。
このシナリオ検証機能により、SOAシステムで実現するべきサービス連携の品質を検証することが可能となり、サービスの開始後に発生する問題を早期に検証することができます。加えて、SOAtest は、クライアントのシミュレーション機能により、サービスを検証するためのクライアントの作成を必要とせず、サービスの作成完了後、ただちにテストの実施が可能になります。
このシナリオ検証機能により、SOAシステムで実現するべきサービス連携の品質を検証することが可能となり、サービスの開始後に発生する問題を早期に検証することができます。加えて、SOAtest は、クライアントのシミュレーション機能により、サービスを検証するためのクライアントの作成を必要とせず、サービスの作成完了後、ただちにテストの実施が可能になります。
クライアントの動作の確認が可能
SOAtest には、サービスをエミュレーションするWebサービス デプロイ機能が搭載されています。この機能により、実際のサービスにアクセスすることなく、クライアントが正しいリクエストを送信しているか、レスポンスを受け取ったとき正しく動作しているかを検証することが可能です。システムが構築されていない場合やサービスへのアクセスが禁止されている場合でも、クライアントの動作が確認できるので、開発の早い段階からクライアントの機能を確認することが可能です。
負荷テストも可能 (Enterprise Edition のみ )
SOAtest は、負荷テストの実行が可能です。負荷テストでは、負荷が高くなったときサービスのパフォーマンスや挙動に問題がないかどうかを検証します。SOAtest では、ユーザが定義したテストシナリオや機能テスト時に使用したテストシナリオを使用して、SOAシステムを構成する各サーバーに対して、大量のリクエストを送信し、1テストにかかった時間や各サーバーのパフォーマンスデータなどをリアルタイムでレポートします。サーバーのパフォーマンスデータとして、Windowsパフォーマンスモニターや、SNMP、JMXモニターなどを表示することも可能です。さらに、SOAtest は、負荷テストと同時に機能テストを実行することにより、高い負荷がかかっている状況でもサービスが意図したとおりに動作しているかどうかを確認できるので、運用開始時に想定される問題点を早期に発見することが可能です。
WS-Security トークンや暗号、証明書を含むリクエスト送信のシミュレーションが可能
SOAtest は、SOAを構成する各サーバーと接続していない状態でも、SOAPトランスポート、および、SOAPセキュリティの各レイヤーに対して送信されるWebサービスをテストすることが可能です。SOAtest は、仮想のサーバーにSOAPおよび、トランスポートのセキュリティレイヤーを設定することができるので、WS-Security トークンや暗号、証明書を含むリクエストの送信を検証することが可能です。SOAtest では、トランスポートレイヤーにおいては、SSL(サーバー認証およびクライアント認証)とベーシック認証、クッキーでのセッション管理をシミュレーションすることが可能です。また、ワイヤーレベルでは、X.509トークンやSAMLトークン、ユーザ名トークンなどのWS-SecurityとXML暗号化やXMLデジタル証明書をシミュレーションすることが可能です。SOAtestの仮想サーバーから返されるレスポンスを確認することにより、規定されたセキュリティ環境下でクライアントが正しいリクエストを送信しているかを確認することができます。
ISO8583メッセージの送受信するクライアントをシミュレート
ISO8583メッセージプロトコルによるメッセージ送受信のシミュレーションが可能です。メッセージフィールドを設定するインターフェースや、メッセージヘッダーのカスタマイズ機能など、設定を容易にするさまざまな機能が搭載されています。SOAtestを使用することにより、クライアントとサーバーが接続できない状況でもISO8583プロトコルによる通信の検証が実施できるので、開発の早い段階からテストをする確認することが可能です。
侵入テストを自動実行。 SOA システムの脆弱性を検証 ( オプション )
侵入テストに必要なテストケースを自動生成し、擬似的な攻撃を実施します。SOAtest では、SOAを構成する各サーバーに対して、SQLインジェクション、Xパス インジェクション、パラメタ改ざん、XMLボム、 external entities(外部参照)などの攻撃を送信します。テスト時のサーバーからのレスポンスを分析し、プログラムの脆弱箇所を発見することが可能です。開発の早い段階から、SOAtest で侵入テストを実施することにより、セキュアなSOA システムの開発が可能になります。
インターオペラビリティ ( 相互運用性 ) の検証が可能
SOAtest には、WS-I Basic Profileをベースに開発されたWeb Validation機能が搭載されています。このWeb Validation機能により、WSDLのURLを入力するだけで、WebサービスがWS-I Basic Profile 1.1 の定義に準拠しているかどうかのチェックを自動実行します。SOAtest を使用することにより、簡単にサービスの相互運用性が確認できます。
XMLメッセージの妥当性を検証するためのアサーション機能(XML Assertor)を搭載
サービスが返すXMLメッセージの妥当性を検証するためのアサーション機能(XML Assertor)が搭載されました。XML Assertorでは、メッセージ中の要素の文字列内容や要素のオカレンスの個数、数値内容を「期待される値」や指定した正規表現と比較することが可能です。XML Assertorで検証することにより、ビジネス要件に適しているか、また、サービスを修正した場合でも要件を満たしているかを即座に確認できるようになりました。
通信メッセージの品質確保や検証の準備を容易にするさまざまなツールを搭載
XMLファイルの記述が整形式に準拠しているかどうか検証するXML Validatorやインデントを整えるXML Beautifier、テストで得られたレスポンスから値を抽出して、別のテストの入力として利用するData Bankなど、通信メッセージの内容を確認するためのさまざまなツールが搭載されました 。
データ駆動型テストを完全自動化するデータソース機能を搭載
SOAtest が生成またはユーザが定義したテストスイートのリクエストの値に外部データファイルからデータを流し込むことが可能です。また、リクエストに対するレスポンスの値も外部データファイルと比較することが可能です。リクエスト値とレスポンス値のデータファイルを設定することにより送信されるリクエストの値によってレスポンスが異なるようなデータ駆動型のテストを完全に自動化することが可能になります。
デグレードを防止する回帰テストを自動実行
SOAtest は、テスト時に使用したテストコンフィグレーションやテストスイート、テスト結果を保存しています。2回目以降のテストでは、前回のテスト結果と比較し、結果が異なる場合、エラーとしてレポートします。この回帰テストの結果から、Webサービスの修正が正しく実行されたか、または、新たにエラーが作りこまれていないかを確認できるので、バージョンアップや機能拡張時のデグレードを防止できます。
さまざまな環境/通信をサポート
JMSやParlay、Parlay-X、SCP、WS-Addressingを使用した非同期メッセージのテストやAttachment のシミュレーションをサポートしています。