Strategies for effective Acceptance Testing – Part II
The second part of my blog post on effective Acceptance Testing is now available on the XebiaLabs website…
In my last blog post I described the characteristics of good Acceptance tests and how I tend to use a Domain Specific Language based approach to defining a language in which to specify my Acceptance Test cases. This time I’d like to describe each of these desirable characteristics in a bit more detail and to reinforce why DSL’s help.
To refresh you memory here are the desirable characteristics:
- Relevance – A good Acceptance test should assert behaviour from the perspective of some user of the System Under Test (SUT).
- Reliability / Repeatability – The test should give consistent, repeatable results.
- Isolation – The test should work in isolation and not depend, or be affected by, the results of other tests or other systems.
- Ease of Development – We want to create lots of tests, so they should be as easy as possible to write.
- Ease of Maintenance – When we change code that breaks tests, we want to home in on the problem and fix it quickly.