近年ソフトウェアのテストを効率化するツールとして、テスト自動化ツールが数多く開発されています。各ツールごとにそれぞれ違った利点がありますが、数多くのツールから最適なものを選択することは難しいです。今回はテスト自動化ツールの概要・種類について解説したうえで、7種のテスト自動化ツールを比較していきます。
テスト自動化ツールとは
テスト自動化ツールとは、テスト対象や手順などを設定することで、テストを自動的に実施できるようにするツールです。
システム開発においてテストとは、システムが想定通りの動作をするかを確認する作業のことで、不具合の発生を防ぐために必要な工程ですが、人の手で行うと、ある程度の時間やコストがかかります。自動化ツールを導入することで、ツールがテスト作業を代行してくれるため、時間の短縮やコストの削減が可能です。
テストの自動化によるメリット・デメリットの詳細につきましては、こちらの記事をご参考ください。
テスト自動化ツールの種類
テスト自動化ツールは、主に3つの種類に分類されます。種類ごとに性質やテスト実行者に求められるスキルの水準が異なります。
・オープンソース系
オープンソース系は、公開されているソースコード(※)を基にテスト対象に合わせてコーディングすることでテストを自動化するツールです。プログラムを自由に改良できるためカスタマイズ性が高く、安価で導入できるというメリットがあります。テスト実行者が自らプログラムを書く必要があるため、導入の際にはコーディングスキルが必須となります。
・ローコード系
ローコード系は、直感的な画面操作と一部分のコーディングによって、テストを自動化するツールです。プログラムを書く部分が少なく、ゼロからコーディングする場合よりも短時間でテスト手順を設定することができます。プログラムを書く部分もあるため、ある程度のカスタマイズ性が担保されていますが、テスト実行者に一定の知識が求められます。
・ノーコード系
ノーコード系は、一切コーディングを行うことなく直感的な画面操作のみでテストを自動化するツールです。プログラムを書く必要がないため、短時間でテスト手順を設定することができます。ある程度できることが決められているためカスタマイズ性は低いですが、コーディングの必要がないため、知識を問わずどんな人でも活用することができます。
(※)プログラムにどのような動きをさせたいかをプログラミング言語で記載したもの。
テスト自動化ツールの比較
種類 | ツール名 | 価格(※1) | 対応しているテスト対象(※2) | 機能面の特徴 | その他の特徴 |
---|---|---|---|---|---|
オープンソース系 | Selenium | 無料 | ・Web ・モバイル | ・エンドユーザー操作のテストから部分的なプログラムのテストまで幅広く対応。 ・テスト画面を動画や画像として保存し、メンバーに共有可能。 | ・オールインワンであり、複数のツールを導入する必要がない。 ・他のツールへの拡張・連携がしやすい。 |
Appium | 無料 | ・Web ・モバイル ・デスクトップ | ・モバイルアプリのテストに特化している。 ・GUIツールを活用することで、ローコードに近い設計も可能。 | ・開発者コミュニティがある。 ・多様な開発言語に対応。 |
|
ローコード系 | Eggplant | 要問合せ | ・Web ・モバイル ・デスクトップ | ・AI・ディープラーニングによりテストケースを最適化できる。 ・画面認識技術により、ユーザー体験に関するテストにも対応。 | ・専用ツールでテストスケジュールを管理可能。 |
mabl | 要問合せ | ・Web ・モバイル | ・ユーザーと同じように操作しながらテストケースを作成できる。 ・APIテストにも対応。 | ・テスト後に問題点を可視化、結果をすぐに保存・確認できる。 | |
ノーコード系 | Autify | 要問合せ | ・Web ・モバイル | ・仕様変更によるテストシナリオ変更もAIにより自動化。 ・モバイル端末を振る動作の入力にも対応。 | ・Slackなどの別ツールと連携可能。 ・10ブラウザで同時にテスト可能。 |
Ranorex | \768,000(※3) | ・Web ・モバイル ・デスクトップ | ・ユーザーと同じように操作しながらテストケースを作成できる。 ・アクションの記録、画像検証も可能。 | ・世界で4000以上の企業で導入実績あり。 ・ローコードでのテストも可能。 |
|
MagicPod | ¥525,360(※4) | ・Web ・モバイル | ・AIにより日本語のテストスクリプトを自動生成できる。 ・仕様変更によるテストシナリオ変更もAIにより自動化。 | ・Slackなどの別ツールと連携可能。 ・固定IPなどによりセキュリティ面も万全。 |
(※1)規定のプランがなく、必要な機能に応じて料金が変動するツールを「要問合せ」としています。
(※2)Webブラウザから使用するアプリを「Web」、スマホやタブレットで使用するアプリを「モバイル」、デスクトップ上で使用するアプリを「デスクトップ」としています。
(※3)税別、1ライセンス\648,000+初年度保守\120,000、PC1台あたりの買取りライセンスとなります。
(※4)税込、1ユーザーあたりの1年契約ライセンスとなります。
・オープンソース系の比較
オープンソース系のツールでは、「Selenium」と「Appium」の二つを紹介します。SeleniumはWebアプリのテストに特化しており、幅広い動作に対するテストを自動化できる点が特徴です。拡張性が高い分、導入の際にはある程度の知識が必要です。Appiumはモバイルアプリのテストに特化しており、対応している開発言語が多様である点が特徴です。追加のツールを導入することでローコード系のツールのようにテストを設定することができ、コーディングの手間を減らすこともできます。テスト対象となるアプリの種類やテストメンバーのスキルに合わせて選択しましょう。
・ローコード系の比較
ローコード系のツールでは、「Eggplent」と「mabl」の二つを紹介します。EggplentはAIを多くの工程で活用しており、テストケースの最適化や自動更新ができる点が特徴です。デスクトップアプリも含めた幅広いアプリに対応しています。mablはユーザーと同様の操作を行うことで、半自動的にテストが設計される点が特徴です。アプリのAPIに関するテストにも対応しています。テスト対象となるアプリの種類や自動化したいテストの内容に合わせて選択しましょう。
・ノーコード系比較
ノーコード系のツールでは、「Autify」と「Ranorex」、「Magic Pod」の三つを紹介します。Autifyは、AIによってテストシナリオを自動修正できる点やモバイル端末を振る、アプリをバックグラウンドに移動させるなどの特殊な動作にも対応できる点が特徴です。Ranorexは、テストの設計・実行・結果検証の工程全てに対応できる点や利用料金が買い切りとなっている点が特徴です。Magic Podは、最適なテストシナリオの提案をAIから受けることができる点や認証システムの採用によりセキュリティ面が万全である点が特徴です。テスト対象となるアプリの種類やテストしたい動作、ツールを使用する期間に合わせて選択しましょう。
テスト自動化ツールを導入する際のポイント
・チームメンバーのスキルセットを考慮する
ツールをスムーズに導入・運用するためには、テストを担当するチームメンバーのスキルセットを考慮することが重要です。導入費用の低さや拡張性の高さから、オープンソース系のツールを導入しようと考えても、コーディングスキルを持っているメンバーがいなくてはうまく使いこなすことができません。導入の際に割くことができるリソースを考慮したうえで、導入可能な難易度のツールを見極めることが重要です。
・テスト対象・範囲に合ったものを選ぶ
ツールを効果的に活用するためには、テストしたいソフトウェアがテスト対象となっているツールを選択する必要があります。コーディングスキルを持つ人材が不足している場合には、ノーコード系のツールが最適のようにも思えますが、実行したいテスト内容をノーコード系のツールで自動化できるとは限りません。各ツールごとにテスト可能な内容や範囲が異なるため、ツールを導入する前に自動化したいテストの内容に対応しているかを確認するようにしましょう。
・実行頻度が高いテストから自動化する
ツールを導入する際には、実行頻度が高いテストから自動化することが効果的です。ツールの導入には初期コストがかかるため、実行頻度が低いテストを自動化したとしても、初期コストに見合った効果を感じることができない場合があります。頻繁に実施するテストから自動化することで、業務の負担を大幅に軽減しつつ、早期にツールの活用に慣れることができ、他のテストにも導入しやすくなります。
まとめ
テスト自動化ツールとは、テスト対象や手順などを設定することで、テストを自動的に実施できるようにするツールです。
テスト自動化ツールは大きく3種類に分類され、自動化したいテストの内容や、テスト実行チームのメンバーのスキルセットを考慮したうえで選択することが重要です。
株式会社GENZでは、テスト自動化ツールの導入も含めたITに関するお困りごとに幅広く対応しております。ツールを導入したいけれど、どのツールをどのような手順で導入すればよいかわからない、という場合でも大丈夫です。テストの専門家がお客様のシステムにあったテスト自動化の計画を提案させていただきます。機能面のテストとセキュリティ面のテストをまとめてご依頼いただくことも大歓迎です。
テストの自動化を検討する場合は、ぜひGENZにご相談ください。