自動検証とは?
自動検証とはソフトウェア検証の有効性、効率及び適用範囲を向上するために、自動検証ツールを使用した検証を実施することで、大きな目的は下記となります。
- 検証工数をできるだけ減らす
- バグの早期発見・報告をできるようにする
- 検証をいつでも繰り返して実施できるようにする
自動検証の対応可能範囲
自動検証システムはWebサービスであれば大概のシステムに対応する事が出来ます。PCブラウザやスマートフォンブラウザ・Androidアプリ・iOSアプリ等、様々なデバイスに対応すると共にブラウザにおいても通常のHTMLをはじめ、JavaScriptにも対応可能です。GPS情報についてもダミーの位置情報を用いる事、外部でテストしているのと同様の検証が可能となります。また、正しく遷移できるか・正しい情報が表示されているかはもちろん、ボタンが適正な場所に配置されているか・表示されている文言は正しいかといった検証も可能です。また、自動検証では複数の端末を接続し、同時に検証する事が可能です。同時接続で検証する事で、検証時間の短縮につなげられるのはもちろん、機種やOSverの違いにも対応できるので俯瞰的な検証が可能となります。
自動検証のプロセス
自動検証実行時の基本プロセスは現状の査定を行い、その情報を元に計画・戦略を立て、下記となります。準備→実装を行い、最後に効果・結果の計測を行います。
自動検証の基本フロー
当社の自動検証は下記のように進行いたします。
項目名 | 概要 | |
---|---|---|
1 | 検証対象・開発環境確認 | 検証対象や開発対象の確認を行います。具体的には、「検証対象アプリケーションのオブジェクト認識」「テストスクリプト、テストスイート開発」「テストデータ作成」などを行います。 |
2 | テストスクリプト作成 | 1で入手した情報・データを元に実際の自動検証で利用するテストスクリプトを作成します。 |
3 | 自動検証 | 検証が必要な様々なプラットフォームにて自動検証を行います。 |
4 | レポート | 3で行われた検証から「テストスイートレポート」、「エビデンス」、「ログ」などのテストレポートが作成されます。 |
自動検証のメリット・デメリット
メリット
- テスト要員が必要なくなります。
- 開発者が検証したい時に検証できるようになります。
- 人為的なミスがなくなります。
- 検証時間を圧倒的に少なく出来ます。
- 様々な機種やOSverに対応できます。
- エビデンスなどをログとして取得する事が出来ます
デメリット
- 検証プログラムを記載する必要があります。
自動検証に適した案件・適さない案件
適した案件
自動検証を行うには検証プログラムを作成する必要があります。作成した検証プログラムを何度も使う事で自動検証の導入メリットが出てきます。よって、中長期的に継続するプロジェクトでの対応がおススメです。
適さない案件
実証実験やキャンペーンサイト等、短期的なプロジェクトの場合、自動検証の導入は不向きです。但し、自動検証の仕組みを入退会等の機能単位で実装する事で流用がしやすくなるので人為的なミスを防ぎたい重要な機能に対し一部だけ自動検証を組込むのは効果があると思われます。
自動検証を導入するタイミング
自動検証を導入する最適なタイミングは開発と同時をおススメします。自動検証を実現する為にはそれに沿ったプログラミングが必要になる為、遷移やデザインなど検証プログラムに必要な情報を正確に取得・反映する事が出来る為です。また、最初から導入する事でその後の開発の質を上げるのはもちろん、本来かかる筈だった検証工数の削減も可能となります。