自動化したテストを夜間実行する - SOAtest のバッチ実行機能で継続的なテストを実施!
前回、回帰テストの自動生成について紹介致しましたが、本日は、この作成したテストをバッチ実行する方法を紹介します。
バッチ実行は文字通り、テストの開始を人が行うのでなく、システムから起動させるという意味になります。たとえば、Windows のタスクマネージャーにタスクを登録し、毎晩 1:00 AM にバッチ処理を実行させるようなイメージです。
このような仕組みで、毎朝、出勤時にテストレポートを受け取ることや、受け入れ時にのみ実施していたテストを毎日実行することで、どの(ソースをコミットした)時点で問題が発生したのか判別できるようになります。
いわゆる、継続的なテストの自動化は、APIの更新が頻繁に発生したり、提供するサービスのリリースサイクルが短い場合において、早期の品質確保と問題発見を可能にしますので、リリース スピードの向上や手戻りコストの低減において効果を発揮します。
継続的なテストと言えば、Jenkins と連携させた CI 環境の構築も最近では一般的になりつつありますが、勿論、SOAtest もこの仕組みに組込んでご利用頂けます。
と、いうことで、
今回は、SOAtest を使用して REST API の回帰テストを自動実行(バッチ実行)する方法を紹介します。
※前回のおさらいは、こちらからご参照頂けます。
・ 第3回:REST API テスト効率化 - 回帰テストの自動生成
このブログについて
ソフトウェア開発におけるエラーの予防やプロジェクト管理、品質管理を支援するParasoft製品のTIPSなどを、国内総販売代理店テクマトリックスのサポートスタッフが紹介しています。
2013年4月1日月曜日
2013年2月22日金曜日
第3回:REST API テスト効率化 - 回帰テストの自動生成
皆様、ご存知の通り Web API 開発においてもデグレード対策は必須です。
※ REST API および SOAP API の総称として、Web API という言葉を用いています。
これらは、サービスのリリース スピードや作成コストに大きく影響します。
回帰テストを自動生成し、テストを自動化できれば、これは素晴らしいことだと思いませんか?
と、いうことで、
今回は、SOAtest を使用して REST API の回帰テストを自動生成する方法をサクッと紹介します。
前回のおさらいは、こちらからご参照頂けます。
・ 第1回:REST API テスト効率化 - テスト作成/実行
・ 第2回:REST API テスト効率化 - テスト結果の自動検証
※ REST API および SOAP API の総称として、Web API という言葉を用いています。
たとえば、公開中の Web API 数が増加傾向にある場合や、異なるバージョンの Web API が複数ある場合、それらに対する回帰テストの規模やシナリオ テストの工数は増加し続けます。
これらは、サービスのリリース スピードや作成コストに大きく影響します。
回帰テストを自動生成し、テストを自動化できれば、これは素晴らしいことだと思いませんか?
と、いうことで、
今回は、SOAtest を使用して REST API の回帰テストを自動生成する方法をサクッと紹介します。
前回のおさらいは、こちらからご参照頂けます。
・ 第1回:REST API テスト効率化 - テスト作成/実行
・ 第2回:REST API テスト効率化 - テスト結果の自動検証
2013年1月29日火曜日
第2回:REST API テスト効率化 - テスト結果の自動検証
今回は、SOAtest を使用して REST API のテスト結果を自動検証する方法をサクッと紹介します。
前回のおさらいは、 『第1回:REST API テスト効率化 - テスト作成/実行』 を参照してください。
■目的
・REST API テスト結果の自動検証
手順:
・テスト結果検証ツールの追加
・テスト結果の検証項目の設定
・テスト実行/検証結果の確認
■テスト概要
郵便番号検索APIを開発していると仮定し、この機能のテストを Parasoft SOAtest を使用して行います。
今回は、例として、Yahoo Japan 様が公開している REST API (郵便番号検索API)をテストします。
郵便番号 '108-8588' で検索し、結果の検証を行います。
テスト結果で取得する値は、弊社(テクマトリックス 株式会社)の名前や住所などの情報です。
※2013.01.24時点での Yahoo Japan 様のAPI 仕様に基づいて記載しています。
■それでは、早速はじめましょう。
1. SOAtest の起動
1-1. SOAtest を起動します。
2-1. テストクライアントの実行結果に対して、検証ツールで検証を行うようにします。
[Test 1: REST Client] を右クリックし、シュートカット メニューより [出力の追加] を選択します。

