コラム│テスト自動化ツールの選び方や比較ポイントを解説
テスト自動化ツールの導入をご検討中の方に、選び方のポイントやSky株式会社が提供する商品の強みについて紹介いたします。
ソフトウェアテスト自動化ツールの導入を考える際、最初の壁として立ちはだかるのが「ツールが多く、どれにすべきかわからない」というお悩みではないでしょうか。確かにテスト自動化ツールの数自体は多いですが、その系統は大きく分けると以下の4種類しかありません。
開発するソフトウェアに合わせて選ぶ
1: Webアプリに対応するタイプ
2: Webアプリとモバイルアプリに対応するタイプ
3: 上記に加えデスクトップアプリにも対応するタイプ
カスタマイズしてテスト環境を構築する
4: オープンソース系
まずは、どのタイプのツールを導入すべきなのかを把握することが、テスト自動化ツールの導入への第一歩です。後述しますが、初めてテスト自動化ツールを導入される場合は、基本的に上記の1~3のタイプがおすすめです。ここではテスト自動化ツールの4種類のタイプについてご紹介します。
1つ目は、Webアプリにのみ対応するタイプです。Webアプリとは文字どおり、インターネットを介してブラウザ上で利用できるアプリケーションソフトウェアのことを指します。
Webアプリのテスト自動化さえできれば十分という方は、こちらのタイプのツールも選択肢の1つとなります。
次に、Webアプリとモバイルアプリに対応するタイプのテスト自動化ツールです。上記で述べたWebアプリだけではなく、モバイルアプリも開発したい場合は、このタイプのツールを選ぶ必要があります。
モバイルアプリとは、スマートフォンやタブレットなどのモバイル端末で動作するアプリケーションソフトウェアのことを指します。Webアプリとは違い、アプリ配信プラットフォームから直接モバイル端末にインストールして使用するという特徴があります。Webアプリとモバイルアプリの両方が存在するサービスの身近な例としては、「Facebook」などのSNS、「Amazon」などのECサービス、「Gmail」などのWebメールサービスが挙げられます。
スマートフォンの普及率はすでに約90%に達するなど、もはや私たちの生活になくてはならないものとなりました。それと同時にモバイルアプリ開発に対するニーズも高まっています。このタイプのテスト自動化ツールを導入することで、PCとモバイル端末の並列テストも実施可能になり、よりスムーズにWebアプリとモバイルアプリの両方の開発を行うことができます。
3つ目は、Webアプリとモバイルアプリに加えて、デスクトップアプリにも対応しているタイプです。デスクトップアプリとは、PCのデスクトップ環境でコンピューターにインストールして使用するアプリケーションソフトウェアを指します。代表例として、「Word」や「Excel」などのアプリもデスクトップアプリに分類されます。
このタイプのテスト自動化ツールは、プラットフォームごとにツールを切り替える必要がなく、1つのツールでさまざまなアプリケーションソフトウェアのテストが自動化できる非常に便利なものです。さまざまなソフトウェアを開発しており、テストの自動化をお考えであれば、まずはこちらのタイプのツールを利用されることをお勧めします。
Sky株式会社が提供している「SKYATT」は、この3つ目のタイプのソフトウェアテスト自動化ツールです。後ほど詳しくご紹介しますが、「SKYATT」は、「Webアプリ」「モバイルアプリ(AndroidとiOS)」「デスクトップアプリ(Windows)」のすべてに対応した、オールインワンのテスト自動化ツールです。
最後にご紹介するのはオープンソース系のツールで、これまでの3種類とは少し毛色が違います。強みとしては、ほとんどのツールが無料で提供されているため導入コストがかからないことや、カスタマイズ性が高く、他のツールと組み合わせることで自由度の高いテスト環境を構築できることが挙げられます。
しかし、対応しているプログラミング言語に制約があったり、セットアップや操作方法を理解するのに時間がかかったりと、ソフトウェアテストに慣れていない状況で導入するには非常にハードルが高いことも事実です。そのため、初めてテスト自動化ツールを導入される場合は、導入ハードルが高いオープンソース系のツールよりも、上述の1~3のいずれかのタイプを選択する方が良いといえます。
どのタイプのソフトウェアテスト自動化ツールを導入すべきかを把握した後は、個々のツールに焦点を当てて選定していきます。同じタイプのツールであっても、各ツールにはさまざまな特徴があります。事前にソフトウェアテストの目的を明確にし、最適なテスト自動化ツールを選びましょう。
ここでは主にサービス面やコスト面での見るべきポイントをご紹介します。テスト自動化ツールを選定する際の大きなポイントは以下の5点です。
テスト自動化ツールの選定ポイント
- トライアルの有無
- 初期費用・月額費用
- サービスの提供形態
- 自動化ツールの実装タイプ
- テストの対象
最初に確認すべきなのは、無料トライアルの有無です。テスト自動化ツールを初めて導入する場合、いきなり有料のツールを導入することは心理的にもハードルが高いかもしれません。そのような場合は、まず無料トライアルを活用することをお勧めします。実際にトライアルを活用することで、導入後の具体的な利用イメージを持ちやすくなります。ツールによっては無料トライアルを実施していないものもあるため、事前に公式サイトやお問い合わせで確認する必要があります。
「SKYATT」では、お申し込み後1か月間お試しできる無料体験版をご用意しています。ご興味のある方は、ぜひお気軽にお問い合わせください。
テスト自動化ツールを導入する際は、導入にかかる費用や運用にかかるランニングコストも無視できません。金銭的リスクは、テスト自動化ツール導入の成否に関わるのはもちろんのこと、企業全体としても大きな負担となる可能性があります。「こんなはずではなかった」という状況を回避するためにも、費用についてはしっかりと確認することをお勧めします。ツールの便利な側面だけに注目せず、テスト自動化にかかるコストを理解し、予算を立て、どのように費用対効果を得ていくか具体的に計画することも大切です。
大抵の場合、テスト自動化ツールの費用は導入する状況に応じて異なります。公式サイトなどを確認しても金額が掲載されていないことも多いため、その際はメーカーに問い合わせて確認するとよいでしょう。「SKYATT」も同様に、導入の規模や状況により費用が異なるため、詳しくは弊社までお問い合わせください。
サービスの提供形態も見るべきポイントの1つです。テスト自動化ツールによってサービスの提供形態は異なり、クラウド上のサービスとして使用するものもあれば、ローカル環境にインストールして使用するものもあります。どちらのタイプにもメリット・デメリットは存在しますが、一番大切なことは自分たちの作業環境に合ったタイプを選ぶことです。
さまざまな作業環境でテストを実施できるようにしたいのであればクラウドタイプ、しっかり社内で腰を据えてテストを実施したいのであればインストールタイプがお勧めです。
テスト自動化ツールを利用するときに、どのような形式を用いてテストを実装するのかも、確認すべき重要なポイントです。実際に世の中に存在するテスト自動化ツールのほとんどは、テストを実装する際に専門的なプログラミングの知識が必要であり、自分たちでコーディングなどを実施して実装していきます。もしそのような環境がない場合や、できる限り簡単にテストを作成したい場合は、直観的に操作できる「ノーコード」や「ローコード」のテスト自動化ツールの導入がお勧めです。
テスト自動化ツール「SKYATT」は、専門的なプログラミングの知識は不要で、基本的にノーコードでテストを実装できる仕様になっています。各種設定やアイテムの登録も日本語のメニューで行うことができ、テストの実装段階から簡単な入力やマウス操作のみで作業を進めることが可能です。変数機能やプログラムを呼び出す機能も一部ありますが、ご不明点などにしっかりとお応えするサポート体制も充実していますので、安心してお使いいただけます。
自分たちがテスト自動化ツールで行うテストの対象範囲も確認しましょう。すでにご紹介した「Webアプリ」「モバイルアプリ」「デスクトップアプリ」のどれに対応するのかを確認し、自分たちのニーズにマッチしたツールを選びます。
その際、仮に今「Webアプリ」の開発しか行っていない場合でも、世の中の動きに合わせてほかのタイプのアプリを開発する必要が出てくる可能性もあります。そのようなケースに備えるという意味でも、基本的にはすべてのアプリに対応したテスト自動化ツールの導入を第一候補として検討するのがお勧めです。もしどうしてもタイプ別に絞り込まなければならない場合は、上述の他の選定ポイントを考慮した上で決めていくと良いでしょう。
サービス面やコスト面から見たテスト自動化ツールの選定ポイントはこれまでご紹介したとおりですが、実際にツールを使用する上での機能面で比較も忘れてはいけません。より便利なテスト自動化ツールを導入するために、重要な比較ポイントを3つご紹介します。
テストシナリオとは「規定の条件下でアプリが正しく動作するかを確認するためのもの」であり、そのシナリオの作成方法を比較することは、テスト自動化ツールを導入する上で重要なポイントになります。なぜなら、ツールのテストシナリオ作成方法によって、ソフトウェアテストを「誰が行うか」の選択肢の幅が大きく変わるからです。
ソフトウェアテストをエンジニアのみで行う場合であれば、テストシナリオの作成方法が複雑なツールを導入することも可能です。しかし、それではテスト自動化ツールを導入するメリットの1つである「テスト活動規模の拡大」が難しくなります。
Sky株式会社が提供する『SKYATT』では、テストシナリオの作成に特別なプログラミング知識は必要なく、ドラッグ&ドロップや、テストしたいアクションを選ぶだけの簡単な操作で行えます。そのため、今までテストに参加できなかった非エンジニアの方や初心者の方もテストに参加できるようになり、より大きくテスト活動をスケールさせることが可能です。
よりよいソフトウェアを開発し品質を維持するには、テストそのものの定期的な見直しが必要になってきます。そのため、テスト結果の見やすさや振り返りのしやすさも、テスト自動化ツールを導入する上での重要な比較ポイントであると言えます。
スクリーンショットでテスト結果を保存できる機能や、過去のテスト結果を一覧で比較できる機能など、自動化ツールによってさまざまな機能が付いています。テストの振り返りを滞りなく実施するためにも、どのツールにどのような便利機能が付いているのかは必ず確認することをお勧めします。
「SKYATT]には、テスト結果がNGだった場合にスクリーンショットを自動取得し、保存する機能も搭載されています。また、テスト結果自体をExcel形式で出力することも可能で、テスト結果の振り返りがしやすい仕様となっています。さらに、任意のタイミングでのメール通知機能もあり、NG発生時やテスト終了時などにメールが届くように設定することで、テスト自体の工数削減や時間的コストの削減も可能になります。
UI(ユーザインタフェース)の仕様変更など、ソフトウェア開発には改善のための修正が必ず発生します。そしてそれらの修正に伴い、テストシナリオ自体も再設定する必要があります。しかしすべての修正箇所を把握した後、もう一度シナリオへ反映するとなると、テスト担当者の負担は相当なものになってしまいます。テスト担当者の負担はリソース不足につながり、結果としてテストの不備が発生する原因にもなります。そのような事象を防ぐためにも、テストシナリオの変更に関する補正機能の充実度は大事な比較ポイントです。
「SKYATT]では、「画面アイテム修復」という機能を搭載しています。これは、テストシナリオに登録されているアイテム(ボタン・テキスト・ラジオなど)が存在しなくなった際に、「おそらくこれに変更したのではないか」という候補を挙げてくれる機能です。この機能を活用することでUIの変更などにも迅速に対応し、テストシナリオへの反映もスムーズに実施することができます。これによりテスト担当者の負担を軽減し、開発スピードを落とすことなくソフトウェアを開発することが可能です。