Why Acceptance Test?

Why Acceptance Test?

What is Acceptance Testing for? Why do we include Acceptance Tests as part of a comprehensive approach to evaluating new software?

Acceptance Tests provide us with a user-focused take on what our system should do. They complement other, more technically focused, tests. Evaluating our system from the perspective of an external user of the system and in life-like scenarios.

Acceptance Test Driven Development is an approach to software development that focuses on the outcome/purpose of the software, and not the technologies or implementation details. This 'outside-in' approach results in better designed software, and replaces expensive manual testing with automated tests that are resilient to changes in requirements, allowing the software to be developed faster and with fewer defects.?

Good Acceptance Tests are complex. Our aim in writing these high-level functional tests, is to make them understandable, stable and robust in the face of changes to the system or environment. But how can we avoid the common pitfalls which lead to tests like these being difficult, fragile, slow and prone to intermittent failure?

I was one of the early pioneers of ATDD and BDD, and have spent many years developing these techniques and sharing practices to support them through my consultancy, training courses and YouTube channel.

The key idea here is to write tests that correctly defines what the system needs to do, without exposing how it does it. This leaves the tests as protection against changes in the system, even if the system changes completely.

I have some free resources that you may find useful to help you:

  • Write better requirements for new software ideas
  • Bridge the communications?gap between "the business" and the?"dev team"
  • Write better Stories and Executable Specifications
  • Write Acceptance?Tests that don't break when the system changes
  • Automate Acceptance Tests to?eliminate expensive manual testing

In my Guide to Acceptance Test Driven Development , I describe the properties of effective Acceptance Tests, give tips on how to write them and share my “Four Layer Model” - which is the best way to adopt a BDD-style approach to Acceptance Testing.?

No alt text provided for this image
Dave Farley's Four Layer Apprach to ATDD

I have a range of courses available on Acceptance Testing, BDD, and How to Write User Stories and Executable Specifications - including a FREE short course. Find out more at?https://courses.cd.training

And several videos on my YouTube channel , including “Requirements v User Stories” and many more.

Pavel Mocan

Improving communication & collaboration in software teams. Join bdd.academy

1 年

BDD - the best way to build software! ?? ??

要查看或添加评论,请登录

社区洞察

其他会员也浏览了