Behavior Driven Development on Drupal made easy with Behat UI (or: giving power to business stakeholders)

Speakers: 

Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project.

BDD focuses on obtaining a clear understanding of desired software behavior through discussion with stakeholders. It extends TDD by writing test cases in a natural language that non-programmers can read.

Behat is a behavior-driven-development library that allows you to write functional tests against your application just by writing human-readable sentences/scenarios.

Recently, it's possible to notice that many Drupal teams are already using BDD, automated tests and agile methods in their workflows.

But on many teams it's still necessary to have a developer responsible for writing automated tests, and this developer needs to talk to the business stakeholders in order to understand their needs, which can make the process more expensive, less effective and more risky.

As mentioned on "Why Software Projects Fail" [1]: "A common risk with software development includes communication breakdowns between Developers and Business Stakeholders".

So, what if the business stakeholders could be able to write their own test cases? What if they could be able to not only read the test cases, but also create them?

On this session we present Behat UI [2], a Drupal module created by the author, that gives power to business stakeholders by letting anyone, not only developers, create and run Behat/Mink tests directly from the browser, using a intuitive and interactive interface, with drag and drop to order steps, auto-complete to complete step names and highlighting features to show easily where the parameters must be filled, among many other cool features. The users are also able to run (and watch) the tests in real time while they are being implemented, and at the end they can download the updated feature with the new test case. No need to write a single line of code and no need to setup an own testing environment.

We used the created module (which is available for the Drupal community) and the following BDD workflow on Meedan [3], while working on Checkdesk project [4]:

1) Developers are responsible for implementing steps, not tests
2) Business stakeholders are responsible for creating tests, using the steps implemented by the developers

This workflow is much simpler, effective and agile, since it allows the actors to do their best: developers implement code and business stakeholders implement tests.

Our workflow will also be presented during this session, with real examples.

This video shows better how the module works: http://ca.ios.ba/files/drupal/behatui.ogv

References:

1- http://www.geneca.com/75-business-executives-anticipate-software-project...
2- https://www.drupal.org/project/behat_ui
3- http://meedan.org
4- http://checkdesk.org

Schedule info
Track: 
Coding and Development
Experience level: 
Intermediate
Drupal Version: 
Drupal 7.x
Status: 
Unprocessed