テスト自動化ツールには、その目的や機能によってさまざまな分類があります。ここでは、テスト自動化ツールの導入を検討している人のために、主要なテスト自動化ツールの分類を7種類に分けて解説していきます。
継続的インテグレーションのサポートを目的としたツールです。特徴としては、構成管理ツールでコードの更新を行うと自動的にビルドやテストを行うことができる点が挙げられます。また、設定されたトリガによって、バッチやプログラム実行などを並列・連続処理することが可能です。CIツール自体はテストを行うツールではありませんが、ほかのツールで自動化されたテストを自動的に実行することで、テスト活動の支援が可能です。
代表的なCIツールとしては、Jenkinsなどがあります。
コードを解析することで、構造的欠陥を発見することを目的としたツールです。コード解析を行うことで、領域外参照やデッドコード、メモリリークなどの発生を検出できるのが特徴です。ほかにも、コーディング規約違反の検出をはじめとする、間接的なシステム障害の原因を取り除くのにも役立ちます。ただし、ハードウェアの動作や通信シーケンス依存の問題といったような、動的な不具合の検出はできないので注意が必要です。
代表的な静的解析ツールとしては、KlocworkやSonerQubeなどがあります。
一定のルールに基づいて記述されてモデル化された設計書などから、テストケースを自動的に生成するためのツールです。特徴としては、図や表などといった規定の記述内容から、自動的にテストを生成できる点が挙げられます。このテストケースは組み合わせ手法を用いて作られるので、テストケースの漏れを回避できることが大きなメリットです。ただし、ドキュメント作成にはツールが対応している必要があるので、テストケース作成に関しては補助ツールとして使用するのがいいでしょう。
代表的なモデルベースド(準形式手法)ツールとしては、PictmasterやCEGTestなどが挙げられます。
コードからテストケースを自動生成することで、テストコードの生成から実行までを自動化できるツールです。特徴としては、コードの構造からテストケースやテストコードを自動生成できることが挙げられます。加えて、網羅的なテストの実行、カバレッジの取得も得意です。反面、設計書や要件へのトレーサビリティが必要になるので、コードを網羅する単体テストの作成や実施に適しているツールと言えるでしょう。
代表的な単体テストツールとしては、C++Testなどがあります。
関数に対して前提条件や入力を設定することで、出力・戻り値に対する検証を自動化することを目的としたツールです。多くの場合、このツール自体はアプリケーションではなく、単体テストのテストコード効率化のためのフレームワークとなっています。テストコードの構築に時間がかかっている状態や、コードが属人化してしまっている状態の解決に役立つでしょう。
単体テストフレームワークの例としては、C++用のGoogleTest、Java用のJUnit、Python用のPyUnit、javascript用のMochaなどがあります。
UIのテストを自動化するのが目的です。ユーザーの操作を記録してテストデータ作成を補助することが可能で、これによってUIに対する操作を行うテストの自動化ができます。
UIテストツールの例としては、SeleniumやRanorexなどが挙げられます。
テストや不具合のモニタリングをサポートすることで、統計や一覧の作成を自動化するのが目的です。テストケース単体の状態管理や進捗といったテストフェーズ・テストレベル全体の管理を行うことが一般的な機能です。
代表的なテスト管理ツールとしては、TestRailやTestLinkなどが挙げられます。
テストの自動化のために便利なテスト自動化ツールですが、それらはたくさんの種類に分類できます。そのため、自動化ツールを選ぶ際には、各々の課題に応じたツールを選ぶことが大切です。本サイトでは代表的な自動化ツールを紹介していますので、自動化ツールの導入を考えている人はぜひ参考にしてみてください。
商品名 | Ranorex (ラノレックス) |
Autify (オーティファイ) |
---|---|---|
商品タイプ | パッケージ型
膨大なテスト工数を |
SaaS型
初期費用を抑えて |
対応テスト |
|
|
実行回数 の制限 |
制限なし |
制限あり
400回/1000回/任意 ※プランにより異なる |
日本語サポート | 導入後のセミナーが充実! | ヘルプサイトが充実! |
体験版 | 14日間 | 14日間 |
※Googleで「テスト自動化ツール」と検索し上位表示されたパッケージ型、SaaS型のテスト自動化ツール21種類の中から、(1)クロスデバイス、マルチブラウザに対応し、(2)日本語のサポートがあり、(3)ノンプログラミングでシナリオ作成が可能なツールをピックアップ(2021年11月1日調査時点)。パッケージ型、SaaS型それぞれの代表商品を選出しました。
【代表商品の選出基準】
☆パッケージ型:上記の条件の通り。
☆SaaS型:上記の条件に加え、公式サイト上に導入事例がもっとも多かったツールを選出。