The Design of Independent Objects
It is appropriate to digress into a discussion of design here, because the activities of testing and design are closely related. Eric Evans’s book Domain-Driven Design discusses a form of what was previously called object-oriented analysis: finding the objects needed to solve a problem by interpreting a description of the problem. The process is straightforward. Take a description of the problem, and the things that do things are objects, the things they do are methods, and the things they tell or ask other things are messages. Evans proposes having a single “ubiquitous” language across the whole development team, so that the words used by the person who has the problem – the Goal Donor—http://wiki.c2.com/?GoalDonor are the same words as those used by the people building the solution. Borrowing an idea from Christopher Alexander, it is the ubiquitous language of the problem and solution domain in which one would expect...