Behaviour Driven Development promises many advantages – and there are well established tools to use as well. You might think why not just start tomorrow? We did and we failed. This talk is about what went wrong and how to avoid our mistakes.
Four years ago we had various problems:
- Sprint outcomes often didn’t meet the product owners expectations.
- Developers did not develop the features in the right way.
- Testers were not testing the right things and the product owners were not accurate enough while defining their stories.
Despite the team sitting together in one room, something was not working. Even though automation was in place, it was a monolithic test automation project with Cucumber and Selenium which was only maintained by the testers.
When I joined, I started to read about Cucumber, BDD, ATDD (Acceptance Test Driven Development) and Specification by Example. I realised we struggled with a lot of problems that these approaches could help us to overcome.
- Shared understanding for the stories
- A team agreed behaviour
- A single source of truth defined by (test) scenarios (defined even before implementation) which can be automated by the whole team
We did a big bang approach and introduced BDD to every development team. The feedback was positive and the expectations were high.
But it didn’t work! In this talk, I’ll cover the following points to help other teams who are planning on introducing BDD or BDD tooling:
- An introduction to the concepts and promised benefits
- Why our first attempt failed
- What we learned from that first attempt
- What started to improve when we applied our learning to one specific team
Our current state is that we are using test automation with SerenityBDD in a team. The framework lets us test at different levels (UI, API and below) and includes Cucumber, RestAssured and Selenium. Developers are invested in the tests too because they are easy to understand and write. The project has been picked up by other teams without pushing it.
Come and learn from our experiences to make your introduction of new testing tools and techniques a success!