公開日:30、2020
Webおよびアプリのパフォーマンステストのチェックリスト
ビジネス価値を提供することは、Experitestと親会社にとっての使命です。 Digital.ai私たちは共に、革新的なデジタル体験を通じて顧客の信頼を築くことに関心を持っています。組織全体の活動範囲は、 バリューストリーム管理 VSMとは、ご存知の通り、お客様が完璧なウェブアプリやモバイルアプリを提供できるよう支援するプロセスです。その方法の一つとして、 性能試験 これが私がこのパフォーマンス テスト チェックリストを作成した理由ですが、まず最初に。
多分野にわたる専門家チームは、クライアントと密に連携し、現場の声を力強いメッセージへと変換します。子どもの保護やGBV、気候変動からビジネスと人権まで、多様な分野で政策を動かし、具体的なアクションを呼び起こす資料を構築します。 継続的テストプラットフォーム 主なターゲットは 2 つあります。
- クラウド内の実際のデバイス上で、数百の手動テストまたは自動テストを並行して作成および実行します。
- 自動化 クロスブラウザテスト 1,000 種類以上のブラウザの種類、バージョン、オペレーティング システムで Selenium テストを実行します。
「でも待ってください」と、ロン・ポピエルの真似をして叫んでいるのが聞こえてきそうです。「まだあるんです」。その通りです。たとえそこまでのテストをすべて行ったとしても、アプリがデバイスのメモリやバッテリーを無駄遣いしていたら、アプリストアにリリースした途端、失敗に終わってしまいます。そこで、パフォーマンステストのチェックリストをご用意しました。
パフォーマンステストとは何ですか?
ウェブアプリとモバイルアプリのパフォーマンステストとは、特定のワークロードを用いて、アプリの速度、応答時間、信頼性、安定性、そしてスケーラビリティをテストするプロセスです。目指すべき結果は、ウェブアプリとモバイルアプリにおけるパフォーマンスのボトルネックを解消することです。一部の業界では、このテストは俗語で「パフォーマンステスト」と呼ばれています。これは、発泡スチロール製の弾丸を発射するおもちゃの銃のテストと混同しないように注意してください。おもちゃの銃はNerfテストと呼ばれます。
パフォーマンス テストでは、次の点に重点が置かれます。
- 速度 – アプリの応答速度。
- 安定性 – 負荷ストレス下でのアプリの安定性。
- スケーラビリティ – 問題なく一度にアプリケーションをロードできるユーザーの最大数。
パフォーマンスがなければ、パフォーマンスのボトルネックを解消するためのテストが行われず、Web アプリやモバイル アプリは、アクセスするユーザーが多すぎると動作が遅くなったり、使い勝手が悪くなったり、異なる OS 間で操作に一貫性がなくなったりする可能性があります。
以下は提供された統計データです。 ダン&ブラッドストリート パフォーマンス テストの重要性を示します。
- フォーチュン500企業では、週に約2時間のダウンタイムが発生しています。これは年間約46万ドルに相当します。
- Google は 2013 年に 5 分間クラッシュし、550 万ドルもの損害を被りました。
- 最近の AWS の障害により、企業は 1 秒あたり最大 1100 ドル相当の売上を失いました。
この重要な情報を踏まえて、パフォーマンス テストのチェックリストを見てみましょう。まず、テストが必要なさまざまなパフォーマンス領域から始め、それぞれの例を示します。
パフォーマンステストの種類

