SoapUIでテストスイートとテストケースを作成する方法

SOAP プロトコルを理解する

SOAPUI テスト ケースを作成する前に、SOAP プロトコルの基本を理解しましょう。 これは、SOAP UI を使用して SOAP リクエストとレスポンスを効果的にテストするのに役立ちます。

SOAPはの略です シンプルオブジェクトアクセスプロトコル。以下は SOAP プロトコルのプロパティです。

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

SOAP メッセージの形式を学ぶ

SOAP メッセージは、次の要素を含む通常の XML ドキュメントです。メッセージは、要求メッセージまたは応答メッセージのいずれかになります。

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

前のチュートリアルで実行したワークスペースを設定した後、特定の Web サービスをテストするために、SoapUI プロジェクト構造、テスト スイート、テスト ケースを作成する必要があります。 新しい SOAP プロジェクトを作成するための SoapUI プロジェクトの例を理解してみましょう。

SOAP プロジェクトの作成

ステップ1) ここで、プロジェクトに応じて、SOAP/REST プロトコルをインポートする必要があります。 新しい SOAP プロジェクトを作成します。

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

ステップ2) 以下のSOAPリクエストを使用します 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 テスト スイートを作成します。
  • 相対パス: ユーザーはプロジェクト ファイルに関連するすべてのファイルを保存できます。

ステップ3) 上記の WSDL を使用して SOAP プロジェクトを作成すると、プロジェクトにインポートされる操作が 2 つあることがわかります。

SOAP プロジェクトの作成

ステップ4) 最初のリクエストを展開し、「追加」を右クリックします。 次に、「新規リクエスト」をクリックします。

SOAP プロジェクトの作成

次に「OK」をクリックします。 SOAPリクエストをXML形式で表示します。

SOAP プロジェクトの作成

  1. 「intA」と「intB」を入力します
  2. 送信ボタンをクリックします
  3. 応答 XML が右側のペインに表示されます。

SOAP プロジェクトの作成

なぜテストケースを作成するのか不思議に思うかもしれません。 ここで Web サービスを直接テストできるようになると…

そうですね、1 つの操作のリクエストを送信できます。他の操作についてはどうでしょうか? この操作を使用して、追加の入力の組み合わせをいくつ実行できますか? 組み合わせごとにリクエストを編集する必要があります。

たとえば、4 と 4 ではなく 5 と 5 を加算したい場合、操作を再度編集する必要があります。そのため、操作自体を直接編集せずに、考えられるすべてのシナリオをテストするためのテスト スイート/ケースを作成する必要があります。

SoapUI でテスト スイートを作成する方法

SoapUI でテスト スイートを作成する手順は次のとおりです。

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

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

SoapUI でテスト スイートを作成する

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

テスト スイートの名前を入力し、[OK] をクリックする必要があります。

SoapUI でテスト スイートを作成する

ステップ 3) 作成されたテスト スイートを確認する

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

SoapUI でテスト スイートを作成する

ステップ 4) テスト スイートを開く

右ペインにテスト スイート ウィンドウが開きます。 作成したばかりのとおり、SoapUI テスト ケースはありません。 したがって、すべてのオプションが無効になります。

SoapUI でテスト スイートを作成する

SoapUI でテストケースを作成する方法

SoapUI でテスト ケースを作成するための段階的なプロセスを次に示します。

ステップ1) テスト スイート内で、「テスト スイート」を右クリックし、「新しいテストケース」を選択することで、複数のテストを作成できます。

SoapUI でテスト ケースを作成する

ステップ2) の名前を指定します テストケース そして「OK」をクリックします。

SoapUI でテスト ケースを作成する

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

SoapUI でテスト ケースを作成する

注意: 利用可能なすべての種類のテストに対して、テスト ケースにテスト ステップが 0 個追加されていることがわかります。テスト ステップを追加すると、括弧内の数字が自動的に変更されます。

機能テスト ステップは「テスト ステップ」に入れる必要があり、パフォーマンス テスト ステップは「ロード テスト」に入れる必要があり、セキュリティ テスト ステップは「セキュリティ テスト」に入れる必要があります。

ステップ4) 以下に示すように、テスト ステップを右クリックし、適切なテスト ステップを選択することで、さまざまなテスト ステップを挿入できます。 したがって、REST Web サービスをテストする場合は、REST テスト リクエストを選択します。

SoapUI でテスト ケースを作成する

SoapUI でのテスト ステップの追加

ここで、インポートされた SOAP テスト リクエストを検証するためのテスト ステップを追加しましょう。

ステップ1) 以下に示すように、新しいステップ「SOAP Request」を追加します。

SoapUI でのテスト ステップの追加

ステップ2) ステップ名を入力し、「OK」をクリックします。

SoapUI でのテスト ステップの追加

ステップ3) 「OK」をクリックすると、呼び出す操作を選択するためのダイアログがポップアップ表示されます。すべての操作がリストされ、ユーザーは呼び出す操作を選択できます。

  • リストされる操作は多数あります。 Opera使用される SOAP バージョンを除いては同じです。CalculatorSoap – SOAP バージョン 1.1 を使用するのに対し、CalculatorSoap12 – SOAP バージョン 1.2 を使用します。
  • この文脈では、バージョンは重要ではありません。 したがって、お好みのものを選択できます。

    SoapUI でのテスト ステップの追加

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

    SoapUI でのテスト ステップの追加

