非機能テスト 【non-functional testing】
ソフトウェアテストの多くは要件や仕様として定義された機能が正しく実装されているかどうかを調べるものだが、実際の利用に際しては機能以外の要素(非機能要件)も重要となる。例えば「正しく処理されるが一枚の帳票の表示に1時間かかる」システムでは実用にならないからである。
非機能要件には信頼性、使用性、効率性、保守性、移植性、運用性、セキュリティ、環境配慮など様々な要素があり、開発案件で必要となる要素について基準を定めて個別にテストしていく。テストと一口に言ってもプログラムを実行してみる動的テストだけでなく、静的解析やチェックリストによる審査のような手法も合わせて用いる。
非機能テストに分類されるテスト手法としては、性能テスト、負荷テスト、ストレステスト、ロングランテスト、耐久テスト、ユーザビリティテスト、セキュリティテストなどがある。これらは機能面が未完成だったり、機能テストで欠陥が発見されて修正されると正しく試験できないため、システムテストや受け入れテストの前後の機能面が完成に近づいた段階で行うことが多い。
(2023.10.26更新)