レスポンス電文の中身を自動検証

APIテスト自動化ツール「SOAtest」は、APIテストに必須のレスポンス電文の検証も自動化することができます。メンテナンスの観点も踏まえ、ノーコードで容易に検証設定を行えるだけでなく、期待値を自動更新する機能も備えており、継続的なテスト運用を強力に支援します。

テストパターンの数だけ検証項目は増加

なぜレスポンス電文の自動検証が大事なのか? APIテストにおいては、多様なパターンを考慮したテストを実施することで、APIの品質を高めることができます。そのため、レスポンス電文の検証についても、多彩なデータパターンでのテストが求められます。しかしながら、検証すべき電文項目の数は、APIの数や検証項目の数、テストデータの数だけ、掛け算で増えていきます。そのため、目視での検証では、すべてを間違いなく確認するのは困難であり、効率的でもありません。また、テストを自動化する場合は、テストパターンの数だけ、期待値を設定する必要があるため、コーディングを必須とするツールでは期待値の設定とメンテナンスを実施しなければなりません。これらを踏まえ、検証を効率化できるツール選びが重要なポイントと言えます。

テストパターンの数だけ検証項目は増加

APIテストの自動化と検証

APIテスト自動化ツール「SOAtest」には、検証用の期待値を設定する2つの方法があります。

期待値を一括自動設定、差異をレポート

冒頭での説明の通り、APIテストを自動化するには、期待値の設定が必須です。SOAtestでは、「回帰コントロールの作成/更新」機能が備わっており、テスト資産を選択して2クリックするだけで、期待値を一括自動設定できます。一括設定した期待値は、SOAtes に搭載された Diff機能で実際のレスポンスとの差異を確認するためのビューも提供するため、テスト結果のレビューも効率的に実施できます。また、期待値に変更がある場合も「回帰コントロールの作成/更新」で期待値を自動更新できるため、どんなに電文項目やテストパターンが多くとも、容易にテスト資産をメンテナンスし、継続的な運用を可能にします。

APIテストの自動化と検証

例えば、キャプチャしたトラフィックからシナリオテストを自動生成する場合は、API のレスポンス情報もキャプチャしているため、その情報を用いて検証用の期待値を自動設定した状態で API のシナリオテストを自動生成します。もし、改修などで期待値が変わる場合は、「回帰コントロールの作成/更新」を行うだけで、期待値を更新し、継続的にテスト資産をアップデートしながら運用できます。なお、自動生成以外の方法でテスト資産を作成した場合でも、「回帰コントロールの作成/更新」を行うだけで、期待値の設定や更新が可能です。期待値を設定したテストを実行すると、実際のレスポンスが期待値と異なる場合は、差異をレポートします。また、比較したくない部分については差異を無視する設定も可能です。

検証したい項目だけを個別にテスト

場合によっては、検証すべき項目が限定されている場合もあるかと思います。その場合は、個別のレスポンス項目に対してのみアサーションを設定することもできます。個別検証の場合においても、期待値として固定値を設定することやデータソースに値を用意して動的な値で検証することも可能です。個別検証では、「値アサーション」、「構造アサーション」、「複合アサーション」、「差分アサーション」、「範囲アサーション」の4つのカテゴリから構成され、20以上の検証方法が用意されています。これらについてもノーコードで設定可能です。※もし、込み入った検証をしたい場合はコードを書くこと(ローコード検証)も可能です。

検証したい項目だけを個別にテスト

また、「回帰コントロールの作成/更新」での一括自動設定の機能と、個別検証の機能を組み合わせることで、一括設定で検証から除外した項目を、個別で補い検証するといったことも可能です。例えば、日付の項目の値がテストごとに変わる場合、その項目は一括設定の方で除外し、個別検証の機能で「正規表現アサーション」を使って日付形式のみを補足で検証するといったような組み合わせの検証が可能です。

APIのテスト自動化とサービス仮想化を1ツールで SOAtest/Virtualizeに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。