ステップ4) テスト ケースを追加するときに、標準アサーションを追加できます。アサーションはチェックポイント/検証ポイントとも呼ばれ、次のチュートリアルで詳しく説明します。

テストケースを作成する際に、以下のチェックポイント/アサーションを追加できます。以下の検証ポイントを一切使用せずにテストステップを作成するオプションを使用してテストケースを作成しましょう。

SoapUI でのテスト ステップの追加

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

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

SoapUI でのテスト ステップの追加

ステップ6) テスト ステップを XNUMX つ追加したので、テスト ステップ数は XNUMX に増加します。 同様に、負荷テストとセキュリティ テストのステップを追加すると、追加されたステップの数に基づいて、対応する数値が自動的に増加します。

SoapUI でのテスト ステップの追加

SoapUI でのリクエストの手動送信とレスポンスの読み取り

ステップ1) XNUMX つの整数を追加したいと思います。

  • intA – 5
  • intB – 5

次に、

  1. リクエスト XML として送信される疑問符の代わりにこれらの入力を入力する必要があります。
  2. これらの値を対応する XML タグに入力した後、「リクエストを送信」ボタンをクリックしてレスポンスを確認します。

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

ステップ2) リクエストを送信すると、Web サービス リクエストは Web サーバーによって処理され、以下に示すような応答が返されます。

応答を読むと、5 + 5 は 10 であると結論付けることができます。

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

Soap Response パネルとログパネルについて

この SoapUI テスト チュートリアルの冒頭で説明したように、SOAP メッセージは HTTP プロトコル経由で転送されます。 RAW メッセージを見てみましょう。 これは、SOAP リクエストとレスポンスが HTTP によってどのように転送されたかを知るのに役立ちます。

ステップ1) 両方の SOAP-UI リクエスト ウィンドウで [RAW] タブをクリックします。

  1. リクエストは Web サーバーに投稿されます。 そこで、HttpのPOSTメソッドを利用します。
  2. SOAP リクエストは、HTTP メッセージの本文で転送されます。

ソープレスポンスとログパネル

ステップ2) Now 「RAW」タブをクリックします SOAP-UI 応答ウィンドウで、応答が HTTP 経由でどのように送信されるかを理解します。

  1. リクエストの処理後、成功を意味する Http レスポンス コード (200) が表示されます。 Webサーバーはそれを正常に処理しました。
  2. SOAP 応答は、HTTP メッセージの本文の一部としてクライアントに送り返されます。

ソープレスポンスとログパネル

理解とデバッグを容易にするための、HTTP 応答コードのクイック スナップショット。 以下の表は、Web サーバーから受信した HTTP コードに基づいてトラブルシューティングを行うのに役立ちます。

HTTPコード Description
1xx: 情報 – これは、リクエストが受信され、プロセスが継続されていることを意味します。
2xx: 成功 - アクションは正常に受信され、理解され、受け入れられました。
3xx: リダイレクト – これは、リクエストを完了するにはさらにアクションを実行する必要があることを意味します。
4xx: クライアントエラー – これは、リクエストに不正な構文が含まれているか、リクエストを実行できないことを意味します
5xx: サーバーエラー - サーバーは、一見有効なリクエストを実行できませんでした

ステップ3) テスト ケース ウィンドウに表示されるその他の情報について理解しましょう。

ソープレスポンスとログパネル

  1. 送信されるリクエスト内の NO ヘッダーを表します
  2. Web サーバーに送信されるリクエストに添付ファイルが含まれていないことを表します。
  3. 10 個のヘッダー情報を表し、クリックすると同じものが表示されます。
  4. 応答メッセージに添付ファイルがないことを表します。

ログペイン:

ログ ペインには、クライアントとサーバー間のトランザクションに関する完全な情報が含まれています。 ユーザーは、以下に示すように、ログ ペインのタブを確認できるようになります。 SOAP-UI を使用するときに最も一般的に使用されるログ ペインについて説明します。

ログペイン

SoapUI ログ – Webサーバーからの応答情報を表示します。 同じ情報は、SOAP-UI がインストールされているフォルダーの「bin」ディレクトリーにあるsoapui.log ファイルに保存されます。

SoapUI ログ

HTTP ログ – すべての HTTP パケット転送を表示します。 「RAW」内のすべての情報は HTTP ログに表示されます。

HTTPログ

エラーログ - エラー ログには、プロジェクト セッション全体で発生したすべてのエラーが表示されます。 同じ情報は、SOAP UI がインストールされている場所の「bin」ディレクトリにある「soapui-errors.log」でも入手できます。

メモリログ – このタブはメモリ消費量を監視し、以下に示すようにグラフ形式で表示します。メモリを大量に消費する操作を実行するときに非常に役立ちます。

メモリーログ

テスト スイート、テスト ケース、テスト ステップを作成し、応答を取得したので、次のステップは応答を検証することです。 次のチュートリアルでは、アサーションの種類について説明します。