Mobile-testing-application
モバイルテスト-アプリケーション
モバイルアプリケーションテストの簡単な定義は次のようになります。「*モバイルアプリケーションテスト*は、ハンドヘルドモバイルデバイス用に開発された*アプリケーションソフトウェア*の機能、使いやすさ、一貫性をテストするプロセスです。 モバイルアプリケーションのテストは、自動または手動のタイプのテストになります。」
注-理解を深めるために、オンライン航空券予約システムのモバイルアプリケーションをテストしていると仮定します。
機能テスト
機能テストは、定義された要件に従って動作していることを確認するためのアプリケーションの最も基本的なテストです。 他のユーザーインターフェイスベースのアプリケーションと同様に、モバイルアプリケーションでは、ユーザーシナリオで多くの人間の対話が必要です。
テストシナリオの例-
- 選択した出発地のフライトの空室状況が、選択した日付のみに表示されることを確認します。
- 過去の日付が検索結果に含まれていないことを確認します。
互換性テスト
互換性テストは、モバイルアプリケーションのテストに関して最高のスタックを獲得しています。 一般に、モバイルアプリの互換性テストの目的は、特定のデバイスでアプリの主要な機能が期待どおりに動作することを確認することです。 互換性自体は数分しかかからず、十分に事前に計画できます。
どのモバイルデバイスの互換性テストを実行するかを決定するのは簡単な作業ではありません(利用可能なすべてのデバイスでのテストは単に不可能であるため)。 そのため、考えられるすべての組み合わせでテストマトリックスを準備し、クライアントが優先順位を付けます。
テストシナリオの例-
- Androidデバイスでフライト検索が正常に実行されることを確認します。
- Apple iPadのフライト検索が正常に実行されることを確認します。
ローカリゼーションテスト
現在、ほとんどのアプリはグローバルに使用するように設計されており、言語、タイムゾーンなどの地域のトレイルに注意することが非常に重要です。 誰かがタイムゾーンを変更した場合、アプリの機能を検証することが重要です。 西洋のデザインが東の国からの観客とうまく機能しない場合があり、その逆もあることを考慮に入れる必要があります。
テストシナリオの例-
- 別の言語(英語以外の言語など)でモバイルアプリを使用する場合、UIまたはデータの切り捨ての問題がないことを確認します。
- モバイルアプリケーションのタイムゾーンの変更が適切に処理されることを確認します。
臨床検査
通常、ネットワークキャリアが実施する実験室テストは、完全なワイヤレスネットワークをシミュレートすることによって行われます。 このテストは、モバイルアプリケーションが音声および/またはデータ接続を使用していくつかの機能を実行する際の不具合を見つけるために実行されます。
テストシナリオの例-
- お客様がサポートスタッフとボイスチャットを行っている間、不具合がないことを確認します。
性能試験
モバイルパフォーマンステストは、クライアントアプリケーションのパフォーマンス、サーバーのパフォーマンス、およびネットワークのパフォーマンスを対象としています。 パフォーマンステストシナリオがこれらすべての領域をカバーすることを確認することが重要です。 パフォーマンステストツールを使用すると、既存のネットワーク、サーバー、およびサーバー側アプリケーションのボトルネックを特定することは難しくありません。事前に定義された負荷とトランザクションミックスがあります。
テストシナリオの例-
- フライト利用可能チェックに妥当な時間しかかからないことを確認します。
- フライトの空席状況を確認している間、モバイルが正常に動作し、ハングしないことを確認します。
ストレステスト
ストレステストは、機能およびユーザーインターフェイスのテスト中に見過ごされる可能性のある例外、ハング、およびデッドロックを見つけるために不可欠です。 ここにストレステストの基準のいくつかのリストがあります-
- アプリケーションに可能な限り多くのデータをロードして、そのブレークポイントに到達しようとします。
- 同じ操作を何度も繰り返します。
- さまざまな速度で繰り返し操作を実行します–非常に迅速または非常にゆっくり。
- アプリケーションを長時間実行したままにして、デバイスと対話してアイドル状態にするか、スライドショーなどの長い時間を要する自動タスクを実行します。
- 画面のタップとキーストロークをアプリケーションにランダムに送信します。
- デバイスで複数のアプリケーションを実行して、アプリケーションと他のデバイスアプリケーションを頻繁に切り替えられるようにします。
テストシナリオの例-
- 1000人のユーザーがモバイルアプリにアクセスして国内便を検索していることを確認します。
- 1000人のユーザーがモバイルアプリにアクセスして国際便を検索していることを確認します。
セキュリティテスト
ハッキング、認証、および承認ポリシー、データセキュリティ、セッション管理、およびその他のセキュリティ標準に対する脆弱性は、モバイルアプリのセキュリティテストの一環として検証する必要があります。 ネットワーク経由でユーザーを認証する場合、アプリケーションはユーザー名とパスワードを暗号化する必要があります。
セキュリティ関連のシナリオをテストする1つの方法は、OWASP Zed Attack Proxyなどのプロキシサーバーを介してモバイルのデータをルーティングし、脆弱性を探すことです。
テストシナリオの例-
- 2つの異なるモバイルデバイスで同じユーザー資格情報でアプリケーションが動作しないことを確認します。
- 15分以上非アクティブなままの場合、セッションが自動的に期限切れになることを確認します。
メモリーリークテスト
モバイルデバイスのメモリは他のコンピューターと比較して非常に限られています。また、モバイルオペレーティングシステムには、過剰なメモリを使用してユーザーエクスペリエンスを低下させるアプリケーションを終了するデフォルトの動作があります。
メモリテストは、モバイルアプリケーションにとって非常に重要であり、各アプリケーションがユーザーの旅を通じて最適化されたメモリ使用量を維持することを保証します。 システムアーキテクチャはエミュレータと実際のデバイスでは異なるため、実際のターゲットデバイスでメモリテストを実施することをお勧めします。
テストシナリオの例-
- フライトの可用性チェックを10回行い、チェックごとに増加するメモリ使用量を書き留めます。
- アプリケーションを10分間実行し続け、メモリ使用量が安定しているかどうかを観察します。
消費電力テスト
さまざまなモバイルデバイスで使用されるバッテリーにはいくつかの種類があります(つまり、 ニッケルカドミウム/リチウムイオン/ニッケル金属ハイブリッド)。 消費電力のテストに重点を置いていますが、各アクティビティレベルでバッテリーの状態を測定する必要があります。 これにより、個々のアプリケーションの消費電力をよりよく理解できます。
消費電力テストは手動で実行できます。また、Trepn Profiler、Power Tutor、Nokia Energy Profilerなど、無料のツールも市場で入手できます。 これらは、スマートフォンまたはタブレットでリアルタイムの電力消費量を表示できるアプリケーションです。
テストシナリオの例-
- モバイルアプリを使用してフライトの空き状況を検索し、消費電力が最小限であることを確認します。
- モバイルアプリを理想的な状態に保ちます。アプリでアクティビティが発生していないときに電力消費がないことを確認します。
割り込みテスト
アプリケーションは、機能している間、着信コールやネットワークカバレッジの停止や回復など、いくつかの中断に直面する可能性があります。 これは再び区別することができます-
- 着信および発信SMSおよびMMS
- 着信と発信
- 着信通知
- バッテリーの取り外し
- データ転送のためのケーブルの挿入と取り外し
テストシナリオの例-
- フライトの可用性チェックが一時停止され、着信コールを受信した後に再開されることを確認します。
- ユーザーがアプリの使用中に通話を拒否し、その後同じアプリを再開できることを確認します。
ユーザビリティテスト
ユーザビリティテストは、対象読者のために次の3つの基準に基づいてアプリケーションを評価します-
- 効率-特定のユーザーが特定の環境で特定の目標を達成できる精度と完全性。
- 有効性-達成された目標の正確さと完全性に関連して費やされたリソース。
- 満足度-ユーザーおよびその使用により影響を受ける他の人々に対する作業システムの快適さと受容性。
アプリケーション設計の初期段階からユーザビリティテストを実施することは非常に重要であり、アプリケーションが完了したときにのみ実行すべきではありません。 ユーザビリティテストには、ユーザーの多大な関与が必要であり、出力はアプリケーション設計に影響を与える可能性があり、プロジェクトの後の段階で変更することは非常に困難です。
テストシナリオの例-
- 空席状況の確認はホームページで行う必要があります。
- スポンサー広告は、コンテンツの途中に表示しないでください。
設置テスト
インストールテストでは、ユーザーが問題に直面することなく、インストールプロセスがスムーズに進むことを確認します。
テストシナリオの例-
- インストールプロセスがスムーズで、時間がかからないことを確認します。
- エンタープライズアプリストアからインストールが成功したことを確認します。
アンインストールテスト
アンインストールテストの基本は、「アンインストールを行うと、アプリに関連するデータが一気に消去されるはずです」と1行で要約できます。
テストシナリオの例-
- すべてのアプリケーション関連ファイルがアンインストール後に正常に削除されることを確認します。
- メディアファイルを保存するアプリ(WhatsappやFacebookなど)の場合、アプリのアンインストール後もファイルを保持します。
更新テスト
モバイルアプリの更新には非常に注意する必要があります。 更新後、アプリケーションが十分に機能しないことを頻繁に訴えます。 そのため、更新テストの下で、アプリが以前と同じように機能することを確認することが非常に重要です。 簡単に言えば、何も壊してはいけません。 モバイルアプリケーションの更新は、*自動更新*と*手動更新*の2つの方法で実行できます。
テストシナリオの例-
- 自動更新後にアプリケーションが正常に動作することを確認します。
- 更新の進行状況が適切に表示されることを確認します。
認定試験
コンプライアンスの証明書を取得するには、各モバイルデバイスが異なるモバイルプラットフォームによって設定されたガイドラインに対してテストされる必要があります。
テストシナリオの例-
- アプリケーションがiPhoneにインストールされたときにiOS電話のポリシーに準拠していることを確認します。
- Androidにインストールした場合、アプリケーションがAndroidスマートフォンのポリシーに準拠していることを確認します。