I’ve been working with BDD for years and felt that it needed an application that would facilitate the Behaviour-driven development work-flow. It would need to be made in a away that anyone can use it. By anyone I mean people with or without technical skills. Coders, testers, analysts, managers, business, etc. In that spirit, I started working on BDD Assistant. It is an open source application that can be used to create, manage and run BDD stories.
Now I feel that it is finally ready to go public. The application is far from being finished but there is enough done for the community to see what it’s all about. More information can be found in the BDD Assistant site. Latest release can be downloaded from our GitHub repo. Live demo (with some features disabled due to hosting limitations) can be seen from the BDD Assistant demo.
The application back-end is built using Scala and Play!. For dependency management, running tests, compilation and staging we’re using SBT. Java is retained for some parts of the application (mainly BDD steps) since future users that might need to extend it might feel more comfortable with something more familiar. In other words, application itself (at least the server-side) is written in Scala. Parts of the application I thought others might extend is done in Java.
All communication between the back-end and front-end (server and client) goes through REST API. Front-end is done with AngularJS and Bootstrap CSS for styles. Dependencies are managed with Bower and tasks execution with Gulp.
For unit tests the weapons of choice are Specs2 and Jasmine. All functional specifications and testing are done using the BDD Assistant itself. For continuous delivery we’re using Travis that deploys the application to Heroku servers.