負荷テスト – 非機能的なWebと モバイルアプリのテスト アプリに想定される特定の負荷下でパフォーマンスを測定します。このタイプのパフォーマンステストでは、Webアプリまたはモバイルアプリが多数の異なるユーザーから同時にアクセスされた場合の動作を特定します。負荷テストの目的は、アプリのパフォーマンスボトルネックを解消し、同時にリリース前にアプリの安定性と機能性を向上させることです。
- 負荷テストの例 – 新型コロナウイルス感染症の影響で、何百万人もの人々がフライトを変更しようとしたため、航空会社ではアプリのクラッシュが頻繁に発生しました。
ストレステスト – これは負荷テストの次の段階です。想定される負荷下でアプリがどのように動作するかを確認するのではなく、ここではアプリのブレークポイントを見つけるまで負荷を積み重ねていきます。アプリのブレークポイントを見つけるためにストレステストを行う必要があります。
- ストレステストの例 – 負荷能力のアップグレードに取り組んでいる航空会社は、アプリの定格負荷である 2,000 ではなく、2,500 の負荷でアプリをテストします。
耐久試験 – ソークテストとも呼ばれる耐久テストは、Webアプリやモバイルアプリが想定されるピーク負荷でどれだけの時間動作できるかを検証します。メモリリークなどの問題の発見に役立ちます。
- 耐久テストの例 – ある会計会社は、確定申告を支援するアプリを提供しています。このプロセスには長い時間がかかるため、同社はアプリが正常に動作することを確認するために、24~48時間の耐久テストを実施しています。
スパイクテスト – 急激なユーザー増加時にWebアプリまたはモバイルアプリがどのように機能するかをテストします。さらに、アプリがこのような急激なトラフィック増加からどのように回復するかを理解するのに役立ちます。
- スパイクテストの例 – ソーシャルメディアアプリは、バイラルニュースが広まるとトラフィックの急増を経験します。スパイクテストを用いて、バイラルニュース体験をシミュレートしています。
ボリュームテスト – これは、Webアプリまたはモバイルアプリのデータベースに大量のデータを追加することで実現されます。目的は、異なるデータベースボリュームでアプリがどのように動作するかを確認することです。
- ボリュームテストの例 – ある小売アプリは、新シーズンに向けて数百点の新しい衣料品を追加する必要があります。その情報をすべてデータベースに入力し、パフォーマンステストを実行します。
パフォーマンステストで測定されるメトリックの種類
こうした様々な種類のパフォーマンステストは、デバイスを監視し、様々な指標を測定することで実施しています。これらの指標は、Webアプリとモバイルアプリの改善方法を示す指標となります。詳細を説明する前に、少し説明させてください。
- 波形パラメータ計測 – アプリから収集されるすべてのデータ。
- メトリック – 測定値を使用して結果の品質を定義します (平均/合計応答時間など)。
速度、安定性、スケーラビリティを測定する方法のパフォーマンス テスト チェックリストを以下に示します。
- 反応時間 – リクエストを送信して応答を受信するまでにかかる時間。
- 待ち時間 – リクエストを送信してからバイト#1を受信するまでにかかる時間。平均レイテンシとも呼ばれます。
- 平均読み込み時間 – リクエストの配信に要した平均時間。UXの観点から見たアプリの品質を示す主要な指標です。
- ピーク応答時間 – リクエストの処理にかかる最長時間の測定。この時間が平均よりも長い場合は、問題が発生している可能性があります。
- エラー率 – エラーが発生したリクエストの割合を全リクエストと比較することで、この数値を算出します。これらのエラーは通常、負荷容量の超過によって発生します。
- 同時ユーザー – 常時アクティブユーザーの総数。ロードサイズとも呼ばれます。
- 1秒あたりのリクエスト数 – 処理されたリクエストの数
- 成功/失敗したトランザクション – 成功したかどうかに関わらず、リクエストの合計数。
- スループット – テスト中に使用された帯域幅の量。KB/秒単位で測定されます。
- CPU使用率 – CPU がリクエストを処理するのにかかる時間。
- メモリ使用率 – リクエストを処理するために必要なメモリ。
Webおよびモバイルアプリのパフォーマンスをテストするためのツール
CIパイプラインの一環として、パフォーマンステストを早期かつ継続的に実装するのに役立つツールは数多くあります。これらのツールは、優れた顧客体験を備えた高品質なソフトウェアの提供に役立ちます。
こうしたツールの数が増え、それらを区別することが難しくなっているため、私たちは単にツールに焦点を当てることになります。
SeeTestのパフォーマンステストサービス モバイルおよびWebパフォーマンステストをテスト自動化スイートに追加できます。モバイルとWebのパフォーマンステストを活用することで、パフォーマンスの問題の原因を早期に発見できます。これにより、配信の遅延を防ぎ、ユーザーが問題に気付く前に対処できます。
当社のツールは、次のようなパフォーマンス データの詳細な測定も提供します。
- 取引期間
- 速度指数
- CPU消費
- メモリ消費量
- バッテリー消費量
- ネットワークデータ(アップロードとダウンロード)
このパフォーマンステストチェックリストで価値を実現
パフォーマンステストは、Webアプリやモバイルアプリが様々な状況でどのように動作するかを明らかにするのに役立ちます。確かに100万人のユーザーが同時に実行している状況では問題なく動作するかもしれませんが、10万人以上のユーザー数ではどうでしょうか?高速で安定した、そしてスケーラブルなアプリエクスペリエンスを提供したいという思いが、パフォーマンステストの原動力となっています。
最後に、アプリパフォーマンステストがWebアプリとモバイルアプリのリリースにどのように役立つかを上記で説明しました。実のところ、この種のテストは開発プロセスの早い段階で実施するべきです。これにより、バグを早期に発見し、ひいては満足度を高めながら、時間とコストを節約することができます。