After completing my Scrum Master course I felt it was high time I review some of our existing engineering practices and consider ways to improve. Whilst we practice strict test-first TDD and have 100% code coverage as part of our “definition of done” the one area that we’ve been missing is automated UI testing and acceptance testing. After all, high code coverage doesn’t mean a thing if the requirements are not met. ATDD & BDD This motivated me to rediscover what is known as Acceptance Test Driven Development or ATDD which is about defining automatable tests from a customer perspective that closely reflect the requirements described in the User Stories . This is also associated to Behaviour-Driven Development (BDD). The cool kids in the Ruby world caught on to this way back when we were still doing web forms development. Some of the Tools available in this space are: RSpec (Ruby) Cucumber (Ruby) Robot Framework (Java & Python) FITNESSE WatiR Web