BAT-NL #2: DaSpec

The 21st of August 2015 a group of Agile testing experts came together in the second edition of the BAT-NL peer conference. The theme for this edition was “Hands-on” and all attendees had prepared at least one topic.

After a round of pitching and voting idea’s, the top two topics that stood out were an introduction to Serenity, suggested by Kishen Simbhoedatpanday and an investigation of DaSpec suggested by Johan Vink. We decided to split up in groups and do a shootout of both tools.

Here’s my report on DaSpec, decide for yourself.

Early August Gojko Adzic provoked us with a crazy idea, as he called it. A prototype of DaSpec was born, a new executable spec/BDD type tool, using markdown as its primary source format.

As apposed to most other BDD tools DaSpec promises a lot of freedom in the way we describe our scenario’s. Combining natural language with tables. The use of markdown provides you with extra formatting possibilities and empowers version controlled collaboration on the specifications.

Our group set out to see if it was indeed just a crazy idea, or if it actually cuts ice. For now the prototype only supports Javascript, so that is a limitation. But for a prototype it is quite sophisticated and comes with several installation methods.

The different purposes are well exampled and we started out with the web interface example, which comes with an example git project. This narrowed down our possibilities a bit, as we found later, but it is a good start to capture the concept.

Due to a firewall issue with our venue’s wifi, it took some time to get the Bower project up and running, once solved, running and working with the tool was a breeze. The cool thing about the browser variant is that, since it is all javascript, it entirely runs in your browser. Giving direct access to your specification, the step definitions, the source and the test execution/rapportage. It allows to simply switch between the markdown syntax and the readable format.

Later I found the entire installation was a bit wasteful, because all necessary examples of the web interface are available and fully operational in the examples section of the DaSpec website.

The main limitation of the web interface is that it allows only one spec at a time, which for a realistically sized project would be insufficient.

With a little remote guidance by Gojko, pointing us to several useful example implementations, we found that for larger projects the console runner offered more perspective, as this NPM example example points out.

Putting the tool to use requires at least Javascript knowledge and some basic knowledge of  the markdown syntax. We think DaSpec has great potential, but is still a bit premature at this time.

We all agreed it has immediate potential when used as an educational tool, for explaining the power of Specification by Example. We plan to create a SpecbyExample tutorial with the use of DaSpec, because it so brilliantly simplifies the relation between examples, step definitions, implementation and the immediate output of the result.

Screen Shot 2015-08-24 at 22.57.39

Special thanks to @gojkoadzic and @davedf for this luminous idea (additional kudos for the instant product support by Gojko)

I don’t know if the comparison with Serenity at this point is still relevant. Read @maaikees blogpost on Serenity. Let us know what you think!

One thought on “BAT-NL #2: DaSpec

Leave a Reply

Your email address will not be published. Required fields are marked *