内容:ガイド
序文
1. 試験の準備
システム基本機能検証
性能テストはどの段階で実装に適していますか? エントリーポイントは非常に重要です!一般に、パフォーマンス テストは、システムの基本機能テストが検証され、システムが安定する傾向にある場合にのみ実行されます。そうでない場合、パフォーマンス テストは意味がありません。
テストチームの編成
プロジェクトの具体的な状況に応じて、DBAを必須とした数名からなるパフォーマンステストチームを編成し、その後1名または数名のシステム開発者(フロントエンド、バックエンドなどに相当)を編成します。 )、パフォーマンス テストの設計と分析が必要です。人材、スクリプト開発
正式に作業を開始する前に、スクリプト開発と実行者に何らかのトレーニングを与えるか、関連する経験を持つ担当者を雇用する必要があります。
ツールの選定
システム設計、ツールコスト、テストチームのスキルを総合的に考慮し、少なくとも以下の点を満たした適切なテストツールを選択してください。 ①Web(ここではWebシステムを例にします)システムのパフォーマンステストをサポートしている
こと、http および https プロトコルをサポートします;
② このツールは Windows プラットフォーム上で実行されます;
③ Web サーバー、フロントエンド、およびデータベースのパフォーマンス カウンターの監視をサポートします。
予備的なビジネス シナリオ分析
システム パフォーマンスの直観的な理解と分析を確立するには、システムのより重要で一般的に使用されるビジネス シナリオ モジュールを分析し、次のテストに備えて的を絞った方法で分析を実行する必要があります。プランデザイン。
2. テスト計画を定義する
テスト計画フェーズで最も重要なことは、ユーザー シナリオを分析し、システム パフォーマンスの目標を決定することです。
パフォーマンステスト分野の分析
プロジェクトの背景やビジネスの理解に基づいて、テストシステムが実際の運用のニーズを満たせるか、現在のシステムのどの部分がパフォーマンスを制限しているかなど、このパフォーマンステストで解決すべき問題を決定します。システムの、またはどのシステム要因が原因となるか
システムがビジネスの発展に追いつかない?
テスト領域を決定し、特定の問題を分析します。
ユーザーシナリオ分析とビジネスモデリング
システムビジネス、ユーザーのアクティブ時間、アクセス頻度、シナリオの相互作用などの側面の分析に従って、ビジネスシナリオテーブルを整理します。もちろん、ユーザーの操作シナリオと手順を詳細に記述するのが最善です。テスト用のスクリプト開発は基礎を提供します。
パフォーマンス目標の決定
このパフォーマンス テストの適用分野はすでに決定されており、次のステップは、対象となる特定の分野のパフォーマンス目標 (指標) を決定することです。
他のビジネス部門と通信および交渉し、現在のシステム応答時間とその他のデータを組み合わせて、達成する必要がある最終的な応答時間とシステム リソースの使用率を決定する必要があります。
例:
①ログイン要求からログインページが成功するまでの応答時間は 2 秒を超えてはなりません;
②レポートレビューのために送信されたページの応答時間は 5 秒を超えてはなりません;
③ファイルのアップロードおよびダウンロードページの応答時間は超えてはなりません8秒;
④サーバーの平均CPU使用率は70%未満、メモリ使用率は75%未満;
⑤各業務システムの応答時間と異なるテスト環境でのサーバーリソースの使用量の変化荷重などの各種指標の表示。
テスト計画の実施時間を作成する
このパフォーマンス テストの各サブモジュールの開始時間と終了時間、出力、参加者などを事前に設定します。
3. テストスクリプトの設計と開発
パフォーマンス テストでは、テスト スクリプトの設計と開発が大きな時間を占めます。
テスト環境の設計
このパフォーマンス テストの目的は、実際の動作環境でシステムのパフォーマンスを検証するだけでなく、ハードウェア構成の違いがシステム パフォーマンスを制限する重要な要因になるかどうかを検討することです。したがって、テスト環境では、複数の異なるテスト環境を展開する必要があります。
さまざまなハードウェア構成でアプリケーション システムのパフォーマンスをチェックし、さまざまな構成でのシステムのテスト結果を分析し、最適な結果 (現在のシステムに最適な構成) を取得します。
ここでいう構成とは大きく分けて以下のとおりです。
①データベースサーバー
②アプリケーションサーバー
③負荷シミュレータ
④ソフトウェア動作環境、プラットフォーム
テスト環境のテスト データは、テストする必要があるビジネス シナリオ、データのバックアップと転送の頻度、ビジネス シナリオにどのテーブルが関与するか、どのように実行されるかなど、システムの動作上の期待に従って決定できます。各動作データをどのくらいの量書き込むか
テスト環境内のデータの一貫性を保つためのテストデータなど。
テスト データを初めて生成するときは、ローカル ストレージにエクスポートし、各テストの前にデータをインポートして一貫性を維持できます。
テストシナリオの設計
事業部門とのコミュニケーションおよび以前のユーザーの操作習慣を通じて、ユーザーの操作習慣モード、さまざまなシナリオのユーザー数、操作数を決定し、テスト指標を決定し、パフォーマンス監視を実行します。
テストケース設計
テストシナリオを確認後、既存のシステム動作記述を基に、スクリプトにマッピングできるテストケース記述にさらに改良します ユースケースの大まかな内容は以下のとおりです。
ユースケース番号: クエリ form_xxx_x1 (ビジネス運用シナリオに基づいて命名され、シンプルで理解しやすい)
ユースケース条件: ユーザーがログインしている、対応する権限があるなど。。。
操作手順:
①対応するページにアクセスします...
②関連データをクエリします...
③エクスポートデータを確認します...
④アップロードされたデータを変更します...
PS: ここでの操作手順は単なる例であり、システムのビジネス シナリオの観点から具体的に説明されています。
スクリプトと補助ツールの開発と使用法が
ユースケースに従って説明されており、ツールを使用してパラメータ化、関連付け、チェックポイントなどを記録し、記録されたスクリプト内で変更することができ、最終結果はテスト スクリプトが利用可能であり、テスト要件を満たすことができます。
PS: 個人的には、ビジネス オペレーション シナリオを実現するためのスクリプトを作成してみることをお勧めします。これは、個人のスキルを大幅に向上させます。一言で言えば、「書けるなら、記録する必要はない」ということです。!!
4. テストの実行と管理
この段階では、以前に設計したビジネス シナリオ、環境、テスト ケース スクリプトに従って、環境を展開し、テストを実行して結果を記録するだけです。
テスト環境
の構築 事前に設計したテスト環境に基づいて、対応する環境を展開し、運用保守または開発者は、テスト環境を外部要因の影響を受けずにクリーンで安定した状態に保ちながら、展開、確認、慎重な調整を行います。
テストスクリプトの実行
これは比較的簡単で、展開されたテスト環境で、ビジネスシナリオと数値に応じて、設計したテストスクリプトを順番に実行します。
テスト
で使用されるさまざまなツールに応じて、テスト結果レコードの形式は異なります。パフォーマンス テスト ツールのほとんどは、比較的完全なインターフェイスとグラフィカルなテスト結果を提供します。もちろん、サーバー リソースの使用状況などについては、いくつかの形式を使用できます。カウンターとか
サードパーティの監視ツールを使用して記録し、テストの実行後に結果を整理して分析します。
5. パフォーマンステストの分析
テスト環境のシステムパフォーマンス分析
計算前に記録したテスト結果(グラフ、曲線など)に従って、計算後に所定のパフォーマンス指標と比較して、必要な結果が達成されているかどうかを判断し、達成されていない場合は、特定のパフォーマンス指標を確認します。ボトルネック ポイントを特定し、ボトルネック ポイントの特定のデータに従って、
特定の状況の具体的な分析を実行します (パフォーマンスに影響を与える要因は多数あり、経験とデータ パフォーマンスに基づいて判断および分析できます)。
ハードウェア デバイスがシステム パフォーマンスに及ぼす影響の分析
これまでにいくつかの異なるテスト環境が設計されているため、さまざまなテスト環境のハードウェア リソース使用状況図に従って分析して、ボトルネックがデータベース サーバー、アプリケーション サーバー、またはその他の部分にあるかどうかを判断できます。次に、最適化などの操作の実行をターゲットにします。
その他の影響要因の分析
システムのパフォーマンスに影響を与える要因は数多くありますが、ユーザーが感じる場面、比較的遅いと感じる場面、許容範囲の速度などから分析することができます。ここでは、2\5\8 に従って分析できます。原理;
ネットワーク帯域幅、操作アクション、ストレージ プール、スレッド実装、サーバー処理メカニズムなどの他の一連の影響要因については、具体的な問題が詳細に分析されているため、ここでは 1 つずつ説明しません。
テストで見つかった問題点
パフォーマンステストを実行すると、機能上の欠陥や既存の不具合、最適化が必要な箇所が見つかる場合があり、これも複数のテストを行うメリットです。
以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。 |
1. Pythonプログラミングの入門から習得まで
2.インターフェース自動化プロジェクトの実戦
3. Web自動化プロジェクトの実戦
4. アプリ自動化プロジェクトの実戦
5. 一流メーカーの再開
6. DevOps システムのテストと開発
7. 一般的に使用される自動テストツール
8、JMeterのパフォーマンステスト
9. まとめ(最後にちょっとしたサプライズ)
常に自分自身を超えていくことによってのみ、私たちはより良い未来を導くことができます。困難に立ち止まらず、夢を追いかけて勇敢に進み、心と努力で奇跡を起こしましょう!
人生は短い旅、風と雨があって初めて虹を見ることができ、障害を乗り越えて初めて対岸に到達することができます。より良い明日を迎えるために、勇敢に、そして不屈に前進していきましょう!
夢を追う道において、努力と粘り強さは永遠のテーマです。失敗を恐れず、困難に果敢に立ち向かい、心を込めてやり遂げれば、未来は必ず良くなる!