TL;DR
システムに負荷をかけ、その応答を測るテスト。ソフトウェアでは、複数の利用者が同時にアクセスする状況を模擬して、想定される使われ方をモデル化する。
なぜ必要か
Grafana k6 のドキュメントによると、普段の負荷を模擬するテスト(average-load test)は、通常の日にシステムが性能目標を満たすか、負荷を上げる途中で劣化の兆しがないかを確かめる。コードやインフラを変えた後に、性能が基準を満たしているかの確認にも使う。
仕組み
本番の監視ツールや分析のデータから、普段の利用者数やスループットを調べて目標の値にする。負荷は徐々に上げ(テスト全体の 5〜15% ほど)、目標の負荷をその少なくとも 5 倍の時間維持し、最後に徐々に下げる。上げる段階では負荷に応じて応答時間が悪化しないか、維持する段階では性能やリソースの使用量が安定しているかを見る。
注意点
Wikipedia によると、負荷テストとストレステストという言葉は、ソフトウェアテストの分野で人によって違う意味で使われている。初めてテストするときは、想定より早くシステムが落ちることがあるので、低い負荷やゆっくりとした立ち上げから始める。