フレームワークを使用する利点については、「スクリプトのテスト」を参照してください。
| 機能 | 目的 |
|---|---|
| テストプロジェクト | プロダクションプロジェクトとテストの分離 |
| 別プロジェクトのスクリプト呼び出し | サービス登録前のプロダクションスクリプトのテスト |
| アサーションアダプタ | データの検証 |
| スクリプトの一括実行 | テストの実行 |
| テスト結果レポートの出力 | 自動レポーティング機能 |
| 用語 | 説明 |
|---|---|
| プロダクションスクリプト | サービスの運用で使用するスクリプトです。 |
| プロダクションプロジェクト | サービスの運用で使用するプロジェクトです。 |
| テストスクリプト | プロダクションスクリプトをテストするためのスクリプトです。 |
| テストプロジェクト | プロダクションプロジェクトをテストするためのプロジェクトです。 テストに特化した専用の機能を持っています。 |
開発フェーズについては「サービスの開発」を、サービス登録については「サービスの運用」を参照してください。
| No. | 項目 | 説明 | 対応機能 |
|---|---|---|---|
| 1. | テストプロジェクトの作成 | プロダクションプロジェクトのスクリプトをテストするためのテストプロジェクトを作成します。 | |
| 2. | テストスクリプトの作成 | 開発したプロダクションスクリプトを呼び出すテストスクリプトを作成し、テストを記述します。
また、テスト状況に応じて適宜プロダクションスクリプトを修正します。 |
|
| 3. | テストスクリプトの一括実行 | 2.で作成したテストスクリプトをプロジェクト単位で一括実行します。 | |
| 4. | テスト結果レポートの確認 | 3.の一括実行で生成されたテスト結果レポートの内容を確認します。
テスト結果に応じて、テストスクリプトやプロダクションスクリプトを修正します。 |
テストプロジェクトは通常のプロジェクトと区別するために緑のアイコン
で表示されます。
テストプロジェクトについて
テストプロジェクトでは、プロジェクトのテストを支援する以下の専用機能を使用できます。
|
プロダクションプロジェクトとテストプロジェクトの関連付けについて
機能上プロダクションプロジェクトとテストプロジェクトは一対一でなければならないなどの制限はありません。 しかし、プロダクションプロジェクトが「PRJ-001」の場合には「PRJ-001_TEST」のように一対一の関係にすることでテスト対象が何かを目で見てすぐに把握できるようになるなど、管理上のメリットがあるため、本ガイドラインでは「一対一の関係にすること」を推奨としています。 |
アサート方法はプロダクションスクリプトの作りによってさまざまなやり方が考えられます。その一部を「テストパターン」項で紹介します。
別プロジェクトのスクリプト呼び出しについて
別プロジェクトの呼び出しができることにより、サービス登録前(開発中)のプロダクションスクリプトのテストを行うことができます。 それにより、問題をより早い段階で検出することができるようになります。 機能の詳細については、「スクリプト呼び出し処理」を参照してください。
|
| 項目名 | 説明 | 備考 |
|---|---|---|
| スクリプト一覧 | プロジェクト内のテストスクリプトを一覧表示します。 |
|
| スクリプト一覧/実行対象 | 各テストスクリプトを実行対象にするかどうかを選択します。
|
|
| スクリプト一覧/スクリプト名 | テストスクリプト名を表示します。 | |
| スクリプト一覧/実行結果 | テストスクリプトの実行結果を表示します。
実行結果は、以下の4種類です。
|
|
| 種別を指定する | テストスクリプトを一括実行する際の「種別」を指定するかどうかを選択します。
|
|
| 実行時の種別指定 | テストスクリプトを一括実行する際の種別を選択または入力します。 |
|
| 指定種別が見つからない場合にデフォルト種別を使用 | テストスクリプトを一括実行する際に、指定された種別のグローバルリソースが見つからない場合の動作を選択します。
|
|
| 実行 | [実行対象]が[チェックあり]のスクリプトを一括実行します。 |
|
| 停止 | 一括実行を停止します。 |
|
スクリプトの一括実行について
スクリプトの一括実行の特長は、テストプロジェクトをサービス登録することなく、テストプロジェクト単位でテストスクリプトをまとめて一括で実行し、テスト結果レポートを出力できるということです。 一括実行はデザイナからのみ使用可能です。 テスト結果レポートはスクリプトの一括実行時のみ出力されます。
|
テスト結果レポートは自動で削除されません。ディスク容量を圧迫してしまうことがあるため、定期的に削除することをお勧めします。
| 項目名 | 説明 | 備考 |
|---|---|---|
| プロジェクト | 一括実行したプロジェクト名が出力されます。 | |
| スクリプト | 一括実行したスクリプト名が出力されます。 | |
| 結果 | スクリプトの実行結果が出力されます。
|
|
| メッセージコード | 実行結果が「Failure」または「Error」の場合、メッセージコードを出力します。 | |
| エラーメッセージ | 実行結果が「Failure」または「Error」の場合、エラーメッセージを出力します。 | |
| 実行ID | スクリプトの実行IDが出力されます。 | |
| 終了ステータス | スクリプトの終了ステータスが出力されます。 | |
| 実行時間(秒) | スクリプトの実行時間が秒単位で出力されます。 |
テスト結果レポートの出力について
テスト結果レポートは、そのままテストフェーズの検証結果(エビデンス)として使用することを想定しています。 |

テーブルモデル比較処理はテーブルモデル型コンポーネントの結果データを直接入力データに指定できるため、アサートするために一時的にファイルに書き出す必要がありません。
| ID | 日付 | 数字 |
|---|---|---|
| ID001 | 2017-01-01 | 500 |
| ID053A | 2017-02-02 | 1200 |
ID001,2017-01-01,500 ID053A,2017-02-02,1200
ID,2017-01-01,500 ID,2017-02-02,1200

比較条件の詳細については、「テーブルモデル比較処理」を参照してください。

プロダクションスクリプトの実行前に出力先ディレクトリ下のファイルをあらかじめ削除しておくことで、ほかのテストの影響を受けないようにします。
