Acceptance Test Driven Development
ATDD is a social form of software development which requires members of a development team (including testers, developers and users) to fully understand the acceptance criteria that have to be fulfilled by the system early on in the development process.
This ensures that all stakeholders understand the main objectives of each requirement in terms of the functionality it provides to the end-user. The acceptance criteria are often developed from a user’s perspective and in this case user personas and user stories can come in handy.
In ATDD, acceptance criteria for each requirement are written before coding starts. These criteria are best described by business representatives such as the requirements analyst.
When the acceptance criteria are developed and run on the system, any failures are noted and the developers refactor those components by adding the minimum code needed to help them pass the test at the next attempt.
This process is carried out iteratively, usually at the end of each sprint, until the final product is ready for deployment.
As you can see, ATDD is practically identical to TDD in the later stages, the main difference being that the actual testing is preceded by a joint effort between different team members to mutually agree upon the acceptance criteria to be fulfilled.
This gives further direction to the team and helps them keep in mind the bigger picture that is the ultimate purpose of the finished product, rather than be absorbed in the nitty-gritty of code tweaking.
The motto for ATDD would be: Show me where I need to be and I’ll get there eventually.

No comments:
Post a Comment