モバイル アプリのパフォーマンス テスト
どのモバイル アプリにとっても、パフォーマンスは非常に重要です。 モバイル アプリのパフォーマンスが低い場合、エンド ユーザーはアプリをアンインストールし、よりパフォーマンスの高い別のアプリケーションを見つけます。
モバイル アプリケーションは、エンド ユーザーにリリースする前に徹底的にテストする必要があります。
モバイルアプリケーションのテスト戦略
携帯電話やスマートデバイス上のアプリケーションのパフォーマンスは、通常、次の 3 つのカテゴリで測定されます。
- デバイスのパフォーマンス
- サーバー/APIのパフォーマンス
- ネットワークパフォーマンス
デバイスのパフォーマンス
アプリの動作が遅いと、クライアントはイライラしてしまいます。
デバイスのパフォーマンスについては、次の点を確認します。
- アプリの起動アプリの起動にどれくらい時間がかかりますか? これは、ユーザーが判断する最初のパフォーマンスパラメータです。 経験則として、ユーザーがアプリのアイコンをタップした後、1 ~ 2 秒以内に最初の画面が表示されるはずです。
- アプリ使用時のバッテリー時間一部のモバイル アプリを継続的に使用すると、バッテリー寿命が大量に消費され、携帯電話が発熱します。 この要因により、モバイル アプリのパフォーマンスが大幅に向上し、通常、アプリが必要以上のリソースを使用しているときに発生する可能性があります。 リソースを過剰に使用するとプロセッサに負担がかかり、電話機が熱くなります。
- メモリ消費量日時 テスト アプリを使用する場合は、アプリによるメモリ消費量を確認する必要があります。アプリに特定の機能を実装すると、メモリ消費量も増加します。たとえば、 Android アプリにプッシュ通知が実装されると、メモリ消費量が増加します。
場合によっては、OS 全体のメモリ使用量がわずか 14% であるにもかかわらず、新しいアプリが 11% を消費していることが観察されています。 したがって、アプリを現実世界に展開する前、またはクライアントに提供する前に、これらの要素を処理する必要があります。
- ハードウェア/ソフトウェアのバリエーションモバイル アプリをテストするときは、さまざまなデバイスでアプリを確認することが必須です。あるデバイスではアプリがスムーズに動作しても、別のデバイスではスムーズに動作しない場合があります。さまざまなベンダーと同様に、 Android デバイスでは、Samsung、HTC、Lenovo の携帯電話でアプリを確認できます。同様に、アプリは 1 GB や 2 GB などのさまざまな RAM とプロセッサ仕様でテストする必要があります。
- 他のアプリとの併用テスト対象のアプリが他のアプリと並行して実行されている場合、干渉は発生しないはずです。 それを確認する最良の方法は、テスト中のアプリと他のアプリを切り替えることです。
- バックグラウンド アプリバックグラウンドで実行されているアプリが取得され、以前と同じ状態のままである必要があります。 このシナリオが適切に処理されないと、データが失われます。 ここでも、アプリを取得するときにデータを最初から入力する必要があります。
サーバー/APIのパフォーマンス
アプリが API を介してサーバーと対話する場合、応答時間がパフォーマンスにとって重要になります。 サーバーのパフォーマンスについては、次のことを確認します。
- サーバーとの間で送受信されるデータアプリは、サーバーから送信されるデータを効率的に処理する必要があります。 データのロード中に時間がかかりすぎないようにする必要があります。 特定のアプリでは、データは指定された形式で送信されます。 したがって、アプリで表示する前に、関連する形式に変換する必要があります。 このプロセスでは、アプリの動作が遅くなり、応答時間が長くなることがあります。
- アプリから生成された API 呼び出しテスト対象のアプリから生成されたサーバーへの呼び出しの数は少なくなるはずです。 場合によっては、同じ機能に対して複数の API 呼び出しが行われることがあります。 パフォーマンスを向上させるには、より少ない呼び出し数でこれを処理する必要があります。
- サーバーのダウンタイム何らかの理由でサーバーがダウンしたり、アクセス不能になったりした場合は、ネイティブ データベースにデータを保存できます。そのため、サーバーがダウンしているときはいつでも、ネイティブ データベースに保存されているデータを表示できます。もう 1 つのソリューションは、フェールオーバー データベース サーバーです。つまり、サーバーの 1 つがダウンしたり、メンテナンス フェーズにある場合は、バックアップ サーバーに切り替えて使用できる必要があります。フェールオーバー/バックアップ サーバーは、メイン サーバーと継続的に複製および同期されている必要があります。
ネットワークパフォーマンス
さまざまなネットワークおよびネットワーク プロパティでのアプリのパフォーマンスを測定する必要があります。
ネットワークパフォーマンスについては、次の点を確認します。
- 緊張ネットワーク上で情報を受信する際に遅延がある場合、それはジッターと呼ばれます。 これは、コネクションレス ネットワークまたはパケット スイッチ ネットワークの問題です。 情報がパケットに分散されると、パケットは送信者から受信者まで異なるパスを通過する可能性があります。 データが目的の場所に到着すると、最初に送信されたものよりもスクランブルがかかります。 ジッターの場合、モバイル アプリはそれを処理するのに十分な能力を備えている必要があります。
リクエストを再送信するか、システムが再度応答するまで待つために、エンド ユーザーに適切な通知を表示する必要があります。
- パケットロス パケットが完全に失われた場合、アプリは情報の要求を再送信するか、それに応じてアラートを生成できる必要があります。データが完全でない場合、ユーザーはアプリに表示される情報を理解できません。これはユーザーにとってストレスになる可能性があります。そのため、適切なメッセージを表示するか、ユーザーに再試行を促す方がよいでしょう。
- ネットワーク速度アプリは、可変速度のさまざまなネットワーク上でチェックする必要があります。 アプリは 2.5G、3G、および 4G ネットワークでテストする必要があります。 これには、Wi-Fi とモバイル ネットワークの両方が含まれます。 また、アプリの動作も監視する必要があります。 特に、両方のネットワークが利用可能で、あるネットワークから別のネットワークへの切り替えが発生した場合に発生します。
たとえば、電話ネットワークを 4G から WIFI に、またはその逆に切り替えるときに、ユーザーのアプリで問題が発生する可能性があります。 この場合、アプリは応答しなくなり、使用するにはアプリの再起動が必要になる場合があります。
モバイル アプリケーションのパフォーマンスのトラブルシューティング
問題点を発見した後、 性能試験。 障害を追跡して修正する時期が来ました。
問題 1) モバイルアプリの応答が遅い、または遅い。
この遅延の原因は、RAM、キャッシュなどである可能性があります。
不要なプロセスを強制終了するか、キャッシュをクリアする必要があります。 接続の問題をトラブルシューティングすると、遅延の原因となっている問題の一部が解決される可能性があります。
問題 2) アプリの再起動、ロックアップ、フリーズ、または無応答。
以下の手順で解決できる可能性があります
- アプリケーションコードの最適化
- ソフトウェアにはパッチを適用して更新する必要があります。
- 自動復元
- 外部カード使用時のRAM、場合によってはROMの管理
- キャッシュのパーティション分割を消去する
- アプリが他のサードパーティ アプリや API と連携して動作することを確認する
- デバイスに応じたモバイル アプリケーションのマッピング
便利なモバイルアプリテストツール
モバイルアプリのテストツール デバイスやモバイル OS によって異なります。 一般的なモバイル アプリのパフォーマンス テスト ツールには、次のようなものがあります。
アンドロイド
- ロボティウムまるで Selenium モバイルアプリ向け。 テスターは、テストの実行に必要ないくつかのステップを記録および再生できます。
- モンキーランナーMonkeyRunner は、PC またはエミュレータに接続された実際のデバイスでテストを実行できます。このツールにはAPIがあり、外部からスマートフォンやタブレット、エミュレータを制御することができます。 Android コード。
アップル
- Automator(Mac)Automator は、Apple が OS X 用に開発したアプリケーションです。これは、ポイント アンド クリック (またはドラッグ アンド ドロップ) によるワークフローの作成を実装し、反復的なタスクを自動化してバッチ化し、変更を迅速に行います。 これにより、人間が手動で各ファイルを個別に変更するよりも時間と労力が節約されます。
チャレンジ
パフォーマンス テスト中に直面する主な課題は次のとおりです。
- さまざまなモバイルプラットフォームとそのオペレーティングシステムを整理する
- エッジ、3G、4G、WiFi などの接続をシミュレートします。
- バッテリーやリソースの消費などのモバイルデバイスの制約
- 携帯電話の使いやすさ
- 同じアプリを実行するさまざまなサイズのモバイル デバイス
モバイル アプリのパフォーマンス テスト環境をセットアップする
テスト環境を構成するには、次のことを行う必要があります。
- テストが必要なモバイルアプリの理解
- アプリを実行する必要があるさまざまな OS の識別
- テストセットアップの構築
- エミュレータまたはシミュレータを構築する
- 実際のセットアップのプロトタイピング
- テストに適切なツールの選択
モバイルアプリのパフォーマンステストのチェックリスト
モバイル アプリのパフォーマンスをテストすることは、リリース前の重要な手段です。 パフォーマンステストはチェックのために行われます
- このアプリを利用するにはどれくらいの RAM が必要ですか?
- さまざまなネットワークや状況下でアプリの速度と応答時間を検証します。
- さまざまなネットワーク条件下で現実的なユーザー エクスペリエンスを確保
- 複数の接続の場合に必要な結果が確実に達成されるようにする
- アプリケーションがクラッシュしないようにしてください。
- データ、Wi-Fi、その他の接続を使用しているときにモバイル アプリケーションが適切に動作することを確認する
- 稼働時間とモバイル API 使用のボトルネックの監視
- 同時接続ユーザー数を最大限に確保するため
- 最後に、モバイルアプリを限界までチェックします
製品概要
- パフォーマンス テストには、モバイル アプリ、リソース利用者、仮想ユーザー、エミュレータ、および複数のテスト戦略を理解する必要があります。
- 携帯電話上のアプリのパフォーマンスは、次の 3 つのカテゴリで測定されます。
- デバイスのパフォーマンス
- サーバーのパフォーマンス
- ネットワークパフォーマンス
- パフォーマンス テストの課題には、モバイル デバイスのコンパクトなサイズ、リソースの可用性、コスト計算、予算編成などが含まれます。