As developers we love to solve problems that meet real world needs. It can be difficult and time-consuming to humanly test for whether or not these needs have been delivered. Do you recognise this story?
Behat talk recap from Drupal Yorkshire meetup
A developer has worked hard to achieve what they considered to be a clear objective only to find that the client is underwhelmed and that the objective that they have found such an elegant solution for does not work how the client envisaged.
How did this happen? Where does the failing lie? And of course in all of this there is a cost; in order for the client to get what they want, more resources must be allocated to a project than may have been originally planned. Who is then responsible for paying for this resource?
Who pays the fee when additional resources are required? (Photo: DG EMPL)There could be multiple points of failure, but the ability to communicate in an ubiquitous manner amongst the whole team is a challenge that should not be underestimated. Developer resource is valuable and we need to ensure that no time is wasted on solving the wrong problems. The wrong problem is a problem that does not meet an agreed business need.
Behavioural Driven Development (BDD) is an approach that helps us to identify real business needs. It is a process that encourages an ubiquitous language to define the specifications of a project and helps to identify the priorities in a project.
The so-called father of BDD is Dan North. He wrote the article “Introducing BDD” for Better Software magazine in March 2006. I cannot recommend his writings highly enough.
Behat is a tool that assist the monitoring of progress of a team in its ability to meet the business needs of your clients, through automated acceptance testing. You may have heard of Test Driven Development (TDD) but what should you be testing for? There are a lot of things that can be covered in these tests, but there is no higher priority than to assure that the business needs and user requirements of your client have been met, so your tests must cover these.
#pizza #drupalyorkshire pic.twitter.com/ZlhqSrvVe5
— Nathan Lisgo (@nlisgo) June 11, 2013
Behat - Drupal Yorkshire Slideshare
Behat allows you to write automated tests against project requirements in human readable language. These tests can be run throughout development of a project in order to automatically check that needs are being met.
Tonight's sixth #DrupalYorkshire is now sold out! @nlisgo you've got your work cut out :) #behat
— Drupal Yorkshire (@DrupalYorkshire) June 11, 2013
A full house for the #drupalyorkshire #behat meetup this evening :) #beer #pizza
— Nathan Lisgo (@nlisgo) June 11, 2013