テストスイートとテストケースの作成方法 SoapUI

⚡ スマートサマリー

aを作成する SoapUI プロジェクト、テストスイート、およびテストケースを使用することで、構造化されたSOAP Webサービステストが可能になります。このチュートリアルでは、SOAPプロトコルの基本、WSDLのインポート、リクエストの実行、アサーションの設定、および信頼性の高い機能テストと回帰テストのためのレスポンスログ分析について説明します。

  • 🧠 石鹸 Foundation: SOAPは、XMLをベースとしたプラットフォーム非依存のプロトコルであり、HTTP上で転送され、異なるシステム間でメッセージを交換します。
  • 📁 プロジェクトの作成: WSDLを新しい SoapUI SOAPプロジェクト:あらゆる操作に対してサンプルリクエストを自動生成する。
  • 🗂️ テストスイートの設定: プロジェクトのルートを右クリックして、関連するテストケースをグループ化して整理された実行を可能にするテストスイートを追加します。
  • 🧪 テストケースの手順: SOAPリクエストのステップを追加し、対象の操作を選択し、スキーマ準拠やSOAPフォルトチェックなどの標準アサーションを設定します。
  • 📊 対応状況の確認: RAWタブとログペインを使用します(SoapUI HTTPステータスコードを検証し、リクエストのトラブルシューティングを行うために、ログ、HTTPログ、エラーログ、メモリログなどを使用します。

テストスイートとテストケースの作成方法 SoapUI

SOAP プロトコルを理解する

作成する前に SoapUI テストケースでは、SOAPプロトコルの基本を再確認することが役立ちます。SOAPリクエストとレスポンスがシステム間でどのようにやり取りされるかを明確に理解することで、使用が容易になります。 SoapUI それらを効果的にテストするため。

SOAPはの略です シンプルオブジェクトアクセスプロトコル以下はSOAPプロトコルの主要な特性です。

  • これは、2つの異なるシステム間で通信を行うために使用されるXMLベースのプロトコルです。
  • プラットフォームや言語に依存しないシステムです。 Java .NETで開発されたものと通信できる。
  • SOAPのリクエストとレスポンスはHTTPを介して転送されます。

SOAPメッセージ形式を学ぶ

SOAPメッセージは、以下の要素を含む通常のXMLドキュメントです。メッセージは、リクエストまたはレスポンスのいずれかになります。

SOAPメッセージのフォーマット
SOAPメッセージ形式

SOAPの基本が確立されたら、次のステップは SoapUI プロジェクト構造、テストスイート、および特定の Web サービスを検証するために必要なテストケース。以下のウォークスルーでは、 SoapUI 新しいSOAPプロジェクトを作成するためのプロジェクト例。

SOAPプロジェクトの作成 SoapUI

SOAPプロジェクトには、インポートされたWSDL定義と、各操作用に生成されたすべてのサンプルリクエストが格納されています。

ステップ1: プロジェクトの種類に応じて、SOAPプロトコルまたはRESTプロトコルをインポートします。この例では、新しいSOAPプロジェクトを作成します。

新しい SOAP プロジェクトの作成

ステップ2: 以下のSOAPリクエストを使用してください URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. プロジェクト名を入力します。
  2. WSDLリクエストのパスを入力してください(この場合は、http://www.dneonline.com/calculator.asmx?wsdl)。
  3. 詳しくはこちら OK.

SOAPプロジェクト名とWSDLパスを入力してください

注意:

  • すべての操作のサンプルリクエストを作成します。 WSDL内の各操作に対してサンプルリクエストを生成します。WSDLアドレスを入力するとデフォルトで有効になります。不要な場合はチェックを外してください。
  • インポートしたWSDLのテストスイートを作成します。 追加 SoapUI インポートされたWSDL用のプロジェクト内テストスイート。
  • 相対パス: プロジェクトファイルに関連するすべてのファイルを保存し、移植性を向上させます。

ステップ3: 上記のWSDLを使用してSOAPプロジェクトを作成した後、2つの操作がプロジェクトにインポートされます。

インポートされたSOAPプロジェクト Operaン

ステップ4: 最初のリクエストを展開し、右クリックします。 追加、次に以下をクリックします 新しいリクエスト.

SOAPプロジェクトに新しいリクエストを追加する

次に、をクリックします。 OKSOAPリクエストはXML形式で表示されます。

SOAPリクエストのXML形式

  1. 値を入力してください 整数A (NAIST) と インターB.
  2. クリック 送信
  3. 応答XMLは右側のペインに表示されます。

SOAPリクエストを送信してレスポンスを表示する

直接リクエストを送るのではなく、テストケースを作成する理由とは?

1つの操作に対するリクエストを直接送信することは可能ですが、複数の入力組み合わせをテストする必要がある場合、この方法はすぐに限界に達します。たとえば、5+5から4+4に切り替えるには、毎回リクエストを編集する必要があります。テストケースを含むテストスイートを使用すれば、元の操作を変更することなく、すべてのシナリオを再利用可能です。

テストスイートの作成方法 SoapUI

テストスイートとは、関連するテストケースをまとめたコンテナです。以下の手順に従って作成してください。

ステップ1)プロジェクトのルートを右クリックします。

プロジェクト内で、プロジェクトのルートを右クリックしてテストスイートを作成します。

テストスイートを作成する SoapUI - 右クリックプロジェクト

ステップ2)テストスイートの詳細を入力します。

