Webオートメーション
FirefoxやChromeなどブラウザは数多く存在します。それぞれのブラウザはバージョンアップを繰り返していますが、ユーザの中には古いバージョンが使いやすいことを理由に、セキュリティ上のリスクを軽視して、古いまま使い続けている人もいるようです。
Webオートメーションは、Webサイトのテストを自動化するロボットのようなツールで、さまざまツールがそろっています。
スクリプトを使って、Webインタフェースをプログラムが操作します。テストを手動で、つまり、人(=テスター)が行う場合を想像してみましょう。開発環境にアクセスできる環境にPCやタブレット、スマートフォンを並べて、テスト手順書に基づいて、画面の構成要素がそろっているか、画像は正しく表示されているかなど、見栄えを人の目で確認します。さらに、ページの各所に設置されたボタンやテキストリンクを1つ1つクリックしたり、ラジオボタン、プルダウン、セレクトボックスなどなどをクリックしたりタッチできる要素を1つ1つ操作して、次に進むための操作をして、想定通りの動作をすることを目で確認し、テスト結果に「OK」を入力したり、不具合の内容を書き込んだりします。エビデンスを求められる場合には、スクリーンショットを取って、テスト結果ページに貼り付けます。ページ数や組み合わせが多いと気の遠くなるような作業です。クリックなどでページの遷移を確認するのは単純作業ですが、記録を残すとなると単調な作業の長時間にわたる繰り返しになります。
Webの自動化で、反復的で膨大な人間中心のタスクに別れを告げることができます。
ただし、テスト自動化を始める場合、最初は手間とコストがかかります。いったん設計して設定しまえば、あとは疲れを知らない自動化ツールが自律的にテストしてくれるので、その間はエンジニアは別の仕事に取り掛かれるようになるのですが、導入の最初の段階では手間とお金がかかってしまうのです。
ただ、適切にチューニングできれば、テストのカバレッジは広くすることができ、テストそのものは時間短縮できて効率的なQAが可能になります。期間短縮は、結局のところ人件費の削減に直結し、プロジェクトのコストを抑えることが可能になります。
繰り返しテストを自動化する準備には手間と費用がかかりますが、再利用することを前提に準備すれば、次からのテストでは大いにコスト削減が可能になります。
自動化のメリットとしては、ヒューマンエラーを削減することも大きいです。人は疲れるとミスをおかします。ワークフローが煩雑だと、勝手に簡略化を試みてしまうテスターもいるでしょう。自動化すれば、ワークフローの各フェーズの記録も容易になります。時間の記憶も同様です。
そして何よりも結果の可視化ができるようになります。
もし、大勢の人がテストを並行して行ったとすると、その記録を残してトラッキングするためには、テスト要員とは別の要員が資料化することになりますし、結果の良しあしや傾向を分析するには、分析担当者の創意工夫や長時間作業が必要ですが、自動化ツールにはトラッキングの機能が具備されているものが多いようですから、この手間も削減できます。
ただし、すべてのテストを自動化することはできません。受入れ試験、APIテスト、単体テスト、統合テスト、UIテスト、サニティテスト、クロスブラウザテストなど、自動化ツールの得手不得手を掌握したうえで計画を立てる必要があります。
<参考情報>