Automate Acceptance Criteria

Being able to express requirements as acceptance tests creates another venue for a whole different, rich set of information. It helps developers understand the customer’s real business needs so we can write the right code, and it lays it out in a way that’s very readable. Acceptance tests aid in defining a system behavior and provide real examples as input and expected output. We’re no longer talking in the theoretical. Now we can say, “Given these specific inputs, I should produce this output.” It becomes tangible.

Concretizing the abstract is a critical skill for software development and the reverse, abstracting the concrete, is just as critical. Using acceptance tests to flesh out behavior and implementation ...

Get Beyond Legacy Code now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.