テストスイート名を入力してクリック OK.

テストスイート名を入力してください

ステップ3)作成したテストスイートを検証します。

新しいテストスイートは、以下に示すようにナビゲーターペインに表示されます。

作成したテストスイートを検証する

ステップ4)テストスイートを開きます。

テストスイートウィンドウが右側のペインに開きます。テストケースがまだ存在しないため、すべての操作オプションは無効になっています。

空のテストスイートウィンドウを開く

テストケースの作成方法 SoapUI

テストケースはテストスイートの中に存在し、Webサービスをテストする個々のテスト手順をグループ化したものです。

ステップ1: テストスイート内で、テストスイートを右クリックして、複数のテストを作成します。 新しいテストケース.

新しいテストケースを作成する SoapUI

ステップ2: の名前を指定します テストケース をクリックし OK.

テストケース名を入力してください

ステップ3: 作成されたテストケースは、以下に示すように、初期状態ではステップがゼロです。

ステップ数ゼロのテストケース

注意: テストケースは、すべてのテストタイプにおいてテストステップがゼロの状態で追加されます。ステップが追加されると、括弧内の数値が自動的に更新されます。

機能テストのステップは テスト手順パフォーマンス手順は 負荷試験、セキュリティチェックは セキュリティテスト.

ステップ4: 右クリックして、異なるテストステップタイプを挿入します。 テスト手順 そして、適切なオプションを選択してください。REST Webサービスの場合は、SOAPリクエストではなく、RESTテストリクエストを選択してください。

テストステップタイプの挿入

テストステップを追加する SoapUI

テストケース内に、インポートされたSOAPリクエストを検証するテストステップを追加します。

ステップ1: 新しいステップを追加する SOAPリクエスト としてジョブステータス出力ログに記録されます。

SOAPリクエストテストステップを追加する

ステップ2: ステップ名を入力してクリック OK.

テストステップ名を入力してください

ステップ3: 実行する操作を選択するためのダイアログが表示されます。利用可能なすべての操作が一覧表示されます。

  • ここには多くの操作が表示されます。操作内容はSOAPバージョンを除いて同一です。CalculatorSoapはSOAPバージョン1.1を使用し、CalculatorSoap12はSOAPバージョン1.2を使用します。
  • このシナリオではバージョンは関係ないので、どちらを選択しても構いません。

    石鹸を選択してください Opera呼び出す

  • 操作を選択したら、クリックします OK.

    確認します Opera選択

ステップ4: テストケースを追加する際に、標準的なアサーションを適用できます。アサーション(チェックポイントまたは検証ポイントとも呼ばれます)については、次のチュートリアルで説明します。

テストケースを作成する際に、以下のチェックポイントを追加できます。以下の例では、検証ポイントを一切有効にせずにテストケースを作成します。

スタンダード SoapUI アサーション

  1. テスト実行後、応答メッセージがSOAP形式であるかどうかを確認します。
  2. レスポンススキーマが有効かどうかを検証します。
  3. SOAPレスポンスにFAULT要素が含まれているかどうかを確認します。

ステップ5: テストケースを作成すると、以下に示すようなリクエストXMLが表示されます。XMLの構造については、スナップショットで説明しています。

リクエストXML構造

ステップ6: テストステップ数が1つ追加されたため、テストステップ数が1に増加しました。負荷テストとセキュリティテストのステップを追加すると、それぞれのカウンターが自動的に増加します。

テストステップカウンターのインクリメント

リクエストを手動で送信し、レスポンスを読み取る SoapUI

ステップ1: 以下の例は、2つの整数を加算する例です。

  • intA — 5
  • intB — 5

次の投稿:

  1. リクエストXML内の疑問符の部分に、以下の入力値を入力してください。
  2. 対応するXMLタグを更新したら、クリックします 要求を提出する 応答を確認するため。

intAとintBを使用してリクエストを手動で送信する

ステップ2: リクエストが送信されると、WebサーバーによってWebサービスが処理され、以下に示すようにレスポンスが返されます。

この回答は、5+5=10であることを確認しています。

加算結果を示すSOAPレスポンス

