Recently, SSQ published a tip from requirements expert Robin Goldsmith titled, What is a test case? What is a requirement? In the article, Goldsmith writes about an experiment he did in which test cases are described with five different levels of detail. He surveyed experts and testers about their opinions about what they believed was the appropriate level of detail.
Several quoted IEEE Standard 610: “A test case is a set of inputs, execution conditions and expected results for a particular test objective. A test case is the smallest entity that is always executed as a unit, from beginning to end.”
Interestingly, when the results were compiled, no one level of detail stood out as the “right” level of detail. Even this rather detailed IEEE definition of a test case can be misinterpreted, or at least interpreted differently among people who are trying to implement it. Is it any wonder that requirements are often misinterpreted?
Requirements, similar to test cases, can be defined with varying levels of detail. Goldsmith argues that test cases often match the detail level of the specified requirements, which he maintains should be highly detailed:
Requirements need to be driven down to detail—first so developers can develop the proper products, and second so testers can confirm they’ve done so. The survey example exercise can be used just as effectively to guide meaningful communication and practices regarding interpretation of how many requirements are represented.
Read Goldsmith’s article and take the survey yourself. Then let us know your thoughts via the comments on our blog.