field testing mobile applications importance
フィールドテスト–モバイルアプリケーション:
多くの場合、モバイルアプリケーションをテストしているときに、疑問が浮かびます。 「自動化テスト、回帰、負荷、Webサービスのテストでアプリに十分かどうか、それとももっと何かをテストする必要がありますか? '
このチュートリアルでは、フィールドテスト、その重要性、戦略についての深い洞察を提供し、いつ実行する必要があるかについても説明します。
自動化、Webサービス、ロードなどのこれらすべてのテストが「社内」テストカテゴリに分類されるため、それで十分な場合もあれば、そうでない場合もあります。しかし、エンドユーザーの役割を暗示したい場合は、実行する必要のあるテストのタイプがもう1つあり、それは他にありません。 「フィールドテスト」 。
名前自体が示すように、強力なWifiゾーンから出て、2G、3G、または4Gネットワークを使用してアプリケーションのユーザビリティを確認する必要があります。車を運転したり、散歩したり、家に座ったりしながら、快適にアプリを使ってみてください。
モバイルアプリケーションのテストの基本情報については、次のチュートリアルを参照してください。
学習内容:
- モバイルアプリケーションテストの分類
- iOSおよびAndroidのフィールドテストの重要性
- フィールドテストはどのように影響を受けますか?
- フィールドテストの戦略
- アプリのフィールドテストはいつ行うのですか?
- フィールドテストで検証できるテストの例
- 結論
- 推奨読書
モバイルアプリケーションテストの分類
モバイルでWebアプリケーションをテストする場合、テストの種類は、ラップトップやコンピューターの場合と同じです。たとえば、機能、UI、境界、負荷などです。ただし、ハイブリッドかネイティブかに関係なく、モバイルアプリケーションのテストでは非常に初期のレベルで2つのカテゴリに分類されます。
彼らです:
- 社内テスト
- フィールドテスト
これら2つのカテゴリの違いの根拠は、なりすましている役割です。 要件に照らしてアプリを検証するためのQAとしてテストしていますか、それともニーズを満たすためにエンドユーザーとしてアプリを使用していますか?
以下に、両方の違いをいくつか示します。
社内テスト | フィールドテスト |
---|---|
このテストは、アプリケーションが機能、スケーラビリティ、使いやすさなどの点で規定された要件を満たしていることを確認するために、初期段階からリリース段階まで実行されます。これは、顧客から提供されたユーザーストーリーまたはプロジェクト要件ドキュメントに対して実行されます。 | このテストは、アプリケーションのリグレッションが実行され、リリース前に「チーム」によってアプリケーションが安定していると呼ばれる最後のフェーズで実行されます。これには、お客様からの要件がある場合とない場合があります。 |
テストの種類には、機能、回帰、UI、パフォーマンス、自動化が含まれます。 | テストの種類には、主にアプリケーションの機能と使いやすさが含まれます。 |
このテストは、WiFiネットワークとモバイルネットワークの両方で行われます。 | これはモバイルネットワークで厳密に行われます。 |
テストラボは、部屋またはQAの机の上に作成されます。 | QAは、歩き回ったり、家にいたり、運転したりしながら、外に出てテストする必要があります。 |
テストはエミュレーターまたはシミュレーターで実行できます。 | テストは実際のデバイスでのみ行われます。 |
iOSおよびAndroidのフィールドテストの重要性
上で説明したように、フィールドテストは、エンドユーザーとしてのアプリケーションの動作または使いやすさを検証するために行われます。これは基本的に、携帯電話のモバイルネットワーク上で、通りや市場を歩き回ったり、車を運転したり、家にいるだけで行われます。
( 画像ソース )
今日の世界では、いつでもどこでもモバイルアプリを使用しており、家で買い物をしたり、チケットを予約したり、メールをチェックしたり、市場に立って近くの場所/レストラン/モールを探したり、検索して場所に車を運転したりしています。マップ。
モバイルアプリケーションは今や私たちの日常生活の一部になっています。
以下は、社内だけでなくフィールドでモバイルアプリをテストする必要性を説明するいくつかの例です。
- 特にインドでは、毎回強力なWi-Fiやホットスポットを利用する必要はありません。したがって、携帯電話のモバイルネットワークに依存する必要があります。
- カバレッジの問題に直面する場所があり、電話の範囲は中または低になります。これは、移動性の低いタワーが原因であるか、木で密に覆われていることが原因である可能性があります。私の家では、いつもイライラしているドローイングやダイニングルームでこの問題に直面しています。
- 車を運転していて、メールにアクセスしたり、知らない場所への道順を調べたりする必要がある可能性があります。
- 私たちが休暇に出かけるとき、私たちは都市や場所についての(すべての)情報を持っていません。私が休暇で家族と一緒に旅行するとき、私たちはいつも一人で行き、レストランや訪問する場所など、街について見つけるためにアプリを使用します。
- 今日、私たちは常に現金を使用するのではなく、PayTm、PayZAppなどのアプリを使用したオンライン転送を好みます。
- どこでもチャットアプリ、YouTubeなどを使用します。
これらは、モバイルアプリの使用法を定義するリアルタイムの例の一部です。したがって、アプリをフィールドでテストすることが重要になります。ターゲットオーディエンスは、どこでもホットスポットまたはWi-Fiを利用できる発展途上国にいる可能性があります。
ただし、それでも、次の理由から、アプリのフィールドテストを少なくとも1回実行する必要があります。
1) 車を運転しているとき、または距離の狭い場所を歩いているときや座っているときにアプリをテストすると、データの送信または取得中にアプリにクラッシュの問題があるかどうかを知ることができます。
アプリの最初のリリースでアプリのログイン自体がクラッシュしました。3Gを搭載した電話でテストしました。それでも、ログインがタイムアウトしてクラッシュしました。
二) 読み込み中の記号が5分以上表示されるのを見ると、ユーザーはそれを嫌います。サーバー、Webサービス、およびアプリが情報をロードするのにかかる応答時間を確認することは非常に重要です。
これらは、フィールドテストで検証される2つの重要なポインターであり、これは、アプリが本当に安定していることを確認するのにも役立ちます。
フィールドテストはどのように影響を受けますか?
フィールドテストはハイブリッドまたはネイティブの方法の影響を受けますか?
この質問に答える前に、まずハイブリッドアプリとネイティブアプリの基本的な説明をしましょう。
ハイブリッドアプリ:
これらは基本的にネイティブラッパーにパッケージ化されたWebアプリであり、主にクロスプラットフォームアプリケーションの開発に使用されます(AndroidとiOSのコードベースを同じに保つため)。それらはネイティブアプリのように見えますが、実際には、ユーザーがページをナビゲートするときに情報が読み込まれます。
ネイティブアプリ:
これらは、OSの機能を最大限に活用したOS向けに特別に開発されたものです。アプリの起動時に、すべての情報が一度に読み込まれます。
( 画像ソース )
私はハイブリッドアプリとネイティブアプリの両方のテストに取り組んできましたが、QAとして、両方のテストが私のアプリにとって重要でした。ハイブリッドアプリとネイティブアプリには違いがあります。ネイティブアプリとは異なり、ハイブリッドアプリはGPSや位置情報など、スマートフォンの機能を直接使用しません。ハイブリッドアプリは、プラグインを介してスマートフォンまたはOSの機能を使用します。
経験豊富なqtp面接の質問と回答
ネイティブアプリのメジャーリリースごとに、スマートフォンとOSの機能を使用しているため、フィールドテストを実行する必要があると強く感じています。
フィールドテストを実行すると、アプリのパフォーマンスが示されます。それは、電話がハイエンドかローエンドか、アプリケーションのパフォーマンス、安定性、使いやすさを示します。
メジャーリリースごとにフィールドテストを行うもう1つの理由は、ネイティブアプリを新しいバージョンのOSで更新する必要があることです。したがって、ハイブリッドアプリと比較すると、ネイティブのバージョンは多いか、新しいOSバージョンがリリースされた場合は、アプリの機能に変更がない場合でもフィールドテストが必要になります。
フィールドテストの戦略
フィールドテストの戦略はどうあるべきですか?
フィールドテストの場合、理解しておくべき最も重要なステップは、アプリの主要な機能に対するネットワークまたはデータの影響です。したがって、機能について開発チームと徹底的に話し合ってください。
以下は、フィールドテストの戦略を決定するための指針です。
1) QAとしての主要なステップは、テストケースに「フィールドテスト」のタグを付け、そのスイートを作成することです。スイートについてBAおよびQAチームと話し合い、スイートに追加するものがあるかどうかを確認します。
二) アプリとユーザーの目的に応じて、アプリをどのように、いつ、どこで使用できるかについて、いくつかの個別のテストケースを作成します。社内テストのためにこれらを実行する必要がない場合があります。
3) アプリが回帰テストに合格し、機能上の問題が発生していない場合にのみ、フィールドテストに進みます。
4) 最初のリリースでは、テストケースのすべての詳細、実行者、テストされた領域、および報告されたバグを含むドキュメント(チャート)を作成します。作成したら、これを将来のリリースで使用できます。
5) フィールドテストにはハイエンドデバイスとローエンドデバイスを使用し、同じOSを維持しようとします。これは、見つかったバグの分析に役立ちます。フィールドテストではバグが見られることがありますが、社内テストでは見られません。
6) 4〜5人のチームを作成し、さまざまな領域でフィールドテストを実施してもらいます。運転中やデータ範囲の狭い場所で、アプリを使用してみてください。マネージャーのBAをフィールドテストに参加させることもできます。
7) 見つかったバグに「フィールドテスト」のようなタグを付けてください。将来のリリースを簡単に参照できます。
8) アプリがジオロケーションを送信している場合は、機能を徹底的にテストしてください。同じものに関連するすべてのテストケースを実行することをお勧めします。
バグや欠陥を見つける必要はなく、テストはスムーズに実行される可能性があります。私の経験によると、パフォーマンスとそれに応答するのにかかる時間に焦点を合わせてください。前述のように、「読み込み中」画面は、ユーザーがアプリを使用するのを思いとどまらせます。
アプリがZomato、Jabong、BookMyShowなどの商用アプリの場合は、20〜25人のユーザーがアプリをヒットしたときのアプリのパフォーマンスを示すため、20〜25人のチームを使用してフィールドテストを実行してみてください。
アプリのフィールドテストはいつ行うのですか?
すべてのアプリをフィールドテストする必要はありませんが、実際のシナリオでのアプリのパフォーマンスを示すため、フィールドテストを行うことを常に個人的にお勧めします。 BA、スクラムマスターまたはマネージャー、および製品の所有者が気付いていない、または興味がない場合は、これについて話し合うことができます。 QAとして、フィールドテストの必要性についてポイントを教えてください。
フィールドテストは、アプリの回帰テストが実行され、リリースの機能が実装され、バグが検証され、修正され、最も重要なこととしてアプリが安定した後にのみ実行する必要があります。
フィールドテストの重要な要素は次のとおりです。
- アプリの最初のリリース: 最初のリリースでアプリの詳細なフィールドテストを行うことは大きな利点です。アプリはまだPlayストアにアクセスしていないため、通常のユーザーのようにアプリを使用して、あなたとあなたのチームがパフォーマンスを分析するのに役立ちます。
- アプリはネイティブです: 前述のように、フィールドテストは、ネイティブアプリが電話とOSの機能を使用するため、リリースごとに必須です。
- 新しいOSバージョンがリリースされたとき: 新しいOSバージョンがリリースされたら、アプリが安定していて互換性があり、新しいOSに対して適切に機能するかどうかを確認する必要があります。
- 新機能または変更された機能のメジャーリリース: 新しい機能が導入されたり、既存の機能が更新されたりした場合は、フィールドテストを実行して、アプリのパフォーマンスに影響がないことを確認することをお勧めします。
- ルーチンテストの一部としてのフィールドテスト: モバイルアプリのフィールドテストは、回帰や自動化などの日常的なテストと同じように扱う必要があり、無視してはなりません。アプリが安定している場合や、アプリを1〜2年以上使用している場合でも、メジャーリリースが発生するたびにフィールドテストを実行してください。
フィールドテストで検証できるテストの例
私たちが私たちの周りや特定の地域のレストランを検索するために使用するZomatoのアプリを考えてみましょう。
以下に、フィールドテストに使用できるテストケースの例をいくつか示します。
#1) 基本的で最初のステップは、私が顧客として行うログインです。
ここで、まず、選択したFacebookまたはGoogleアカウントでログインするのに1分以上かかることはありません。次に、ログインした瞬間に、電話のGPSをオンにする許可を求められるはずです(それはオフです)そうでなければ、私の検出された場所のレストランリストをロードする必要があります。
上記は、最初のテストで実行する2つの重要な検証です。
#二) 場所を変更するとレストランリストが更新されることを確認し、外出中にこのテストを試してください。リストが更新され、レストランのカードに問題のない写真が表示されるはずです。
#3) 車を運転している間も上記のテストケースを確認してください。
#4) アプリのエンドツーエンドのフローを(道路を歩きながら)確認します。つまり、ログイン、場所の検索、レストランへの食べ物の注文から直接確認します。ご注文の詳細がレストランに正常に送信されます。
#5) 車を運転しながら、上記と同じテストケースを実行します。
#6) 3Gで(データモードを3Gに変更して)「テーブルの予約」のエンドツーエンドのフローを確認します。つまり、場所を再度変更し、リストからレストランを選択してテーブルを予約します。
# 7) クーポンをお持ちの場合は、Zomatoに食べ物を注文する際に正常に使用できるかどうかを確認してください。
#8) (歩きながら)レストランのフィードバックを正常に書き込むことができるかどうか、フィードバックがレビューのためにレストランに送信されるかどうか、または少なくともレストランのレビューリストに表示されるかどうかを確認します。
これらは、アプリの基本的な使用法を定義する際のテストケースの例の一部であり、フィールドテストでテストする必要があります。ここでは、電話モデル(ハイエンドまたはローエンド)とネットワークのタイプ(2G、3Gなど)のマトリックスを作成し、同じテストケースを実行することもできます。
結論
すべてのモバイルアプリケーションは、回帰テスト、バグ検証、ストレスまたは負荷テストに合格するだけでなく、フィールドテストにも合格した場合にのみ、安定して高速であると呼ぶことができます。
モバイルアプリケーションテストの面接の質問と回答
フィールドテストは、可能な範囲ですべてのリリースに対して実行する必要があります。モバイルアプリケーションの場合、フィールドテストはテストサイクルの一部であり、回避したり、軽視したりしないでください。
フィールドテストは、最初のリリースでのアプリのパフォーマンスを定義する上で非常に重要な役割を果たします。チームがこれに気付いていない場合は、チームにそのこととその必要性について説明してください。
次のチュートリアルでは、「 最新の電話または最新のOSのテスト '。