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