コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

性能テスト、って言いはするけど定義はないのかざっくり調べてみた

無邪気に「性能テスト」って話はでますが、こちらに関しての計測や目標の設定はまちまちなので記載してみた。

性能テストとは

性能テストとは、機器やソフトウェア、システムのテスト(試験)の一種で、要件を満たす性能が出るかどうかを確かめるもの。実際と同じように動かしてみるテストであるため、ほとんどの場合は開発の最終段階に近い工程で実施される。 - 性能テスト(パフォーマンステスト)とは - IT用語辞典 e-Words

とあるように「性能を試すテスト」とされている。

Webシステムにおける「性能」とは

見るべき性能はシステムによって異なるので確認をする必要があるのだが、対象として上げられるのは以下のような要素があげられる。

  • スループット(x秒間にどれだけのリクエストが正常返答できるか、等)
  • レスポンスタイム(一回のリクエストをどれだけのはやさで返せるか)
  • リソース使用量(リクエストに関してのリソースが足りているか)

明確な定義はあるのか

ソフトウェアテスト標準用語集(日本語版)曰く

ソフトウェア製品の性能を判定するためのテストプロセス。

とあり明確にこのようなテストがそれに当たるという言及はないが、種類の説明として「ロードテスト」や「ストレステスト」がそれにあたるとされている。

なお各言葉の意味は以下の通り

ロードテスト

コンポーネントやシステムの振る舞いを測定する性能テストの一種。負 荷(たとえば、同時実行ユーザ数やトランザクションの数)を増加させ、コンポーネントやシステムがどの 程度の負荷に耐えられるか判定する。 - ソフトウェアテスト標準用語集(日本語版)

ストレステスト

予測又は特定した負荷、若しくはメモリやサーバなどのリソースの可 用性が低減したときの限界、又は、それを超えた条件でシステムやコンポーネントを評価するために行 なわれる性能テストの一種。 - ソフトウェアテスト標準用語集(日本語版)

参考リンク