ソフトウェアテストは、顧客やユーザーに開発したソフトウェアを提供する前の必須の工程です。しかし、テスト実行者が繰り返しの作業を手動でテストすることは、ストレスです。その結果、プロジェクト全体の効率を下げてしまうことがあります。
このような効率を下げてしまう現象の対策として、テスト自動化が有効です。
そこで、テスト自動化を行おうと、テスト自動化のツールを探しているとSelenium、Jenkins・・・など様々あります。
「ツールをどのように利用してよいかわからない」
「このツールと、あのツールでどのように違うかわからない」
と、迷ってしまうこともあるかと思います。
本ページでは、テスト自動化を検討する際などによく耳にするであろう無料で使える著名なテスト自動化ツール及び、それらの特徴をご紹介いたします。
今回は、特にシステムテスト、受け入れテストフェーズで利用出来るツールをご紹介いたします。
ぜひご参考ください。
~~おすすめテスト自動化ツール4選:目次~~
1.【Selenium】初心者から上級者まで利用出来るテスト自動化ツール2.【Appium】スマホアプリのテスト自動化を行うなら
3.【Apache Jmeter】負荷テストを行うなら
4.【Jenkins】継続的に自動テストを実行するなら
5.ツール比較まとめ
【Selenium】初心者から上級者まで利用出来るテスト自動化ツール
●主な対象:Webアプリケーション●動作環境:ブラウザ拡張、クライアントサーバーモデル
●対象URL:http://www.seleniumhq.org/
Seleniumは、ブラウザ上で動作するWebアプリのテストを自動化するツールです。
また、単純に自動化するだけではありません。
テスト中に不具合が生じた際に、その時の環境や手順を再現するために、キャプチャ・リプレイ(※1)機能もあります。
「Selenium IDE」というFirefoxのアドオンを利用すると、Firefox上でユーザーが行ったクリックなどの動作をスクリプトにすることが出来るため、プログラミング言語の知識が無いユーザーの方でも簡単に利用出来ます。
また、プログラミングによって自動テストのスクリプトを書く際は、「Selenium WebDriver」というSelenium系のソフトウェアを用います。
「Selenium WebDriver」ではJava、C#、Python、Rubyと多くの言語でスクリプトの作成が可能です。
また、一つのテストスクリプトで様々なブラウザ上でテストを行うには「Selenium Grid2」というコンポーネントを用いることによって可能になります。
※1 キャプチャ・リプレイ:テストを実行した時の動作手順を記録し、手順を再現することが可能になる機能。
【Appium】スマホアプリのテスト自動化を行うなら
●主な対象:iOS、Androidなどのネイティブアプリ、Webアプリケーション、ハイブリットアプリ●動作環境:Windows、OSX、Linuxなど
●対象URL:http://appium.io/
AppiumはiOS・Android上で動作する、ネイティブアプリ、Webアプリ、ハイブリットアプリのテストを自動で実行するツールとしてよく使われます。
元アプリのソースには手を加えずにテストを実行出来ることが、特徴として挙げられます。
また、一つのテストスクリプトでiOSとAndroidのそれぞれに対応することが大きな利点です。
【Apache Jmeter】負荷テストを行うなら(※2)
●主な対象:Webサーバー、データベース、FTP、LDAPサーバー●動作環境:Javaアプリケーション(GUI)
●対象URL:http://jmeter.apache.org/
Apache Jmeterでは、Webサーバーなどに対してのパフォーマンスの測定や、高負荷状態の負荷テストを行うことが可能です。
また、パフォーマンスの測定や負荷テストだけでは無く、HTTPレスポンスの妥当性を判断することが出来るので、機能テストの実行も可能です。
更に、テスト結果をグラフで表示する、又はメールで通知するといった機能があります。
※2 負荷テスト:システムへ擬似的に大量アクセスを行い、システムが正常に動くかなどを確かめるテスト。
【Jenkins】継続的に自動テストを実行するなら
●主な対象:Webアプリケーション●動作環境:Windows、UNIX、Linux、MacOS等
●対象URL:http://jenkins-ci.org/
Jenkinsを利用すると自動的にビルドが可能になります。
また、スケジューラー機能により定期的なテスト実行の命令も可能になります。
しかし、実行命令のスケジューリングがJenkinsの機能であり、Jenkinsだけではテスト作業を自動的に行うことは出来ません。
そこで、Jenkinsにテストを自動的に行うプラグインを紐付けることにより、テストの実行が可能となります。
更に他のプラグインの一例として、静的解析ツール(※3)、ユニットテストツール(※4)、キャプチャ・リプレイツールなどもあります。
ブラウザ上で手軽に利用出来ることから、継続的インテグレーション(CI)※5を実施する企業の多くで用いられています。
そのため、他のツールと比較した際にトラブル発生の際の対処法が他のツールよりも見つかりやすい利点があります。
※3 静的解析ツール:プログラムを動作させずに、ソースコードから文法の誤りなどを通して、エラーなどの解析が可能となるツール。
※4 ユニットテストツール:複数のモジュールを組み合わせる前の単体のモジュールを対象に行うテストツール。
※5 継続的インテグレーション(CI):ビルドの自動化や自動テストなどを連携させて継続的にテストなどを実行する仕組み。
例えば、自動的にビルドされたファイルがバージョンアップした際、自動でテストが実行されるといった動作が可能。
ツール比較まとめ
ツール | 主な対象 | 動作環境 | 利点 |
---|---|---|---|
Selenium | Webアプリケーション | ブラウザ拡張、クライアントサーバーモデル | キャプチャ・リプレイ機能/初心者でも簡単/多言語でスクリプト作成可能 |
Appium | iOS、Androidなどのネイティブアプリ、Webアプリケーション、ハイブリットアプリ | Windows、OSX、Linuxなど | 元のソースに手を加えずにテスト実行可能/一つのテストスクリプトでiOSとAndroidそれぞれに対応 |
Apache Jmeter | Webサーバー、データベース、FTP、LDAPサーバー | Javaアプリケーション(GUI) | パフォーマンス測定・負荷テスト可能/機能テスト可能/グラフ表示・メール通知機能 |
Jenkins | Webアプリケーション | Windows、UNIX、Linux、MacOS等 | 自動的にビルド可能/スケジューラー機能/ブラウザ上で手軽に利用可能/トラブル発生時の対処法が見つかりやすい |
■ウェブレッジの自動化サービスについてのお問い合わせ
ウェブレッジではテスト自動化サービスで多数の実績がございます。
投資対効果の調査~自動化支援、保守まできめ細やかなご提案を行います。
まずは、お気軽にお問い合わせくださいませ。
【無料ダウンロード】テスト自動化の入門
品質向上支援のスペシャリスト集団である株式会社ウェブレッジが、テスト自動化のメリットや自動化ツールに関してまとめた資料を無料でご提供しております。
■テスト自動化に関するその他の記事
テスト自動化とは?テスト自動化のメリットについて
おすすめテスト自動化ツール4選【本記事】
【自動化初心者向け】無料で始めるシステムテスト自動化のための教材集5選
テスト自動化導入のポイントVol.1 ~どのテストを自動化すべきか~
テスト自動化導入のポイントVol.2 ~テストツール導入の落とし穴~
テスト自動化導入のポイントVol.3 ~工数削減の効果と効果測定の方法~
テスト自動化導入のポイントVol.4 ~組織へ導入するプロセス~