0

機能テストと負荷テストを実行するために使用されている jmx スクリプトがあります。

このスクリプトは、1 人のユーザーと複数のスレッド ユーザーを使用して、次のことを行う単純な注文管理システムをテストします。

  1. システムをロードする
  2. ログイン
  3. 注文の配置 (製品を選択し、カートに追加し、チェックアウトし、注文確認ページまで注文を送信します)
  4. ログアウト

これらのステップは、jmx スクリプトのステップになります。

スクリプトを実行すると、大きな問題は見られません。JMeter は、パフォーマンス メトリックと処理時間を収集するため、エラーを報告しません。

ただし、テスト後、データベース (および JMeter 外部のシステム自体) をチェックすると、JMeter テストを実行したときに作成されたはずの注文が作成されていません。

JMeter がダミー ユーザーとしてログインし、UI で何らかのトランザクションを実行すると、それらのトランザクションがデータベースに到達することを想定しています。エンドツーエンドのトランザクションがあります。しかし、ここではそうではないようです。

これを引き起こしている可能性のあるアイデアはありますか?
JMeter は、実際に UI 上のアクションをバックエンドまで押し出しますか?

どんな助けでも大歓迎です。

4

1 に答える 1

3

まず、JMeter はブラウザではなく、サーバーとのトラフィックのみを再現します。

2 つ目は、応答に問題がなく、必要なものが含まれていることを確認するためにアサーションを追加していますか?

3番目に、1人のユーザーとN個のスレッドを使用すると言います。これは、1人のユーザーしかいないことを意味します。マルチスレッドでテストすると、キャッシング、トランザクションの競合が発生するため、間違っています...

最初に 1 人のユーザーでスクリプトをチェックし、結果ツリー リスナーを表示することをお勧めします。次に、少数のスレッドですべてのユーザーを実行して、ユーザーをチェックします。

最後に実際の負荷テストを実行します。

于 2012-08-04T08:03:45.247 に答える