目次: はじめに
序文
1. 同時テストの定義
目的:
は、インターフェイス テストを実施する手段として同時実行性を使用し、テスト動作を通じて同時シナリオでインターフェイスによって引き起こされる機能上の問題を発見することです。
タイプ:
①ポイント レベル: 同時に何かを行う。
例: 朝 7 時 30 分に、生徒全員が国家目標を掲げます。フラグ
②オンライン レベル: 同時に異なることを行いますが、同時にサーバーに負荷がかかります。
例: ある時点で、一部の生徒がゴム跳びをしました。バンドやサッカーをする人もいます a>
同時実行性とパフォーマンス: 同時実行性テストはパフォーマンス テストと同じではなく、パフォーマンス テストは同時実行性テストのサブカテゴリにすぎません。
2. 同時テストの分類
機能同時実行テスト:
分析: 最初に単一のビジネス機能シナリオの同時実行テストを実行し、次に混合ビジネス機能シナリオの同時実行テストを実行します。
目的: システム機能が要件仕様の要件を満たしているかどうかを検証するため。
パフォーマンス同時実行テスト:
分析: 特定のシステム パフォーマンス指標を同時に満たすことを前提として、テスト対象のオブジェクトにさまざまなワークロードを負荷させ、システムの最大処理能力を評価します。テスト対象物と欠陥があるかどうか。
目的: システム パフォーマンス指標が要件仕様の要件を満たしているかどうかを検証するため。
安定性同時実行テスト:
分析: テスト システムの長期安定動作能力を判断します。
目的: システムの安定性が要件仕様の要件を満たしているかどうかを検証するため。
異常な同時実行性テスト:
分析: シミュレーション システムは、不十分な異常なリソース構成の下で実行され、不十分なリソースの下でテストされたオブジェクトの動作ステータスを評価します。
目的: システムの例外応答メカニズムが要件仕様の要件を満たしているかどうかを検証します。
3. デザインアイデアを整理する
1) 分析が必要
①まず同時実行テストのオブジェクトを見つけて、デマンドテストの機能を理解します (詳細は説明しなくても、ビジネス機能に応じて整理できます)。
② 次に、厳しい品質が要求されるコア機能、頻繁に使用される機能、より多くのシステムリソースを占有する機能など、テスト対象の重要性を説明します。
③ 最後に、テストオブジェクトを分割します 例えば、商品の購入は、商品の検索、在庫のロック、注文の送信、支払い指示の送信、支払い結果の受け入れと処理、ビジネスフロー、SMS とサイト通知、VX プッシュ結果に分割できます。 、など。
2)環境ニーズ分析
主要なテスト対象を明確にし、基礎データと大量の履歴データを事前に設定し、実環境をシミュレーションします。
3) 性能指標要件の分析
パフォーマンス指標が妥当かどうかを分析します。
TPS、ページビュー、同時リクエスト数などの履歴データの側面を考慮して、需要指標が妥当かどうかを判断し、優先順位を調整できます。
4. テスト計画の設計
1) テスト戦略
同時テストの準備:
リクエストの順序、リクエスト間の相互呼び出し関係、データ フローの方向、外部システムへの呼び出しの有無などを決定した後、次の作業を行う必要があります。主要なテスト対象を明確にし、事前に基礎を設定する データや大量の履歴データ、実環境のシミュレーションなど。
テスト戦略の実行には、通常、次の 4 つの段階があります。
① 機能同時実行テストの場合: 最初に単一のビジネス機能シナリオの同時テストを実行し、次に混合ビジネス機能シナリオの同時実行テストを実行します。
② 同時実行性能テストの場合:一定のシステム性能指標を同時に満たすことを前提として、テスト対象に異なるワークロードを負荷させ、テスト対象の最大処理能力や欠陥の有無を評価します。
③安定性テストと同時実行性テスト: テストシステムの長期安定動作能力を判断します。この戦略の強度は小さく、一般に、顧客サイトの日常的な条件下での圧力強度が高くなる傾向があります。
④ 異常な同時実行性テストの場合: システムの動作環境、ネットワーク帯域幅、システム メモリ、データ フレームなどに必要なリソースを人為的に削減するなど、不十分で異常なリソース構成の下で動作するシステムをシミュレートし、リソース不足下での作業を評価します。州。
さまざまなテスト段階で、テスターはさまざまなテスト目的に焦点を当てます。したがって、テスターにとってはテストのアイデアが最も重要であり、テストのアイデアがあって初めて良いテスト計画を立てることができます。
2) テスト計画
例として 2 ラウンドのテストを取り上げます。
最初のテスト ラウンドはインターフェース ドキュメントによって行われます。テストの手順とキー ポイントは次のとおりです。
①インターフェーステストコードの書き込み:各インターフェースの受信パラメータ制御(長さ制限、形式、必須項目制限、正常値範囲制限など)を確認します。同時に、エラー メッセージが正確で適切であるかどうかを確認します。
②異常データテスト:例えば、チャネル値が負の数値に設定されている場合、属性設定が存在しない場合、ネットワークが切断されている場合、データベースがテーブルをロックしている場合など、データが異常かどうかを確認します。
③ インターフェースごとに同時トランザクションのテストを実施します。口座金額、ユーザー フロー、照合フロー データを確認します。データがユースケース呼び出しの結果と一致しているかどうかを確認します。
④ 複合インターフェイスの同時実行テスト: さまざまなリチャージおよびトランザクション タイプのインターフェイスを特定の順序で同時に実行し、アカウントの残高とフローがユースケースの呼び出し結果と一致しているかどうかを検証します。
第 2 ラウンドのテストはビジネス シナリオに基づいて行われます。テストの手順と重要なポイントは次のとおりです。
①統合されたアクションの同時実行: 同じ注文に対する同時支払いと返金。
② 混合トランザクション シナリオ: フラッシュ販売、集中返品、到着確認; >
③ページ操作のバイパス: トランザクションテストのためにパケットをキャプチャし、異常値をスローします。
5. 指標分析
1) 同時実行要件を整理する
需要内容:
昼と夕方は注文のピーク時間帯であるため、同時注文が多くなります。注文の成功率や応答速度などを確保するには、ピーク時の注文量に対してパフォーマンステストを並行して実施する必要があります。
パフォーマンス指標の要件:
① 開封速度 <3 秒、注文送信成功 <5 秒;
②注文成功率が 99.5% 以上に達する;
③同時ユーザー数 100 人のピーク時には、注文処理能力は少なくとも 900TPS に達します。
2) パフォーマンス指標の抽出
100 件のテイクアウト注文を例に挙げます。抽出する必要がある同時実行指標は次のとおりです:
①同時注文の数
②成功した注文の数< /span>< a i=3> ③成功した注文の応答時間 ④注文の成功率 ⑤成功した注文の合計応答時間 ⑥成功した注文平均応答時間 ⑦Tps
3) パフォーマンス指標分析
①同時注文の数: つまり、カスタムの同時実行数。同時実行を 100 回に設定し、10 スレッドに設定し、各サイクルを 10 回に設定します。
② 成功した注文の数: つまり、get 応答値が成功したリクエストの場合、まず初期値 0 で success_count を定義します。成功した場合は +1 が実行されます。
③注文成功率: 成功した注文数 / 成功した注文の総数;
④合計注文応答時間: 成功した各注文の応答時間の合計。したがって、sum_time を定義します。 、初期値は 0.00 で、その後、各成功の応答時間が合計されます。
⑤平均注文応答時間: 成功した注文の合計応答時間/成功した注文の数;
⑥TPS: 成功した同時実行数/成功した注文の平均応答時間;< a i=2 > ⑦ オーダーの応答時間: リクエスト前の時間を取得し、アサーション成功後に再度時間を取得し、その差がオーダーの応答時間となります。
以下は、私がまとめた 2023 年の最も包括的なソフトウェア テスト エンジニア学習ナレッジ アーキテクチャ システム図です。 |
1. Python プログラミングの入門から習熟まで
2. インターフェース自動化プロジェクトの実践
3. Web自動化プロジェクトの実戦
4. アプリ自動化プロジェクトの実践
5. 一流メーカーの履歴書
6. DevOps システムのテストと開発
7. 一般的に使用される自動テストツール
8. JMeter パフォーマンス テスト
9. まとめ(最後にちょっとしたサプライズ)
誰もが夢を追う途中で困難や課題に遭遇することがあります。ただし、覚えておいてください。風と雨を経験した人だけが最も美しい虹を見ることができます。ですから、前に進んで、あらゆる新たな挑戦に挑戦してください。
今、どんな状況に置かれていても、心に夢がある限り、足元に道はあると信じてください。したがって、信仰を強め、勇敢に前進し、汗と知恵を使ってあなた自身の輝かしい章を書き上げてください!
人生はマラソンのようなもので、スタート地点がどれだけ高いかは問題ではなく、終点に到達するかどうかだけが重要です。だから、走り続けて、忍耐力と勇気を使って夢を実現し、あなたのおかげで人生が素晴らしいものになりますように!