FE EXAM

性能テスト(速さと処理能力の確認)

応答時間や処理能力が要求を満たすかを確認するテスト。

DIAGRAM
レスポンスタイムスループット要求基準と比較
速さ・処理量を測り、要求された基準を満たすかを判定する利用者の操作検索・登録などのリクエストシステム処理を実行レスポンスタイム1件の要求 → 応答までの「速さ」例: 検索結果が 0.8 秒で返るスループット単位時間あたりに処理できる「量」例: 1秒あたり 500 件を処理測定値が要求された性能基準(例: 1秒以内・1秒500件以上)を満たすか判定満たせば合格・満たさなければチューニングして再測定
解説

📌
性能テストとは

速さが「要求された基準」以内か測る要求基準実測 0.8秒1秒

性能テストとは、システムの応答時間や処理能力が、あらかじめ決められた要求性能を満たしているかを確認するテストです。「機能が正しく動くか」ではなく「十分に速く・たくさん処理できるか」を評価します。

どれだけ機能が正しくても、検索に10秒かかるようでは実用になりません。そこで「検索結果は1秒以内に返す」「1秒あたり500件処理する」といった要求基準(非機能要件)を決め、それを満たすかを実際に測ります。

身近な例で考えると、自動車のスピードや燃費の測定に似ています。エンジンが動くこと(機能)の確認とは別に、「100km/h まで何秒で到達するか」「1Lで何km走れるか」を測って基準を満たすか調べる──これが性能テストの考え方です。上の図解で、実測値が要求基準を満たすか判定する流れを確認できます。

📌
測定項目

「速さ」と「量」は別の指標レスポンスタイム1件の速さ(秒)スループット単位時間の処理量(件/秒)

性能テストで測る主な項目は次のとおりです。「速さ」と「量」は別の指標である点に注意します。
レスポンスタイム(応答時間):1件の要求を出してから結果が返るまでの時間。「速さ」を表し、短いほど良い
スループット:単位時間あたりに処理できる件数。「処理量・処理能力」を表し、大きいほど良い
ターンアラウンドタイム:依頼してからすべての結果を受け取り終わるまでの総時間
リソース使用率:CPU(=計算を行う部品)やメモリ(=作業用の記憶領域)をどれだけ使っているか

レスポンスタイムとスループットは混同しやすいですが、別物です。レスポンスタイムは「1件がどれだけ速いか」、スループットは「全体でどれだけたくさんさばけるか」を表します。レジ1台の会計が速くても(応答時間が短い)、店全体でさばける客数(スループット)はレジの台数次第、というイメージです。

これらの測定値が悪い場合は、プログラムや設定を見直して速くするチューニング(性能改善)を行い、再度測定して基準を満たすまで繰り返します。

📌
負荷テストとの違い

性能テストと負荷テストは関連が深く、混同されがちですが、確認したい主目的が異なります

観点性能テスト負荷テスト
主な目的要求性能を満たすか確認高負荷でも安定して動くか確認
かける負荷通常の想定利用条件想定される高い負荷
見たいこと速さ・処理量の達成度限界・安定性・落ちないか
位置づけテストの大分類性能テストの一種

性能テストは通常の利用条件で「要求どおりの速さ・処理量が出るか」を確認します。一方、負荷テストはあえて高い負荷をかけて「混雑時でも落ちずに安定して動き続けるか」を確認します。負荷テストは性能テストの一種と位置づけられます。

身近な例で考えると、飲食店のようなものです。性能テストは「通常の客足のとき、料理が何分で出るか」を測る確認、負荷テストは「ランチの大混雑でも店が回り続けるか」を試す確認に当たります。

練習問題

🎯
基本情報技術者 練習問題

Q1.性能テストの目的として最も適切なものはどれか。
A.出力が仕様どおりかを確認する
B.応答時間や処理能力が要求性能を満たすかを確認する
C.すべての分岐を実行できているかを確認する
D.修正で既存機能が壊れていないかを確認する
Q2.性能テストで測定する代表的な指標はどれか。
A.レスポンスタイム(応答時間)とスループット(単位時間あたりの処理量)
B.命令網羅率と分岐網羅率
C.バグの累積件数
D.正規化のレベル
Q3.性能テストと負荷テストの関係として適切なものはどれか。
A.性能テストは要求性能の達成を確認し、負荷テストは高負荷時の安定性を確認する
B.性能テストと負荷テストは完全に同じものである
C.性能テストは内部構造を、負荷テストは仕様を見る
D.どちらも機能の正しさだけを確認する

関連コンテンツ