BDD Assistant: It’s alive and cries for help

tutorialStoryOperationsI’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.

The project started around the beginning of the year and today it reached the point of having enough features implemented to serve as the showcase and hopefully attract some interest from the community. I’d like to use this opportunity to ask for help. The project is too big for me to continue working on it alone (bear in mind that I have a full-time job that leaves me with little to no free time for side projects). If you’re interested in trying out the application or contributing in any form or way, please post a comment below or send me an email to It doesn’t really matter what is your background. The project needs all sorts of skills (Java, Scala, JavaScript, design, UX, marketing, etc.). As long as your motivation is to learn something new or expand your existing skills, you’re more than welcome to join. Any suggestions on how to promote the project will be highly appreciated.

6 thoughts on “BDD Assistant: It’s alive and cries for help

  1. mac

    Very nice idea! In some project we used testrail ( enhanced with javascripts to support BDD, but BDDAssistant looks nice too 🙂

    I find the setup with Angular+Backend very nice 🙂

    May I ask how are tests are being run?
    Have you considered supporting stuff like power asserts (eg. as in Groovy/Spock?)

    I think it should be key that both technical and non technical people can use the scenarios (eg. run them from Maven/Gradle should be possible).

    1. Viktor Farcic Post author

      I gave up on the project some time ago. There was a lot of interest for such a product but I couldn’t find anyone to join me in development and had to abandon it.

      1. maconic

        IMHO you marketed it wrong. I would not simply make it a “BDD Tool” but some sort of “THE Open Source BDD Test Management Tool” 🙂 Also TBH I find the naming not the best. I can’t see other reasons why not many ppl would use it?

  2. Pingback: Opensource BDD Tools | BDD

Leave a Reply to maconic Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s