Wednesday, 17 October 2012

Continuous Delivery with BDD

As we progress through our process maturity plan for 2012, we're finally reaching the good stuff! All the drudge has been automated away, we can finally start to focus on the big-ticket wins!

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 Delivery

The 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:

Powershell

Test-Platform.ps1