Implementing BDD is one of the highlights on our Process Maturity Model (PMM); Moving to BDD will give us better:
- Self documented code
- Tighter functional specifications
- Better integration from the testing team
- Automated acceptance testing
My colleague Stephen Newman rightly deserves the credit for implementing BDD with SpecFlow and WatIn.
My post however, is going to focus on the very simple act of automating acceptance tests artefacts of the BDD process.
Continuous DeliveryThe great thing about BDD is it weaves itself seamlessly into the development process, that the acceptance tests are just artefacts of the process.
So with the testers and developers using BDD for feature development, I now have access to a large volume of acceptance tests which I can run post deployment to UAT. Leaving the testers free to concentrate on complex scenarios.
Should any of these tests fail then the build is automatically rejected, just as it is for Unit Tests and Static Analysis.
Anyhow, no waffle on this post, here's the scripts: