Behat talk recap from Drupal Yorkshire meetup

Wednesday, 11th September, 2013

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?

A project's requirements and deliverables can easily become overwhelming

A project's requirements and deliverables can easily become overwhelming (Photo: Jez Nicholson)

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?

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.


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.

Do you use Behat in your acceptance testing? Tell us about your experiences on Twitter @curveagency

Category: Conferences & Events Tags: behat, drupal development, testing
Nathan Lisgo
Drupal Developer

Nathan has been developing database-driven websites for over 15 years. He is well-versed in PHP, Drupal, and Symfony. Find him on Google+ and Twitter.