書いたきっかけ
非機能テストについて、各項目の意図がはっきりしていなかったので学び直した。
特に自分の中で紛らわしかった性能効率性テストの観点をはっきりさせる。
そもそも性能効率性とは
ISO/IEC 25010で定義された品質特性の1つである。
ソフトウェアがリソースをどの程度効率的に使用しているかを評価するもの。
以下の3点を要素として持つ。
• 時間効率性: 応答時間やスループットなど、時間に関連する性能。
• 資源効率性: CPU、メモリ、ディスクなどのリソースの使用量。
• 容量満足性: 最大容量や処理可能な最大負荷。
性能効率性のテスト
性能効率性テストでは以下の4つのテストを実施する
- 性能テスト
- 処理結果が設定の時間内に返ってくるかどうかをテストする
- 時間効率性のテスト
- 負荷テスト
- 同時多重実行などの負荷状態で、システムが正常に動作するかどうかをテストする
- (排他時間を考慮した)時間効率性のテスト
- ストレステスト
- メモリ、ディスクなどのリソースが限界に近づいた状態でシステムが正常に動くことをテストする
- 資源効率性のテスト
- 容量テスト
- データ容量の増加に伴って、システムの挙動がどう変化するかをテストする
- 容量満足性のテスト
注意したいこと
テスト観点が異なるので単に性能効率性と言っても性能効率性の3つの要素、および4つのテストを網羅して行っていく。
参考
システム構築の上流工程強化(非機能要求グレード)
2時間で学ぶ!非機能テスト入門講座~性能やユーザビリティなどシステムの非機能を考える~