公開日:5、2020
Androidテストツールのトップ4を比較
2007年のAndroidモバイルオペレーティングシステムの最初のリリースは、モバイル分野に革命をもたらし、Androidテストツールの必要性を高めました。IT大手のGoogleによって登場したAndroidは、瞬く間に主要なモバイルおよびタッチスクリーンOSになりました。IDCによると、2018年にはAndroid搭載スマートフォンが市場の85.1%を占めました。IDCは、Androidがその地位を維持し、2023年までに87.1%に達すると予想しています。Statcounterは、2020年3月時点でAndroidの市場シェアは72.6%であると報告しています。Androidの人気の最大の理由は、Googleが無料のオープンソースOSとして提供したことです。そのため、世界中の開発者がこのツールに最大限の貢献をすることができました。Linuxベースのカーネルを使用し、幅広いデバイス互換性を提供します。無料のOSであるため、ハードウェア事業者はAndroidを搭載した低価格のスマートフォンをリリースできます。
Androidの圧倒的な人気は、開発者がAndroidデバイス向けアプリを開発する上で大きな刺激となっています。現在、Google Playストアには2.5万以上のアプリが登録されており、その数は増え続けています。 Playストアには毎日3500以上のアプリが追加されており、Androidアプリのテストは開発者にとって重要なタスクとなっています。. Android アプリの開発には、ネイティブ アプリ、Web アプリ、ハイブリッド アプリの 3 つのカテゴリがあります。
ここでは、テスト作業を簡単かつ効率的にする Android テスト ツールのトップ 4 を紹介します。
この Android テスト ツールのレビューでは、主に 4 つの側面を取り上げます。
- ツールの概要
- 人気
- 長所と短所
- 誰がそれを使うべきですか?
1) アピウム
Appiumは、近年モバイルテスト市場を席巻している人気のクロスプラットフォームモバイルテスト自動化ツールです。Sauce Labsがオープンソースツールとして開発しました。 現在のバージョンはAppium 1.12ですクロスプラットフォームおよびクロステクノロジーのサポートにより、Appiumは開発者がAndroidおよびiOSデバイス上でネイティブアプリ、Webアプリ、ハイブリッドアプリをテストすることを可能にします。当初はモバイルアプリのテスト用に設計されていましたが、現在ではWindows上のデスクトップアプリにも拡張されています。Appiumは、Node.jsとJSON Wireプロトコルを使用するHTTPサーバーとして設計されています。このツールはコマンドラインインターフェースで設計されていましたが、新しいAppiumデスクトップは、テストタスクを容易に実行するための鮮やかなGUIを提供します。デバイス設定、ジェスチャー入力、さまざまな環境条件を含む幅広いテスト自動化機能を提供します。また、AndroidおよびiOSの最新バージョンにも即座に対応しています。
人気: 高。Appium は、市場で入手可能な最も人気のあるモバイル テスト ツールです。
使いやすさ: 中程度。テストの使用と実行にはコードの知識が必要です。
Appiumの長所と短所
メリット:
Appiumは、Java、Javascript、Ruby、Python、PHP、C#、RobotFrameworkなど、複数のコード言語でテストを記述できます。iOSやWindowsなどのプラットフォームもサポートしているため、開発者は同じコードでAndroidデバイスとiOSデバイスをテストできます。さらに、メッセージの送信や通話など、対象アプリケーション以外のテストも可能です。Appiumの最大の強みは、着実なサポートとコミットを提供する大規模で活気のあるコミュニティです。Appiumはオープンソースで無料であるため、エミュレーターやシミュレーターだけでなく、実機もサポートしています。
デメリット:
Appiumを使ったテストを始めるのは、まずダウンロード、インストール、設定を行う必要があるため、比較的複雑です。テスト用にAndroidおよびiOSデバイスが接続され、利用可能な状態であることも必須です。さらに、UiAutomatorおよびXCUITestフレームワークを使用するには、オブジェクト構造に関する知識も必要です。実行速度は比較的遅いです。wing to WebDriverへの依存。さらに、スケールアップやCI実行時に不安定になる可能性がある。画像認識は改善の余地がある。下位互換性の問題があり、AndroidのバージョンとAppiumのバージョンを慎重に一致させる必要がある。
誰がそれを使うべきですか?
Appiumは、AndroidとiOSの両方のデバイスを扱うQAチームにとって特に便利です。両方のプラットフォームで同じコードを簡単に使用できます。

