Questions
Consider the following nonfunctional requirements and determine which of them can be verified and which cannot. Write acceptance tests for each requirement or explain why it is not testable.
a. “The user interface must be user-friendly and easy to use.”
b. “The number of mouse clicks the user needs to perform when navigating to any window of the system’s user interface must be less than 10.”
c. “The user interface of the new system must be simple enough so that any user can use it with a minimum training.”
d. “The maximum latency from the moment the user clicks a hyperlink in a web page until the rendering of the new web page starts is 1 second over a broadband connection.”
e. “In case of failure, the system must be easy to recover and must suffer minimum loss of important data.”
Answers
Acceptance tests specify situations in which user requirements may and may not work. However, the prerequisite for writing acceptance tests for a requirement is that the requirement is testable (Marsic, 2012). In other words, the requirement cannot be subjective or vague. Instead, it needs to be specific and measurable. In the following paragraphs, I’ll explain whether the requirements are testable and the corresponding reasons.
a. “The user interface must be user-friendly and easy to use.”
The requirement cannot be verified because it is ambiguous. Specifically, “user-friendly” and “easy to use” are both subjective and vague expressions, which makes testers unable to determine what kind of user interface can be considered “user-friendly” and “easy to use”. Therefore, this requirement is untestable.
b. “The number of mouse clicks the user needs to perform when navigating to any window of the system’s user interface must be less than 10.”
The requirement can be verified because less than 10 clicks are specific and measurable. Its acceptance test is as follows:
c. “The user interface of the new system must be simple enough so that any user can use it with a minimum training.”
The requirement cannot be verified because it is vague. Precisely, “simple enough” and “minimum training” are subjective descriptions, and the testers cannot make specific measurements. Therefore, this requirement is not testable.
d. “The maximum latency from the moment the user clicks a hyperlink in a web page until the rendering of the new web page starts is 1 second over a broadband connection.”
Requirements can be verified because the maximum delay that does not exceed 1 second is a specific expression, and the maximum delay can be measured. Its acceptance test is as follows:
e. “In case of failure, the system must be easy to recover and must suffer minimum loss of important data.”
The requirement cannot be verified because it is vague. Specifically, “easy to recover”, “minimum loss”, and “important data” are all subjective expressions, and testers have no specific standards to judge what the minimum loss is, which data is essential, and whether the system is easy to recover. Therefore, this requirement is not testable.
Word count: 566
References
1.Marsic, I. (2012). Software engineering. Rutgers University.
http://www.ece.rutgers.edu/~marsic/books/SE/book-SE_marsic.pdf