多くのテスターの概念では、パフォーマンス テストは Loadrunner や Jmeter などのツールを使用してストレス テストを実行し、テスト結果を取得しますが、よく考えてください。テストは誰のためのものなのでしょうか。テストの目的は何ですか?モニタリング指標とは?得られた結果をどのように分析するか(どのような結果が合格と見なされるか)など。
したがって、ツール圧力テストの使用は、パフォーマンス テストの最も基本的なステップにすぎません.パフォーマンス テストの一般的なプロセスを見てみましょう:
1. ビジネス学習: 要件ドキュメント、PRD およびその他の関連ドキュメントの参照 + 手動操作により、システム機能を理解します。
2. 要件の分析: システムの非機能要件を分析し、パフォーマンス テストの範囲を明確にし、システム パフォーマンス インジケーターを理解します。
3. 作業評価: ワークロードの分解、ワークロードの評価、およびリソース投資の計画 (テスト作業を完了するために必要なハードウェア リソース、人員、および時間)。
4. 設計モデル: 単一のテスト シナリオであろうと混合テスト シナリオであろうと、テスト シナリオとして理解できます。
5. 計画を作成する: テスト計画には、テスト範囲、人員投入、期間、作業内容、リスク評価、リスク対応戦略などを明確に記載する必要があります。
6. テスト環境の準備: サーバーの準備 (テスト対象のシステムの展開)、マシンのロード (圧力テスト ツールのインストール、負荷を生成するマシン)
7. テストデータの準備:テストシナリオ(設計モデル)に従ってデータを準備する
2 つの理由があります。
a) 一部のデータは、システムの操作をサポートするための基礎となります (たとえば、ログイン時に圧力テストを実行する場合は、最初にいくつかの登録済みアカウントを準備する必要があります)。
b) 異なる大きさのデータはパフォーマンス結果に影響します (たとえば、異なる大きさのデータベースからのクエリ結果、時間は異なる必要があります)。準備するデータの大きさについては、実際の状況に応じて設計する必要があります。プロジェクト;
8. 開発スクリプト: テスト シナリオおよびテスト ケースに従って、テスト スクリプト (記録または手動で作成) を開発します。
9. テストの実行: テストを実行します。
10. 欠陥管理: テスト プロセスで見つかった欠陥を追跡します。
11. パフォーマンス分析: パフォーマンス テストの結果を分析して、期待される目標が達成されているかどうかを確認し、達成されていない場合は理由を見つけます。
12. パフォーマンスの調整: 前のステップの分析に従って、システムの最適化を試みます。
13.テストレポート:テスト作業の要約、テスト結果の報告、見つかった問題など。
14. レビュー: パフォーマンス レポートの内容をレビューし、問題を確認して、オンラインになるリスクを評価します。パフォーマンス テストの結果が理想的でない場合もありますが、時間とコストを考慮して開始し、後で迅速に反復します。
パフォーマンス テストの成果物:
-
テスト計画
-
テストスクリプト
-
テストプログラム
-
テストレポート
1. 性能試験の成功要因
性能テストは、始めるのが難しい.テスト、開発、運用と保守、需要調査、アーキテクチャ、調整と管理などの総合的なスキルを統合する分野です.テストツールを習得することは、最も基本的なステップにすぎません.
パフォーマンス テストにはいくつかの問題があります。
-
需要分析
-
シーンデザイン
-
パフォーマンスの診断とチューニング
-
環境構築とシミュレーション
2. パフォーマンス テストで一般的に使用される用語
(1)負荷: 100 人のユーザーが同時にログインすることをシミュレートするなど、サーバーに圧力をかけるユーザー操作のプロセスをシミュレートします。
(2)パフォーマンス テスト: 指定された負荷条件下で、システムのパフォーマンス指標 (応答時間、スループットなど) が要件を満たしているかどうか。
(3) 載荷試験:
特定のハードウェア環境を前提として、パフォーマンス インデックスを満たすという条件の下でサポートできる同時ユーザーの最大数は、負荷を継続的に増加させることによって決定されます (異なる仮想ユーザー数)。簡単に言えば、システムのボリュームを定量化し、システム パフォーマンスの変曲点を見つけ、環境計画を生成するための提案を提供するのに役立ちます。
ここで言及されているパフォーマンス指標には、次のものがあります。
-
TPS (1 秒あたりのトランザクション数)
-
RT (平均トランザクション応答時間)
-
CPU Using (CPU 使用率)
-
Memory Using (メモリ使用率) など
(4) 応力/強度試験:
特定のソフトウェアおよびハードウェア環境では、サーバー リソース (サーバー リソース重視、ハードウェア リソース重視) が高負荷によって制限状態になります. テスト システムは、制限状態の下で長時間非常に安定して動作します. 決定する指標安定しているかどうかには、TPS、RT、CPU 使用率、メモリ使用率などが含まれます。
(5) 安定性試験:
特定のソフトウェアおよびハードウェア環境で、特定の負荷を長時間実行して、パフォーマンス指標を満たす前提でシステムが安定して動作するかどうかを判断します。上記の圧力/強度試験との違いは、負荷が限界状態で、通常は目標負荷の 1.5 ~ 2 倍の負荷がテストに使用されることを強調していないことです。
(6) TPS: 1 秒あたりのトランザクション完了数
トランザクションとは、操作の集まりを指します。トランザクションには、さまざまなシナリオでのさまざまな操作が含まれます。この概念については、後で例を挙げて紹介します。
(7) RT: 応答時間
これは、トランザクションが完了するまでにかかる時間を指します.この値をより代表的にするために、平均値、つまりARTが計算されますが、一般的に言えば、RTは平均応答時間を指します.
(8)PV(Page View):ユーザーが1秒間にページを訪れた回数
このパラメーターは、1 秒あたり平均何人のユーザーがページにアクセスしたかを分析するのに役立ちます
(9) Vuser (Virtual User): 仮想ユーザー
実際のユーザーを模倣して操作するために使用されます。
(10)コンカレンシー(並行性):
- 狭義の並行性:仮想ユーザーは、同時に同じことまたは操作を行います. この種の操作は、通常、同じ種類のビジネスを対象とするか、すべてのユーザーがまったく同じ操作を実行します. 目的は、同時操作の処理をテストすることです.データベースとプログラムによって。
-
一般化された同時実行:仮想ユーザーがシステムを操作しますが、操作は異なる場合があります。狭い同時実行は主に単一のテスト シナリオに適用され、一般化された同時実行は主に混合テスト シナリオと安定性テスト シナリオに適しています。
(11) シナリオ: 実際のユーザーの特定の操作をシミュレートするプロセスをシナリオと呼ぶことができます. フォーラム システムの例を挙げましょう:
- シングル シーン: ユーザー ログイン、このログイン アクションだけがシーンです。
- 混合シーン: ユーザーが投稿するシーンには、最初にログインし、投稿ページを開き、テキストを入力し、ボードを選択し、投稿するという次のアクションが含まれる場合があります. これらのアクションは投稿混合シーンを構成します.
(12) 思考時間 (Think Time):ユーザーが操作している場合、各操作にはスクリプトに対応する時間間隔があるため、2 つの要求スクリプト間の時間間隔です。
3.性能試験合格基準
最後に, 私の記事を注意深く読んでくれたすべての人に感謝したいと思います. 相互主義は常に必要です. それは非常に価値のあるものではありませんが, 必要に応じて取り除くことができます:
これらの資料は、[ソフトウェア テスト] の友人にとって最も包括的で完全な準備倉庫である必要があります. この倉庫はまた、最も困難な旅を通して何万人ものテスト エンジニアに同行してきました.パートナーは下の小さなカードをクリックできます.受け取る