※ REST API および SOAP API の総称として、Web API という言葉を用いています。
たとえば、公開中の Web API 数が増加傾向にある場合や、異なるバージョンの Web API が複数ある場合、それらに対する回帰テストの規模やシナリオ テストの工数は増加し続けます。
これらは、サービスのリリース スピードや作成コストに大きく影響します。
回帰テストを自動生成し、テストを自動化できれば、これは素晴らしいことだと思いませんか?
と、いうことで、
今回は、SOAtest を使用して REST API の回帰テストを自動生成する方法をサクッと紹介します。
前回のおさらいは、こちらからご参照頂けます。
・ 第1回:REST API テスト効率化 - テスト作成/実行
・ 第2回:REST API テスト効率化 - テスト結果の自動検証
■ テスト概要
前回より引き続き、私のWeb API 部隊が郵便番号検索 API を開発中であると仮定します。
※ 実際には、Yahoo Japan 様の REST API (郵便番号検索API)を使用して紹介します。
※ 2013.02.19 時点での仕様に基づいて記載しています。
たとえば、郵便番号を '108-8588' で検索した場合、弊社(テクマトリックス 株式会社)の名前や住所などの情報を取得できます。
今回は、この機能の回帰テスト クライアントを自動生成します。
それでは、早速はじめましょう!
1. Parasoft SOAtest の起動
・ Parasoft SOAtest を起動します。
現在、作成済みの REST API テストクライアントがあります。
そして、JSON Assertor も設定されている状態です。
・ 回帰テストコントロールの作成/更新を行います。
早速、回帰テストを自動生成してみましょう。
REST API のテストクライアントを右クリックすると、[回帰テストコントロールの作成/更新] を選択できます。
ダイアログの [回帰制御の作成] を選択し [終了] ボタンをクリックし、ダイアログを閉じます。回帰テストの作成手順は、たったこれだけで完了です。
・ 詳細はこんな感じになります。
テスト結果(JSON)の内容が多いので、画像ではすべて表示できていませんが、
このような感じで、テスト結果が Diff ツールに自動的に設定されます。
言い換えると、この Diff ツールに設定されている情報が期待値になります。
たとえば、こんな感じにします。
・ 編集前の期待値 : "Status" : 200
・ 編集後の期待値 : "Status" : 99999999
3. テストの実施/結果検証
・ テストを実行します。
・ テスト失敗が2件レポートされました。
ちなみに、このうちの1件は、 JSON Assorter ツールでの検証結果です。
※詳細は、第2回:REST API テスト効率化 - テスト結果の自動検証 参照。
ちなみに、回帰テストを自動生成する時に、
[回帰テストコントロールの作成/更新] を実行しましたが、“更新” とも書いてあります。
これは、回帰テストを再作成する時にも非常に便利です。
単純に、下の画像のように、[回帰制御をアップデート] を選択するだけで、
下記テストを更新(最新のテスト結果のコンテンツを期待値として、Diff ツールに設定)できます。
■
まとめ
いかがでしたか?
REST API
の回帰テストを自動生成することで、品質の確保だけでなく、テストの作成工数も大幅に削減できます。
Parasoft SOAtest を使用した Web API テストに関するホワイトペーパーのダウンロードはこちら
■
次回予告
次回は、テストの自動実行について紹介致しますのでお楽しみに!