3-1. 追加した JSON Assertor (検証ツール)を開き、[Test 1: REST Client] テスト結果の検証項目を設定していきます。
[設定] タブを選択して [追加] ボタンをクリックします。
3-2. ダイアログから様々な種類の検証方法を選択できますが、
今回は、テスト結果(レスポンス)の値を検証するため [Value Assertion] より [Value Assertion] を選択し、[次へ] をクリックします。
3-3. 次に、ツリー ビューで表示されたテスト結果(レスポンス)の要素の一覧から、検証対象とする項目を選択します。
今回は、[PostalName] を選択し、[終了] をクリックします。
3-4. 今回は、テスト結果(レスポンス)の [PostalName] の期待値として、[期待値] に 'test' と入力し、故意にテストを失敗させるように設定します。
4-1. [Test 1: REST Client] を選択し、テストを実施します。
4-2. 想定通り、テストが失敗していることを確認します。
5-1. [Test 1: REST Client] を右クリックし、[タスクの表示] を選択します。
前回のおさらいは、 『第1回:REST API テスト効率化 - テスト作成/実行』 を参照してください。
■目的
・REST API テスト結果の自動検証
手順:
・テスト結果検証ツールの追加
・テスト結果の検証項目の設定
・テスト実行/検証結果の確認
■テスト概要
郵便番号検索APIを開発していると仮定し、この機能のテストを Parasoft SOAtest を使用して行います。
今回は、例として、Yahoo Japan 様が公開している REST API (郵便番号検索API)をテストします。
郵便番号 '108-8588' で検索し、結果の検証を行います。
テスト結果で取得する値は、弊社(テクマトリックス 株式会社)の名前や住所などの情報です。
※2013.01.24時点での Yahoo Japan 様のAPI 仕様に基づいて記載しています。
■それでは、早速はじめましょう。
1. SOAtest の起動
1-1. SOAtest を起動します。
2. テスト結果検証ツールの追加
[Test 1: REST Client] を右クリックし、シュートカット メニューより [出力の追加] を選択します。

2-1. ダイアログが開きますので、次の項目を選択し、[終了] ボタンをクリックしてツールを追加します。
■ 左欄 : [レスポンス] より [トラフィック] を選択
このダイアログからは、これから追加するツールを [Test 1: REST Client] のリクエスト、レスポンス、または両方の何処に対して適用するのかを選択できます。
今回は、テスト結果を検証したいので、[レスポンス] を選択します。
■ 右欄 : [Validation] より [JSON Assertor] を選択
今回、検証するメッセージ形式は JSON なので、JSON Assertor を選択します。
仮に、検証するメッセージ形式が XML である場合は、 XML Assertor を選択します。
2-2. [JSON Asserot] が [Test 1: REST Client] に連結されていることを確認します。
ここまでの操作で、テストクライアントと検証ツールの連結は完了です。
3. テスト結果の検証項目設定
[設定] タブを選択して [追加] ボタンをクリックします。
3-2. ダイアログから様々な種類の検証方法を選択できますが、
今回は、テスト結果(レスポンス)の値を検証するため [Value Assertion] より [Value Assertion] を選択し、[次へ] をクリックします。
3-3. 次に、ツリー ビューで表示されたテスト結果(レスポンス)の要素の一覧から、検証対象とする項目を選択します。
今回は、[PostalName] を選択し、[終了] をクリックします。
4. テスト実行
5. テスト結果の確認
5-2. [品質タスク] ビューに問題の詳細が表示されますので、エラー メッセージをダブルクリックします。
5-3. [詳細] ビューに問題の詳細が表示されます。
次の理由でテストが失敗したことが解ります。
・ 検証ツールの期待値: test
・ 実際のテスト結果: テクマトリックス 株式会社
いかがでしたか?
■ まとめ
今回は、REST API のテスト結果を自動検証する方法を紹介しました。
サクッと完了ですね。
■ 次回予告
次回は、回帰テストの作成方法について紹介しますのでお楽しみに!
登録:
コメント (Atom)













