ATDD and Thucydides – part 1 of 2

13.3.2013 | 2 minutes of reading time

In a world where test driven development is becoming more important every day, one of the biggest challenges for technical people is to translate questions from non-technical people into technical solutions. One of the methods to bridge the gap between non-technical and technical people is choosing for ATDD (acceptance test driven development).


ATDD allows for example agile teams to have a common understanding of the requirements and expectations of stories in the backlog.  This can be done for instance by having a mini-workshop with people who know the the domain, developers and testers. These three different roles can help to specify a story by defining, clarifying and verifying. By having these three roles together a common understanding or specification should be and can be reached.

A common understanding of a specification should be documented, but also needs to be tested if the specification is implemented correctly. To bridge the gap between documentation and test a DSL (domain specific language) should be used. A DSL helps the people who know the domain, developers and testers to have a common language to communicate specifications.

There are currently different DSLs already available that can help you to have specification in a readable format for domain representers, developers and testers. These DSLs also allow you to have these specifications automatically to be tested. (examples of these DSLs are implemented in frameworks like easyb, cucumber and jBehave) By choosing a language to define specifications, team members are able to communicate features with each other in a unified way.

JBehave example from the TDD training application:
Scenario: Calculate triangle type EQUILATERAL

Given The triangle form is loaded
When side A is 2, side B is 2 and side C is 2
And submits the triangle form
Then the triangle type should be EQUILATERAL

Scenario: Calculate triangle type ISOSCELES

Given The triangle form is loaded
When side A is 2, side B is 2 and side C is 3
And submits the triangle form
Then the triangle type should be ISOSCELES

Doing ATDD for web applications can also be done, by choosing test framework like Fitnesse or Thucydides. Thucydides will be explained in the second part of the blog.

share post




More articles in this subject area\n

Discover exciting further topics and let the codecentric world inspire you.


Gemeinsam bessere Projekte umsetzen

Wir helfen Deinem Unternehmen

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.