テスト自動化は作ることがゴールではありません。
以下のように、定期的なテスト実行をし、結果を分析して、品質の評価をする等の運用を行って、初めてテスト自動化に価値が生まれ、目的を達成することができるのです。
- テスト自動化スクリプトをテスト環境にリリースする
- アプリケーションに対してテスト実行する
- テスト実行結果を分析してアプリケーションの品質評価をする
ただし、そのテスト実行で工夫をしないと、テスト自動化の運用工数が増えてしまうことになります。
なぜなら、テストが失敗したら、なぜテストが失敗したかの分析や不具合レポートの作成・提出など、新たに運用が発生するからです。
定期的にテスト自動化を実行するに比例して、さらに運用工数が増えるため、テスト実行に関わる運用の効率性が求められます。
そこで第2回である今回は、効率よくテスト実行する運用について解説します。
- もくじ
1.テスト実行の方法
テスト自動化のテスト実行の実施方法には大きく3つ考えられます。
- 手動実施
- アプリケーションリリースのトリガー実施
- タイマー実施
順に特徴を解説します。
1-1 手動実施
テスト自動化を実施させたい時に、手動でテスト実行を開始させます。
手動実行の特徴は以下の通りです。
メリット
- 実施タイミングを選べる(オンデマンド実施)
- テストリソースをコントロールできる
デメリット
- 実施が人依存になり、実施させる工数が発生する
- 定期的に実施されない(忘れる)可能性がある
- 全てのテスト結果が出るまで待たされる
1-2 アプリケーションリリースのトリガー実施
開発がアプリケーションをテスト環境にリリース完了した時をきっかけ(トリガー)に、テスト実行を実施させます。
トリガー実施の特徴は以下の通りです
メリット
- アプリケーションの改修の都度、テストが自動的に実行される
- テスト結果のフィードバックが速くなる
デメリット
- アプリケーションのリリース頻度が多いと、先に実施したテストが終わっていない可能性がある
- アプリケーションのビルドバージョンとテスト結果を紐づける必要がある
1-3 タイマー実施
毎日1回等、スケジューラーをもとにテスト実行を実施させます。
タイマー実施の特徴は以下の通りです
メリット
- アプリケーションのリリースに関係なく、定期的にテストが実行される
- 定期的実行による不具合(日付依存、繰り返し操作等)が見つかる可能性がある
- 深夜や週末に実施させることでテストリソースを効率よく利用することができる
デメリット
- テスト結果のフィードバックが遅くなる時がある
- 仕様変更が発生し、テスト自動化の修正が追い付かないと、テスト失敗のアラートが連発する
以上のように、テスト自動化の実施方法にはそれぞれ特徴があります。
トリガー実施やタイマー実施は、テスト実行回数が増えます。早くテスト結果を開発にフィードバックして、高い品質を維持するには良い方法です。自動的にテスト実行されるため、効率的でもあります。
ただし、それに比例してテスト実行後の運用も増えます。
そのため、テスト実行後の運用が追い付かない初期フェーズは、手動実施を行い、経験値が積み上がり、運用の仕組み化が整った時点で、トリガー実施やタイマー実施に切り替えるとよいでしょう。