2) エスプレッソ
Espressoは、ホワイトボックステスト用に設計された人気のAndroidモバイルテストフレームワークです。Googleは2013年にEspressoをリリースしました。このオープンソースのテストフレームワークは現在、 Androidサポートリポジトリの一部「Espresso」という名前はイタリア語で「コーヒー」を意味します。シンプルで柔軟なテストフレームワークです。UIテストを記述できるAPIを提供しています。
人気: IT 大手の Google が開発した Espresso は、Android テスト ツール ユーザーの間で非常に人気があります。
使いやすさ: 開発者向け、中程度のSDET専門家向け
エスプレッソの長所と短所
メリット:
Espressoは、無料のオープンソースモバイルテストフレームワークです。シンプルなAPIを使用して、UIテストケースを迅速に作成できます。カスタマイズ性に優れ、使いやすく、学習曲線も最小限です。高いスケーラビリティと柔軟性を備えています。開発者はフレームワークを簡単にセットアップしてテストを開始できます。統合されたCI/CD環境で適切に動作するだけでなく、ブラックボックステストもサポートしています。EspressoはJUnit4をサポートし、下位互換性を備えています。アプリ外テストもサポートしており、テストは高速に実行されます。
Hamcrestライブラリへの依存により、テスターはマッチャーを使用して複雑なシナリオをテストできます。同期機能もサポートしており、アプリのUIはテストアクションと自動的に同期されます。アクティビティが開始されるまで待機してからテストを実行し、テスト終了時にアクティビティを終了します。アプリケーション内部で実行されるため、アプリの各要素を徹底的にテストします。Espresso Recorderは、コードを書かずにUIテストを作成できる便利なツールです。Webコンポーネントのテストもサポートしています。
デメリット:
EspressoはAndroidプラットフォームでのみ動作します。テストケースを記述するにはJava/Kotlinを使用する必要があります。Espressoはアプリ外テストをサポートしていますが、アプリ外テストではブラックボックステストのみが可能です。wing to アプリ外のクラスは利用できません。連絡先の同期やプッシュ通知のテスト自動化はサポートされていません。別のアプリからテスト対象のアプリに移動することはできません。
誰がそれを使うべきですか?
単一のフレームワークを使用してネイティブAndroidアプリをテストしたい開発者にとって、Espressoは最適な選択肢です。開発ライフサイクルにテストを統合し、ホワイトボックステストを効果的に実行できます。
3) UIAutomator
UiAutomatorは、 Android SDK マネージャーの一部としての Googleアプリ全体およびシステム全体にわたる、アプリ間UI機能テストを実行できます。UiAutomatorはブラックボックステストを効率的に実行できるように設計されており、UIコンポーネントのGUIビューを提供するUI Automator Viewerが付属しています。アプリ間テスト用のAPIを提供し、状態情報を取得できます。テストコードの記述にはJavaとKotlinプログラミング言語をサポートしています。
人気: ロー
使いやすさ: 技法
UiAutomatorの長所と短所
メリット:
Android SDKの一部であるUiAutomatorは、セットアップと使用が簡単です。シンプルなAPIを使用して、タスクを簡単に実行できます。システムコンポーネントやハードウェアボタンとのやり取りも簡単です。テスト速度は、EspressoやAppiumと比較すると中程度です。Ui Automator ViewerはUIコンポーネントをグラフィカルに表示し、デバイス上のコンポーネントを簡単に確認できます。UI要素を直接操作できます。充実したドキュメントとチュートリアルも用意されています。
デメリット:
Java/Kotlinのみをサポートしています。Webビューはサポートされていません。UiAutomatorを使用するには、Android 4.3以上、SDKバージョン21以上、APIバージョン16以上が必要です。APIを使用してリストを操作するのは複雑なプロセスです。
誰がそれを使うべきですか?
内部実装の詳細が不明なブラックボックステストに適しています。複数のアプリをテストする場合は、UiAutomator を使用できます。
4) ロボティウム
Robotiumは、ネイティブおよびハイブリッドモバイルアプリ向けのオープンソースのテスト自動化フレームワークです。Renas Redaは、グレーボックステストを効率的に実行するためにRobotiumを開発しました。つまり、ソースコードまたはapkファイルを使用してアプリをテストできます。モバイルテスト用のSelenium版のようなものです。
人気: ロー
使いやすさ: 技法
Robotiumの長所と短所
メリット:
Robotiumはオープンソースで無料です。テストの作成と実行が簡単かつ迅速です。グレーボックステストに適しており、アプリに関する最小限の知識でテストできます。コードが最小限なので、テストの作成と実行にかかる時間が短縮されます。複数のデバイスを同時に自動的にテストし、実行時間を短縮します。RobotiumはGradle、Maven、Antと連携し、自動遅延、タイミング、ビューをサポートしています。テストは実行時にUIコンポーネントにバインドされるため、信頼性の高いテストとなります。テストケースを迅速に記録できるRobotium Recorderも提供しています。
デメリット:
Robotiumは複数のアプリケーションを同時にテストできません。WebコンポーネントとFlashをサポートしていません。モバイルデバイスの通知処理はできません。通知を取得して開くこともできません。スクリーンショット機能も利用できません。また、障害処理に一貫性がないことが課題です。
誰がそれを使うべきですか?
Robotium は、アプリに関する最小限の情報でグレー ボックス テストを実行するのに最適です。
Androidテストツールを選択したら
次のステップは、Experitestの出番です。SeeTest Continuous Testing Platform 上記のすべてのAndroidテストツールと統合されます標準の自動化ドライバーからネイティブ モバイル テスト フレームワーク、モバイル アプリ開発ツールに至るまで、複数の実際の Android およびデスクトップ環境で数百の Web およびモバイル アプリケーション テストを並行して実行する方法を提供します。 今すぐ無料トライアルでご自身で確かめてください.


