モバイルアプリのテスト testing-mobile-apps

NOTE
Adobeは、単一ページアプリケーションのフレームワークベースのクライアントサイドレンダリング(React など)を必要とするプロジェクトでは、SPA Editor を使用することをお勧めします。 詳細情報

市場上の様々なデバイスとリリース中のデバイスを考えると、アプリのテストが不可欠になりました。 この領域では、機能とユーザビリティがアプリストアのレビューを低減できますが、1 つの欠陥が原因でアプリがアンインストールされる場合があります。 テスト計画と品質保証には、注意深く注意する必要があります。 次のリンクでは、環境の特定、テストケースの定義、テストのタイプ、前提条件、お客様の関与など、一般的に対処する必要のあるトピックの多くを説明します。 また、テスト作業に役立つツールについても説明します。 内部ツール(例: ) ホッブスは、Web ベースの UI テストに役立ちます。 Tough Day では、シミュレートされた負荷でインスタンスに応力を与えることができます。 テスト環境に Selenium などのサードパーティ製ツールの使用経験が既にある場合は、これらも使用できます。

モバイルアプリを開発する際には、従来のテストと共に対処する必要があるデバイスに固有の新しい懸念事項が多数あります。

  • 機能 — すべての要件がアプリで満たされているか。
  • 操作性 — アプリは、お客様が使いやすく理解しやすいものですか。
  • パフォーマンス — 使用の急増中に何が起こるか。 スワイプやカルーセルなどのアプリ要素は、すばやく、エクスペリエンスから離れないですか?
  • エラーまたは割り込み — アプリの実行中に着信呼び出しまたは通知が発生した場合はどうなりますか。 ネットワークが停止したり、電源が切れたりした場合はどうなりますか。
  • インストールとアップデート — インストールの仕組み 更新はどのようにプッシュアウトされますか?
  • 技術 — アプリがデバイスから消費する電力が多すぎるか。
  • ローカリゼーション — アプリ内のすべての領域が翻訳されていますか。
  • 認定 — アプリが認定されているか。 お客様は、データプライバシーに関するすべての法的要件に従うと信頼できますか?

これらの質問には、自動テストと手動テストの間に回答する必要があります。

自動テスト automated-testing

画面のサイズ、メモリの制約、入力方法、オペレーティングシステムの種類に応じて、ある程度の自動テストを実行する必要があります。 多くのテストケースを対象としているだけでなく、新しい機能やデバイスが導入された際に、回帰テストを迅速に実行できます。 自動化ツールは、作業の重複を軽減または制限するのが理想的です。 すべてのプラットフォームでテスト作業を適用できるように、ツールまたはフレームワークを使用します。 次の表に、Web ベースの UI テストとモバイルアプリテストの両方のテスト環境の簡略化された構造を示します。 グラフの左側には、一連の Selenium ノードとブラウザが表示されています。 SeleniumGrid は、これらのノードに対して、一般的な Web ベースの UI テストをファームアウトできます。 Selenium ハブは、クロスプラットフォームアプリケーションテスト用に Appium に接続することもできます。 表示されるのはシミュレーターのみですが、adb(Android™用 ) およびiOSデバイス用の Xcode ユーティリティを組み込むことができます。 このドキュメントでは、後述のツールの詳細を確認できるリンクを示します。

chlimage_1

手動テスト manual-testing

自動テストに加えて、アプリケーションは手動テストのサイクルを経る必要があります。 実際のデバイスでアプリを実行しているお客様は、スクリプトで複製できません。 ここにも多くの選択肢があります。 HockeyApp などのプラットフォームを使用して、アクセス権を持つユーザーを定義し、フィードバックを収集できます。 または、プロセス全体を UTest、ElusiveStars、Testin などのサービスにアウトソースできます。 内部テスト担当者のグループがいるが、デバイスのバリエーションが少ない場合は、クラウドサービスを使用して、デバイスのプールで手動テストを実行できます。 これを提供するサービスの 1 つは SauceLabs です。 また、PhoneGap Enterprise にリモートでアプリを構築し、受け入れテストまたはデモのレベルとしてローカルデバイスにインストールすることもできます。 PhoneGap (https://phonegap.com/) web サイトを参照してください。 手動テストでは、どのような方法でも次の処理を行う必要があります。

  • テスターの大きな標的にぶつかった

  • 大量のデバイスプール(理想的には実際のデバイスですが、実際のデバイスが使用できない場合はシミュレーター/エミュレーター)に対するテスト。

  • 有益なフィードバックを提供:

    • クラッシュレポート
    • analytics/tracking,
    • 使いやすさ
    • 注目の領域
    • パフォーマンス
    • データ/消費電力など。

ツール tools

モバイルアプリのテストに使用できる様々なツールがあります。 使用するオプションは、特定の状況(機能、価格、サポート、対象範囲など)に基づいて選択する必要があります。 次に、使用可能なツールおよびサービスの一部について簡単に説明します。

Selenium

  • WebDriver をフィードし、様々なブラウザーを制御するテストスクリプト用の API を含むフレームワーク。
  • これを Appium で使用して、実際のデバイスでのテストをおこなうことができます。
  • SeleniumGrid は、並列テストを行うために、ノード間でテストを指示します。
  • Selenium IDE は、テストケースの記述を減らすのに役立ちます。

詳しくは、https://www.selenium.dev/ を参照してください。

Testdroid

  • 継続的な統合フックと実際のデバイステストを備えたクラウドベースのテストサービスです。
  • デバイスの互換性の確認、ログの分析、ビューのトラバース、スクリーンショットの取得、パフォーマンスの監視をおこなうアプリクローラーが含まれています。

詳しくは、 https://testdroid.com/.

Appium

  • Appium は、モバイルテストを自動化するための一般的なクロスプラットフォームフレームワークです。
  • また、テストケースのコーディングに役立つレコード機能にインスペクターが付属しています。

詳しくは、 https://appium.io/.

SauceLabs

  • SauceLabs はクラウドベースのテストを提供し、継続的な統合と統合されます。
  • テストは自動的にクラウド環境で実行されます。また、特定のデバイスやプラットフォームを起動し、手動でテストを実行して問題のデバッグに役立てることもできます。

詳しくは、 https://saucelabs.com/.

HockeyApp

  • HockeyApp は手動テストの対象となり、モバイルアプリが個人のアプリストアにプッシュされ、テスターがダウンロードして試すことができます。

詳しくは、 https://hockeyapp.net/features/.

Jenkins

  • Jenkins は、テストツールではありませんが、自動テスト用のバックボーンを提供する継続的統合フレームワークです。 の機能を拡張するには、多数のサードパーティプラグインを使用できます。 例えば、SeleniumGrid プラグインは、Selenium ハブとノードの管理に役立つ UI を提供します。

詳しくは、 https://www.jenkins.io/ および https://plugins.jenkins.io/.

recommendation-more-help
2eeeb575-8007-40cc-a72d-206fbc4ddd4b