SOAtest/Virtualize ユーザーサポート FAQ

SOAtest FAQ

FAQ メニューへ戻る

Q-1.基本的なツールの利用方法

Q-2.具体的なユースケースへの対応方法

Q-3.エラー関連




Q-1.基本的なツールの利用方法

Q1-01 APIのテストドライバーを作成する方法を教えてください
下記の4種類の方法でテストドライバーの作成が可能です。
テストドライバーは自動生成することもできますので、貴社の状況に応じてより適した方法を選択いただけます。

1. マニュアルでテストドライバーを作成する方法
SOAtestに用意されたテストクライアントに必要な設定(電文の送信先URLやテストデータの設定)を手動で行う方法です。
詳細な実施方法につきましては、マニュアルでテストドライバーを作成の動画をご参照ください。

2. 定義ファイルからテストドライバーの自動生成
APIの仕様を定義するファイル(OpenAPI/Swagger、RAML、WSDL、XMLスキーマ等)をSOAtestに取り込むことで、テストドライバーを自動生成することができます。
こちらの方法では、設計からテストまでシームレスに実施できますので、新規開発等で特に有効です。
詳細な実施方法につきましては、定義ファイルからテストドライバーの自動生成の動画をご参照ください。

3. トラフィックのキャプチャとテストドライバーの自動生成
クライアントのアプリケーションとバックエンドのAPIとのデータ連携でやり取りするトラフィックを記録し、テストドライバーを自動生成することができます。
こちらの方法は、システムの機能追加等による回帰テストで特に有効です、
詳細な実施方法につきましては、トラフィックのキャプチャとテストドライバーの自動生成の動画をご参照ください。

4. AI機能でテストドライバーを自動生成
こちらの方法は、主にSPA(Single Page Application)で構成されたアプリケーションで活用されます。
SPAではJavaScript 等でブラウザから直接バックエンドの API と通信しており、Chromeにプラグインされたレコーダー機能を使用することで、
トラフィックを記録しテストドライバーを自動生成することができます。
詳細な実施方法につきましては、AI機能でテストドライバーを自動生成の動画をご参照ください。
※こちらの機能は体験版でご利用いただけますが、ご購入時にはAI Add-onライセンスが必要です。


Q1-02 レスポンス電文の検証を自動化する方法を教えてください
下記の2種類の方法でレスポンス電文の検証を自動化することが可能です。
ツールのメンテナンス性を考慮し、主に【1. 電文の全体検証(回帰コントロール機能)】の方法を実施いただき、必要に応じて【2. 電文の部分検証(アサーター機能)】の方法を活用することを推奨しております。

1. 電文の全体検証(回帰コントロール機能)
回帰コントロールと呼ばれる機能を利用すると、簡単にレスポンス電文全体の期待値が設定できます。
テスト時には、レスポンス電文全体をDiff比較し、期待値と異なる電文項目を自動でレポートします。
また、ボタンを数回クリックするだけで期待値を上書きすることも可能ですので、メンテナンス性にも優れた機能です。
詳細な実施方法につきましては、レスポンス電文の全体検証(回帰コントロール機能)の動画をご参照ください。

2. 電文の部分検証(アサーター機能)
アサーター機能では、レスポンス電文を項目ごとに検証することができます。
文字列比較や正規表現での検証、値の範囲検証といった数十種類の検証方法が用意されていますので、様々なユースケースで柔軟に利用可能です。
詳細な実施方法につきましては、電文の部分検証(アサーター機能)の動画をご参照ください。


Q1-03 テスト結果のサマリーを確認する方法を教えてください
APIテストの実行後に、実施したテスト結果のサマリーやエラー内容等が表示されたHTMLレポートを出力することが可能です。
詳細な説明につきましては、レポートの生成の動画をご参照ください。


Q1-04 データのバリエーションを増やしてテストする方法を教えてください
テストデータを格納したデータソースとAPIのテストドライバーとを紐づけることで、バリエーションの豊富なデータパターンでAPI テスト(データ駆動型テスト)を実施することができます。
データ駆動型テストは下記の2通りの方法で実施することが可能です。