SOAPレスポンスとログパネルの理解

前述のとおり、SOAPメッセージはHTTP経由で転送されます。RAWメッセージを検査することで、SOAPリクエストとレスポンスがHTTP上でどのように伝送されるかを明確にすることができます。

ステップ1: クリック RAW のタブ SoapUI リクエストウィンドウ。

  1. リクエストはWebサーバーに送信されるため、HTTP POSTメソッドが使用されます。
  2. SOAPリクエストはHTTPメッセージの本文に含まれて送信されます。

SOAPリクエストRAWタブ

ステップ2: 次に、 RAW のタブ SoapUI レスポンスウィンドウを開いて、HTTP経由でレスポンスがどのように配信されるかを理解します。

  1. リクエストが処理されると、HTTPレスポンスコード(200)が表示され、成功を示します。
  2. SOAPレスポンスは、HTTPメッセージの本文内に含まれてクライアントに返されます。

SOAPレスポンスRAWタブ(HTTP 200)

以下の表は、迅速なデバッグに役立つ一般的なHTTPレスポンスコードをまとめたものです。

HTTP Code 詳細説明
1xx 情報: ご依頼を受領いたしました。処理を続行いたします。
2xx 成功: 処理は正常に受信、理解、承認されました。
3xx リダイレクション: 依頼を完了するには、さらなる手続きが必要です。
4xx クライアントエラー: リクエストの構文が間違っているか、処理できません。
5xx サーバーエラー: サーバーは、一見有効なリクエストを処理できませんでした。

ステップ3: テストケースウィンドウには、リクエストとレスポンスに関する追加のメタデータも表示されます。

テストケースウィンドウのメタデータ

  1. 送信されるリクエストにヘッダーが含まれていないことを示します。
  2. ウェブサーバーに送信されるリクエストに添付ファイルが含まれていないことを示します。
  3. レスポンスに含まれる10個のヘッダー項目を示し、クリックすると表示されます。
  4. 応答メッセージに添付ファイルがないことを示します。

ログペイン

ログペインには、クライアントとサーバー間でやり取りされたすべての情報が表示されます。よく使用されるログタブについては、以下で説明します。

SoapUI ログペインタブ

SoapUI ログ: Webサーバーからの応答情報を表示します。同じデータは、soapui.logファイルに保存されます。 SoapUI binディレクトリ。

SoapUI ログタブ

HTTPログ: すべてのHTTPパケット転送を表示します。RAWビューに表示されるすべての情報は、HTTPログにも記録されます。

HTTPログタブ

エラーログ: プロジェクトセッション全体を通して発生したすべてのエラーを表示します。同じ情報は、soapui-errors.log に保存されます。 SoapUI binディレクトリ。

メモリログ: メモリ使用量を監視し、グラフとして表示します。これは、メモリを大量に消費する処理を実行する際に役立ちます。

メモリログタブ

テストスイート、テストケース、テストステップが準備され、正常な応答が得られたら、次のステップは応答の検証です。アサーションの種類については、次のチュートリアルで説明します。

よくあるご質問

テストスイートは、関連するテストケースをグループ化するコンテナです。 SoapUI プロジェクト。テストケースとは、SOAPリクエスト、RESTリクエスト、アサーションなどの1つ以上のテストステップを含む単一のシナリオです。

Yes. SoapUI SOAP と REST の両方のテストをサポートします。新しいプロジェクトを作成するときは、WSDL ベースのサービスの場合は [新しい SOAP プロジェクト] を、REST API の場合は [新しい REST プロジェクト] を選択します。テスト手順には、REST テスト要求、JDBC 要求、および Groovy 脚本。

テストスイートを開き、緑色の再生ボタンをクリックします。 SoapUI テストケースは、表示されている順序で全て実行されます。テストスイートのプロパティタブで、並列実行または逐次実行を設定することもできます。

はい。プロパティ ステップ、プロパティ転送ステップ、またはデータソース ステップを使用します (SoapUI Pro) を使用すると、同じテストケースに複数の入力を適用できます。これは、多数の入力の組み合わせにわたるデータ駆動型テストに役立ちます。

AIアシスタントはWSDLまたはOpenAPI仕様を読み取り、現実的な入力の組み合わせ、エッジケース、およびアサーションパターンを提案できます。これらの提案は次のようにエクスポートできます。 SoapUI XMLまたは Groovy スクリプトを使用することで、大規模なテストスイートを構築する際の手作業を軽減できます。

はい。AIツールは解析できます。 SoapUI ログとHTTPログのエントリを分析し、繰り返し発生するエラーをクラスタリングして、スキーマの不一致や認証失敗などの根本原因を特定します。これにより、回帰テストサイクルや大規模な夜間実行時のトリアージが迅速化されます。