アドビは、シングルページアプリケーションフレームワークをベースにしたクライアント側のレンダリング(React など)を必要とするプロジェクトには SPA エディターを使用することをお勧めします。詳細情報を参照してください。
市場には幅広いデバイスが投入され、リリースされ続けていることから、アプリのテストが非常に重要になっています。機能やユーザビリティがアプリストアで低評価を受ける可能性がありますが、欠陥が 1 つでもあればアプリのアンインストールという結果になり得ます。テストの計画と品質保証には細心の注意を払う必要があります。次のリンクでは、自分の環境の確認や、テストケース、テストのタイプ、仮定、お客様の関与などの定義といった、全般的に対処が必要な多くのトピックを取り上げています。また、テスト作業に役立つツールについても説明しています。内部ツール(例: ) ホッブスは、Web ベースの UI テストに役立ちます。 Tough Day では、シミュレートされた負荷でインスタンスに応力を与えることができます。 テスト環境に Selenium などのサードパーティツールが既に搭載されている場合には、それを使用することもできます。
モバイルアプリを開発する際には、デバイスに固有の多くの問題が新たに発生し、従来のテストの問題に加えてこれらにも対処する必要があります。
自動テストおよび手動テストを実行するときは、以上の質問に回答するようにしてください。
ある程度までは、多様な画面サイズ、メモリ制約、入力方法およびオペレーティングシステムに自動テストの実行で対応できる必要があります。自動テストは、テストケースの多くに対応しているだけでなく、新しい機能やデバイスを導入する際の回帰テストを迅速化できます。自動化ツールで作業の繰り返し回数が減ったり、限定的なものになったりすることが理想です。テスト作業をすべてのプラットフォームに適用できるように、ツールまたはフレームワークを使用してください。次の図は、Web ベース UI とモバイルアプリの両方のテストに使用できるテスト環境の構造を簡素化したものです。図の左側には、一連の Selenium ノードがブラウザーとともに示されています。SeleniumGrid は、一般的な Web ベースの UI テストをこれらのノードのいずれかにファームアウトできます。Selenium Hub は、クロスプラットフォームアプリテスト用に Appium に接続することもできます。図に示されているのはシミュレーターのみですが、adb(Android の場合)および Xcode ユーティリティ(iOS デバイスの場合)を組み込むこともできます。ここに挙げたツールの詳細を個別に確認するには、後述のリンクを使用してください。
自動テストに加え、アプリに対して手動テストサイクルも実行する必要があります。実際のデバイスでアプリを実行するお客様をスクリプトで再現することはできません。この場合も多くの選択肢があります。HockeyApp などのプラットフォームを使用して、フィードバックにアクセスできるユーザーを定義し、フィードバックを収集することができます。あるいは、UTest、ElusiveStars、Testin などのサービスにプロセス全体をアウトソーシングすることもできます。社内にテスト実施者グループが存在するものの、デバイスのバリエーションが不足している場合には、クラウドサービスを利用し、用意されているデバイスプールに対して手動テストを実行できます。これを実現しているサービスの 1 つが SauceLabs です。また、受け入れテストまたはデモ実施の 1 つのレベルとして、PhoneGap Enterprise に対してリモートでアプリをビルドし、ローカルデバイスにインストールすることもできます。詳しくは、 PhoneGap web サイトを参照してください。 どのアプローチを採用する場合でも、手動テストには次のことが必要です。
テスト実施者数が多いこと。
大規模なデバイスプールに対してテストを実施すること(実際のデバイスが理想ですが、実際のデバイスが使用できない場合にはシミュレーター/エミュレーターでもかまいません)。
次のような有益なフィードバックが得られること。
モバイルアプリのテストには、さまざまなツールを使用できます。使用するツールを選択する場合は、機能、価格、サポート、対象範囲など個別の状況に応じて決定します。ここでは、使用可能なツールおよびサービスのいくつかをごく簡単に説明します。
Selenium
詳しくは、https://www.seleniumhq.org/ を参照してください。
Testdroid
詳しくは、 https://testdroid.com/.
Appium
詳しくは、 https://appium.io/.
SauceLabs
詳しくは、 https://saucelabs.com/.
AppTestNow
詳しくは、 https://www.apptestnow.com.
HockeyApp
詳しくは、 https://hockeyapp.net/features/.
Jenkins
詳しくは、 https://jenkins-ci.org/ および https://wiki.jenkins-ci.org/display/JENKINS/Plugins.