テスト自動化には、「開発技術」「テスト技術」「自動化の技術」が必要です。どれかひとつだけでは、テスト自動化ツールの導入は成功できません。いずれの技術もバランスよく身につけることが大切です。ここでは「開発技術」「テスト技術」「自動化の技術」3つの技術において、それぞれのポイントを紹介します。
自動テストツールに必要な技術は「開発技術」「テスト技術」「自動化の技術」。この3つの技術はどれが欠けてもテスト自動化が上手くいきません。そして、テスト自動化を構築するとき、最初に必要なのが「開発技術」です。
「開発技術」は、スクリプト作成に必要な技術。自動テストを実施するときは、ツールを意図に合わせて動かすためにスクリプトを作成しなければいけません。自動テストツールであっても、それを適切に動かすためにはスクリプトの作成が必須なのです。そのときに必要なプログラミング技術が「開発技術」です。
プログラミングにはプログラミング言語を使用しますが、どのプログラミング言語を使用するかは、自動化するテスト内容によります。「VBA」「Java」「JavaScript」といった代表的な言語はもちろん、使用する自動テストツール独自の言語もある点には注意が必要です。もちろん、すべての言語を習得する必要はありません。どれか一つの自動ツールを使えれば、他の言語のツールでもプログラムの書き換えは応用の範囲でできるでしょう。
また、ノーコード/ローコードで作成する自動化ツールもあります。こうしたツールでも、ループ、変数、分岐などのプログラム知識は必要です。
自分が使える言語に合わせて自動化ツールを選ぼうとすると、選択肢が狭くなり、目的を果たせないかもしれません。自動テストの成功確率を上げるためには、自分に合わせて選ぶのではなく、選んだ自動化ツールがどれであっても使いこなせるようにしておくことが大切です。
開発技術の次のステップで必要なのは「テスト技術」です。「テストケースを作る技術」「必要なテストを作る技術」「テスト技術の知識」「テスト実施技術」「評価対象に関する知識」「テストマネジメントの知識」がテスト技術を構成しています。
これらテスト技術の中でも、特に「テストマネジメントの知識」は、自動テストの成功にとって重要です。テストマネジメントには、テストを実施するためのリソースや時間の管理、進捗管理、開発チームの情報交換、状況の把握、品質の把握、テスト計画策定など、多くのタスクがあります。
それぞれのタスクにおいて、不測の事態が起こることもあるでしょう。そのときに、チームの中で情報を伝える範囲や方法、内容などを即座に判断し、情報共有が必要です。伝える内容が多ければポイントが伝わらず、少なすぎるとクオリティに影響します。
単に各タスクを管理するだけではなく、状況に応じた適切な判断がテストマネジメントに求められるスキルです。
また、テストの人的リソースが他のプロジェクトと共有されたとき、テストに関わる人員が不足しないように、タスク配分の管理が常時必要です。効率的なテスト実施のためには、システム設計者、ソフトウエア開発者との情報共有も重要ポイント。さらに、プロジェクトの全体を俯瞰して、スケジュール、実施回数、コストを把握しながら、効率面でも適正な進行となるよう柔軟に判断し、テスト自動化の成功に導かなければいけません。
そして、最も重要なポイントは、テスト自動化ツールの導入で削減できた工数をどのように有効活用するかにあります。自動化ツールを使っても、余った時間を有効に活用できなければ意味がありません。プロジェクトの問題を把握して、削減できた工数を有効活用するのもテストマネジメントの大切な役割です。
テストマネジメントが上手くいかなければ、テスト自動化は成功しません。テスト技術の中で、特に重要なスキルと言っても過言ではないでしょう。
開発技術とテスト技術によって自動テストの大枠が見えても、まだ成功には足りないものがあります。テスト自動化成功にとってカギになるのは「自動化の技術」です。
自動化技術には、「自動化すべきテストの見極め」「メンテナンス構造の構築」「自動化のリスク回避技術」「自動化の設計」「自動化の設計プロセスに対する理解」「自動化によって発生する問題への解決力」があります。
つまり、効率化すべき場所を見つけ、目的に合うツールを判断するスキルとも言えます。間違えた判断をすると、自動テストが中断し、メンテナンスばかりが増える事態になりかねません。せっかくの自動化なのに、効率化につながらず、面倒な仕事が増えてしまいます。
テスト自動化を目指すときは、いきなり導入するのではなく、自動化の効果を正確に見極めることが大切です。テスト実施の全体プロセスを把握して、本当に工数の削減・テストの効率化ができるのかを判断しなければいけません。
その判断力は、実際に自動テストを運用してみることで身につけていきます。自動テストの運用経験が増えることで、「繰り返し実施しなければいけないテストが何か」「スクリプトのどこをどのように修正すれば工数を削減できるか」などが理解できるようになるのです。自動テストの運用を重ねることで、気づくことが多くあります。
自動化の効果を見極める「自動化の技術」が向上すると、無駄な工数をかけることなく、最短距離でテスト自動化が実現するでしょう。自動化の技術は、テスト自動化の成功確率を上げるためのカギと言えます。
テスト自動化ツールの技術には、「開発技術」「テスト技術」「自動化の技術」の3つの技術が必要です。それぞれの技術には、さらに多くの技術や知識があります。すべてを身につけるのは大変だと感じるかもしれませんが、これらの技術は、経験を重ねることで身についてきます。
求められることが多く、ともすればテスト自動化の目的を忘れがちですが、その目的は「工数削減」「テストの効率化」です。目的に向かって進んでいけば、最初は多少の時間がかかったとしても大きな失敗は起こらないでしょう。地道に経験を重ねていくことが大切です。
商品名 | Ranorex (ラノレックス) |
Autify (オーティファイ) |
---|---|---|
商品タイプ | パッケージ型
膨大なテスト工数を |
SaaS型
初期費用を抑えて |
対応テスト |
|
|
実行回数 の制限 |
制限なし |
制限あり
400回/1000回/任意 ※プランにより異なる |
日本語サポート | 導入後のセミナーが充実! | ヘルプサイトが充実! |
体験版 | 14日間 | 14日間 |
※Googleで「テスト自動化ツール」と検索し上位表示されたパッケージ型、SaaS型のテスト自動化ツール21種類の中から、(1)クロスデバイス、マルチブラウザに対応し、(2)日本語のサポートがあり、(3)ノンプログラミングでシナリオ作成が可能なツールをピックアップ(2021年11月1日調査時点)。パッケージ型、SaaS型それぞれの代表商品を選出しました。
【代表商品の選出基準】
☆パッケージ型:上記の条件の通り。
☆SaaS型:上記の条件に加え、公式サイト上に導入事例がもっとも多かったツールを選出。