問38
頻出度★★★
ソフトウェアの品質評価の基準である品質特性には, 機能性, 信頼性, 使用性, 効率性などがある。機能性に関するテストとして, 適切なものはどれか。
この問題の解説と、これまでの解答の記録です。
ソフトウェアの品質評価の基準である品質特性には, 機能性, 信頼性, 使用性, 効率性などがある。機能性に関するテストとして, 適切なものはどれか。
応答時間や処理時間など、求められる性能が備わっているかの検証は「効率性」に関するテスト (性能テスト) である。効率性は、使用する資源や時間に対してどれだけの処理能力を発揮できるかを表す特性であり、機能が正しいかどうかを問う機能性とは別の品質特性なので誤り。
正解 正解は イ。機能性 (functionality) とは、ソフトウェアが「利用者の要求した機能を、要件どおりに正しく提供できるか」を表す品質特性である。したがって機能性のテストは、使用目的や要件定義どおりに動作するか (仕様どおりの入力に対して仕様どおりの出力を返すか、必要な機能が漏れなく実装されているか) を検証することになる。選択肢 イ の「使用目的や要件に従って正しく動作することを検証する」は、まさにこの機能性の検証そのものであり、要件どおりに動くかを確かめる機能テストの説明として適切である。
必要なときに使用でき、故障時に速やかに回復できるかの検証は「信頼性」に関するテストである。信頼性は障害の起こりにくさや障害からの回復のしやすさ (可用性・回復性) を表す特性で、要件どおりに正しく動くかを問う機能性とは異なるため誤り。
利用者にとって理解・習得・操作しやすいかの検証は「使用性 (ユーザビリティ)」に関するテストである。使用性は利用者がどれだけ分かりやすく使えるかという操作性の観点であり、機能そのものの正しさを問う機能性とは別の品質特性なので誤り。