Acceptance Test-Driven Development

Acceptance Test DrivenIn our constant effort to continually improve our software processes, we’re beginning to explore Acceptance Test-Driven Development!    This would fit in with the current Agile model we employ and would help make sure we have more buy-in from the Product Owner in the planning process and make it easier for him/her at the same time.

Acceptance Test-Driven Development is a way to write the acceptance tests in advance and have the end user agree on the exact functionality before writing the code. Then the code can be written (and tested) without the need for extensive UAT (and bug fixes) after the fact.  Find out more about ATDD here.

There are many tools available such as Robot FrameworkCucumber (Ruby), FitNesse and Concordion.  We have begun to use FitNesse on a trial basis.  FitNesse is an integration testing tool that allows you to easily create and run automated tests and then verify that the code passes (or fails).  The important thing to note is that these tests apply to the business logic only – they do not test validations on text boxes and things like that.  But, you’ll know that your functionality is all there before you turn it over to UAT.  For more information about FitNesse go to www.fitnesse.org.

We would love to hear from you if you have worked with Fitnesse or any of the other tools out there and what your experience has been.