“Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence.”
This chapter describes the characteristics of good tests. These characteristics include being understandable to customers, not fragile, and test a single concept.
The following discussion of things to look for in tests came partly from Gerard Meszaros [Meszaros01], Ward Cunningham, and Rick Mugridge [Cunningham01]. Overall, remember that the tests represent a shared understanding between the triad.
The test should be written in customer terms (ubiquitous language) (Chapter 24, “Context and Domain Language”). The tables should ...