1. ExcelやCSVなどからデータ駆動型のテストに拡張
あらかじめ、データソースとしてExcelやCSVファイルにテストデータを用意し、テストドライバーに取り込むことでデータ駆動型のテストドライバーに拡張することが可能です。
詳細な実施方法につきましては、Excelからデータ駆動型のテストに拡張の動画をご参照ください。

2. 既存のテストからデータソースを自動生成
固定値でデータが設定されたテストドライバーから、データソースを自動生成しつつ、データ駆動型のAPIテストに拡張することも可能です。
この方法では、CSVデータソースが自動生成されますので、データソース自体を作成する工程も省略することができます。
詳細な実施方法につきましては、既存のテストからデータソースを自動生成の動画をご参照ください。


Q1-05 複数のAPIを順番に呼び出すシナリオテストを実施する方法を教えてください
テストスイート内に複数のテストドライバーを用意し、テストスイートに対してテストを実行することで、配下のテストドライバーを順番に実行するシナリオテストが実施できます。
また、APIのシナリオテストでは、下記の例のようにテストドライバー間で値を受け渡す設定が必要となる場合も多くあります。
例:ショッピングサイトで検索API→購入APIと順番に呼び出す際に、検索のレスポンス電文に含まれる商品IDの値を購入リクエストに受け渡す

このとき、テストドライバーには値の変数化や値の受け取り設定を行う必要がありますが、SOAtestではコードを記述せずにGUI上の操作のみで設定することができます。
詳細な実施方法につきましては、APIのシナリオテストの動画をご参照ください。


Q1-06 データベースのテストを実施する方法を教えてください
データベースの検証機能を利用することで、データベースに登録されたデータの値を直接検証することが可能です。
この機能をAPIテストのシナリオに組み込むことで、データベースの検証も含めて1つのシナリオテストとして自動化することが可能です。
また、任意のSQL文を利用できますので、データベース検証以外のCRUD操作を行うことも可能です。
詳細な実施方法につきましては、データベースの検証の動画をご参照ください。


Q1-07 APIテストで送受信したトラフィックを自動収集する方法を教えてください
テストドライバーにファイル出力機能を追加することで、テストの実行時に送受信されたリクエストとレスポンスのトラフィックを自動でファイルに出力することが可能です。
この機能を利用することで、テスト結果のエビデンス収集を自動化することができます。
詳細な実施方法につきましては、エビデンスの自動収集の動画をご参照ください。


Q1-08 セキュリティテストを行う方法を教えてください
Penetration Testing Toolを利用することで、APIのセキュリティテストを行うことができます。
既存のAPIテスト資産を活用してAPIのセキュリティ検証が可能ですので、開発の早期段階からセキュリティ面の品質についても検証いただけます。
詳細な実施方法につきましては、セキュリティテスト機能の利用手順の技術資料をご参照ください。


Q1-09 OpenAPI/Swaggerファイルのスキーマ検証を行う方法を教えてください
OpenAPI/Swagger Validator機能を利用することで、OpenAPI/Swaggerファイルのスキーマ検証も自動化することが可能です。
具体的な実施手順は下記の通りです。

1. テストスイートを右クリックし、[新規追加]>[テスト]と選択し、[OpenAPI/Swagger Validator]を追加します。
2. [OpenAPI/Swagger 定義 URL]にスキーマ検証を行いたいOpenAPI/Swaggerファイルを指定します。

このテストクライアントを実行すると、設定したファイルのスキーマの記述が適切か検証が実施されます。


Q-2.具体的なユースケースへの対応方法

Q2-01 CLIモードでテストを実行する方法を教えてください
次の技術資料をご参照ください。

Q2-02 ツールに設定した値を一括で置換する方法を教えてください
次の技術資料をご参照ください。

Q2-03 データソースや変数化した値をファイル出力する方法を教えてください
次の技術資料をご参照ください。

