パフォーマンステストの作成

パフォーマンステストを新たに作成するには

まず、左側のナビゲーションの テスト作成 ボタンをクリックし、[Performance test] を選択します。

creating a new performance test

新しいパフォーマンステスト [new_perf_test] の作成

テスト詳細の設定

テストには必ず名前が必要です。また、テストに説明やラベルを追加することもできます。

👍

テストの命名規則、テストの説明、ラベル

ベストプラクティスとして、事前にワークスペースの他のメンバーと相談して、テストの命名規則を決めておくことをお勧めします。そうすることで、テストの検索が容易にになり、かつ、テストの内容を理解しやすくなります。

テストの説明とラベルは省略することもできますが、ワークスペースをわかりやすく体系化するうえで大いに役立つため、テストには説明とラベルを指定することを強くお勧めします。

機能テストの追加

パフォーマンステストで実行する機能テストを、1つ以上選択します。

Adding functional tests to a performance test

パフォーマンステストに機能テストを追加する

DataTable

機能テストをパフォーマンステストとしても実行する場合、パフォーマンステストでどのDataTableをテストに紐付けるかを指定します。

パフォーマンステストでDataTableを使用する場合、各行(シナリオ)はそれぞれ異なる仮想ユーザに割り当てられます。DataTableのテーブルの行数よりも仮想ユーザの数が多い場合は、複数の仮想ユーザが行を繰り返し使用します。

👍

パフォーマンステストと DataTable

同時実行ユーザーを含むシナリオをシミュレートする場合、多数のクレデンシャルを含むDataTableをパフォーマンステストに関連付けることが大変効果的です。

複数のクレデンシャルの組み合わせを使うことで、テスト対象アプリケーション、サーバOS、またはテスト対象アプリケーションのデータベースなどで、1ユーザの同時接続数に関する制限を回避することができます。

負荷設定

パフォーマンステストでは、最大1000の同時接続ユーザを指定できます。

🚧

ご注意

現在、パフォーマンステストでは、すべての機能テストの同時接続ユーザの合計として1000までの同時接続ユーザが設定できます。
たとえば、パフォーマンステストに3つの機能テストが含まれる場合、これらの3つの機能テストの同時接続ユーザ数の合計が1000を上回ることはできません。

失敗条件

失敗条件の設定はオプションです。APIレスポンスタイム、HTTPエラー率、機能テスト失敗率などを設定します。

  • API レスポンスタイム: APIがリクエストを処理してレスポンスをを返すのに要する時間

👍

パーセンタイル値によるAPIレスポンスタイムの測定

APIのレスポンスタイムの失敗条件は、平均レスポンスタイムのほか、パーセンタイル値によっても設定できます。パーセンタイルは、どのレスポンスタイムが所定の値を下回るかを示すものです。たとえば、95パーセンタイルのAPIレスポンスタイムが500ミリ秒(ms)の場合、APIレスポンスの95%がレスポンスタイム500ミリ秒以下だったということになります。

パーセンタイル値で設定すると、平均レスポンスタイムよりも外れ値の影響を少なく抑えることができます。APIレスポンスタイムの測定にパーセンタイル値を使用すると、大半のユーザーが良好なパフォーマンスで利用できているかを判断するのに役立ち、負荷がかかった際のシステムのレスポンスについて、より正確に理解することができます。

  • HTTPエラー率: APIリクエストに対してエラーのレスポンスが返されたAPIリクエストの割合
  • 機能テスト失敗率: ステータスが 「失敗」 となった機能テストの割合。つまり、機能テスト内でアサーションに失敗したテストの割合

📘

ご注意

APIテストでは、APIリクエストは200番のレスポンスを返すというデフォルトのアサーションがあるため、HTTPエラー率と機能テストの失敗は重複することがあります。

パフォーマンステストの失敗条件は、チームの要件に応じて以下のように設定することができます。

  • たとえば、設定した同時接続数のもとでのAPIレスポンスタイムが300ミリ秒未満に収まることを期待している場合、「95パーセンタイルのレスポンスタイムが300ミリ秒を上回った場合にテストが失敗する」という条件を設定できます。
  • 設定した同時接続数のもとで95%のテストが成功するようにしたい場合は、機能テストの5%超が失敗した場合にテスト失敗となるよう、機能テストの失敗率を設定できます。
  • 失敗条件を設定していない場合、パフォーマンステストのステータスはデフォルトで 「成功」 となります。

テスト設定

関連するテスト設定に、Duration of test (テストの実行時間)Ramp-up time (ユーザ数増加時間) があります。

  • テストの実行時間: パフォーマンステストの実行時間 (最大60分) を設定します。
  • ユーザ数増加時間:パフォーマンステストの仮想ユーザ数を、0から設定された同時接続数まで、直線的に増加させるのにどれだけの時間をかけるかを設定します。設定された同時接続数に達した後の残りの時間の間、パフォーマンステストは設定された同時接続数で継続されます。

テストを作成する

[Create Test] ボタンをクリックして、パフォーマンステストを作成します。