テスト手法

負荷テスト ふかてすと

負荷テストパフォーマンステストk6JMeterストレステストスケーラビリティ
負荷テストって何のためにやるの?

簡単に言うとこんな感じ!

負荷テストは「大勢が同時にアクセスしても壊れないか確認する」テストだよ!開発中は1人でテストするから問題ないのに、リリース後に1000人が同時アクセスしたら落ちた、なんてことを防ぐために事前にシミュレーションするんだ。


負荷テストとは

負荷テスト(Load Testing) とは、本番環境に想定される多数のユーザーが同時にアクセスする状況をシミュレーションし、システムのパフォーマンスと安定性を検証するテストです。

「どれだけの同時接続に耐えられるか」「応答時間が許容範囲内か」「メモリリークはないか」を事前に確認し、本番障害を防ぎます。


負荷テストの種類

種類内容
負荷テスト(Load Test)想定される通常の負荷での動作確認
ストレステスト(Stress Test)許容限界を超える負荷をかけて破壊点を探す
スパイクテスト(Spike Test)急激なアクセス増加への対応を確認
ソークテスト(Soak Test)長時間の連続稼働での劣化(メモリリーク等)確認
スケーラビリティテストスケールアウト時のパフォーマンス線形性確認

主な負荷テストツール

ツール特徴
k6モダンなJS記述・CI/CD統合が容易
Apache JMeter最も普及したGUIベースのツール
GatlingScalaベース・レポートが優れる
LocustPythonで書けるOSSツール
ArtilleryNode.jsベースのシナリオ型テスト

主な評価指標

指標内容
レスポンスタイム(P50/P95/P99)50%・95%・99%のリクエストが返ってくる時間
スループット(RPS/TPS)1秒あたりのリクエスト・トランザクション
エラー率失敗したリクエストの割合
並行ユーザー数同時接続できるユーザー数の上限

歴史と背景

  • 2000年代:Apache JMeterが事実上の標準ツールとして定着
  • 2019年:k6がGrafana Labsに買収され、モダンな負荷テストのデファクトに
  • 現在:クラウドの分散実行(AWS/GCP上でk6を分散実行等)が普及

関連用語