Q2-04 ファイルを読み込んで内容を引き継ぐ方法を教えてください
Messaging Client はファイルの読み込みツールとしても活用できます。
次の手順で設定を行うことで、Messaging Client の出力([リクエスト] > [トラフィック])に読み込んだファイルの内容を出力します。
出力に Data Bank や Extension Tool などを連結して任意のシナリオを作成します。
  • 手順
    1. [リクエスト] タブを開き、[入力モード] に [リテラル] を設定
    2. [ファイル] を選択し、[入力ファイル] に任意のファイルを指定
    3. [トランスポート] タブを開き、[トランスポート] に [None] を設定
    4. 設定を保存
 

Q2-05 参照テストの回帰コントロールを更新する方法を教えてください
次の技術資料をご参照ください。  

Q2-06 ActiveMQ の Topic に送信されたメッセージの内容を検証する方法を教えてください
次の技術資料をご参照ください。  

Q2-07 負荷テスト実施時の負荷生成マシンの参考スペックを教えてください
あくまでも参考値ですが、次のマシンスペックで 250 ~ 300 VU(仮想ユーザー)程度の負荷を生成した実績がございます。
  • マシンスペック
    ・ モデル    : HP ProBook 650 G1/CT
    ・ プロセッサ  : Core i5-4210M (2.6GHz)
    ・ メモリ    : 16GB

  • LoadTest に割り当てるメモリ(最低 4 GB のメモリ設定を推奨)
    ・ 設定例    : lt -J-Xmx4096M
    ・ 補足     : LoadTest ユーザーガイドの「JVM ガベージコレクターおよびメモリ オプションの構成」もご参照ください。

  • ※ 性能は貴社の負荷テストで送受信するメッセージ サイズなどにも影響されます。
    ※ 上記のスペックで 250 ~ 300 VU 以上の負荷を生成できる可能性もございます。
    ※ 上記のスペックが貴社の負荷テストにおける性能を確約するものではございません。
    ※ 仮に 3,000 VU の負荷テストを実施する場合は、マスター用のマシンに加えて負荷生成用のマシンを 10 台程度ご用意頂くイメージです。
     

    Q2-08 Server EditionでAPIテストをCI実行する方法を教えてください
    SOAtest/Virtualize Server Edition(Runtime Server および Performance Server) では、事前にVirtualizeサーバーを起動することでREST APIコールによるSOAtestのテスト実行が可能です。
    そのため、このREST APIコールをCI環境に組み込んでAPIテストの実行を自動化することができます。
    Virtualizeサーバーを起動する方法につきましては、GUI上から実行する場合は、ツール画面右上の[Parasoft Virtualize]のパースペクティブを選択し、[Virtualizeサーバー]画面の[サーバーの開始]をクリックすることで起動します。
    CLIモードでVirtualizeサーバーを起動する場合は、【Q3-02】WindowsでVirtualize サーバーを CLI モードで実行する方法または【Q3-03】LinuxでVirtualize サーバーを CLI モードで実行する方法をご参照ください。

    APIテストをCI実行する方法につきましては、下記の技術資料をダウンロードして展開し、PDFファイルの手順をご参照ください。
    [SOAtestVirtualizeServerEditionでAPIテストをCI実行する方法.zip]


    Q2-09 テスト実行時のタイムアウトの時間を変更する方法を教えてください
    テストドライバー単体もしくはテストスイート全体に対して、タイムアウトの時間を設定することができます。
    • テストドライバー単体に設定する方法
      テストドライバーの編集画面で[その他]タブを選択し、[タイムアウト]項目で任意の時間を指定します。

    • テストスイート全体に設定する方法
      テストスイートの編集画面で[クライアントオプション]タブを選択し、[タイムアウト]項目で任意の時間を指定します。


    Q2-10 FTPでサーバーログを取得する方法を教えてください
    次の技術資料をご参照ください。

    Q2-11 SOAtestからバッチアプリケーションを実行する方法を教えてください
    次の技術資料をご参照ください。

    Q2-12 テスト実行中に変数に格納した値を確認したい(スクリプト使用時のデバッグ方法が知りたい)
    Extension Toolを使って、テスト実行中に変数に格納した値を確認することができます。この方法を利用することで、変数に格納した値を編集するなど、スクリプト使用時に期待通りの値が設定されていることをデバッグすることができます。
    詳細は次の技術資料をご参照ください。

    Q2-13 テスト時の遅延時間 (WAIT) を設定する方法を教えてください
    遅延時間を設定したいテストドライバーが含まれる上位のテストスイートの編集画面を開きます。
    [実行オプション]>[テストフローロジック]と選択し、遅延時間を設定するテストドライバーを選択します。
    "遅延時間"の項目で、以下の値を設定することでテスト時の遅延時間をミリ秒単位で設定することができます。

    ・テスト実行前:テスト開始からリクエストを送信するまでの間隔を設定するための時間
    ・テスト実行後:レスポンス受信後からテストを完了とするまでの間隔を設定するための時間

    また、シナリオの構成の仕方で遅延時間が適用されない場合が無いように、遅延時間を設定した項目の右側の[シナリオにのみ適用]のチェックは外しておきます。


    Q2-14 テストの成功条件(ステ—タスコード)を変更する方法を教えてください
    テストドライバーの編集画面を開き、[その他]のタブを選択します。
    [有効なHTTPレスポンスコード]で、テストの成功条件をするレスポンスコードを設定することができます。
    レスポンスコードは複数指定や範囲指定も可能です。
    ※詳細は画面右側の[ヘルプ]ボタンをクリックすると確認できます。


    Q2-15 社内プロキシを経由してAPIテストする方法を教えてください
    SOAtest/Virtualize上でParasoftプロキシの設定を行うことで、社内プロキシを経由してAPIテストを実施することが可能です。
    Parasoftプロキシの設定を行うためには、SOAtest/Virtualizeの画面上部メニューから、[Parasoft]>[設定]と選択します。
    表示された画面左メニューから[プロキシ]を選択し、[プロキシの有効化]にチェックを入れます。
    HTTPの項目で、[プロキシアドレス]および[プロキシポート]に社内プロキシの情報を入力し、[適用して閉じる]をクリックします。

    これで、SOAtestでAPIテストを実施する際に、設定したプロキシを経由してトラフィックが送受信されます。


    Q2-16 クライアント認証を伴うテストを実施する方法を教えてください
    次の技術資料をご参照ください。

    Q2-17 データが存在しない場合に電文項目自体を除外してテストする方法を教えてください
    次の技術資料をご参照ください。

    Q-3.エラー関連

    Q3-01 SOAtestをCLIモードで実行した際にログが文字化けします
    SOAtest/Virtualizeが使用するJavaの実行環境の文字コードを変更することで解消される場合があります。
    この文字コードは、ツールの起動オプションである"file.encoding"を使用することで指定できます。
    例えば、文字コードをUTF-8に指定してSOAtestをCLI実行する場合は下記のコマンドを実行します。

    例:soatestcli.exe -J-Dfile.encoding=UTF-8 -data <利用するワークスペース>
    ※"data"は利用するワークスペースを指定するオプションであり、使用は任意です。


    Q3-02 SOAtestを実行してもテストが完了とならない状態が続きます
    テスト実行時に一時的に利用されるtmp配下のparasoftディレクトリを削除することで解決できる場合があります。
    このディレクトリは、トラフィックやアサーション結果などの一時保存先としてレポート生成等の目的で利用され、通常はテストの実行後に自動で削除されます。
    一方で、何らかの理由で過去のトラフィックが削除されずに残ってしまう場合には、次第にディスク容量を圧迫することになりますので、このディレクトリを明示的に削除する必要があります。
    CI環境でテストを実行している場合には、テスト実行後にこのフォルダを削除する処理を追加する方法も有効です。

    また、OSによって該当のディレクトリの場所は下記のように異なります。
    • Windows版
      C:\Users\User\AppData\Local\Temp\parasoft

    • Linux版
      /tmp/parasoft


    ページトップへ戻る