Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tool suggestions for specification by example where analysts - not developers - write the tests?

We are looking to initiate a bdd-style approach, inspired by Gojko Adzic's specification by example. Implementation is in java and devs are already writing junit tests.

Key requirement is that specifications (acceptance tests) can be written, read and maintained by non-developers. The project will run as an agile team - so it's fine if devs have to instrument the specs. However, I don't want developers, testers or domain experts having to read or write something that looks like code.

So far I've looked at FitNesse, Concordion and various others (e.g. Spock). I've rejected spock and similar tools because they target developers as the primary audience. FitNesse seems to meet most of the requirements.

Concordion is probably current favourite however: specs looks cleaner and simpler.

So my question (actually three):

  1. Any suggestions for other tools I should look at?
  2. Has anyone been successful with using concordion (or another tool) in this way?
  3. Is concordion still actively developed/supported? Difficult to tell from website and most related SO questions are several years old.

Thanks.

like image 394
sfinnie Avatar asked Dec 19 '11 10:12

sfinnie


2 Answers

I've worked with a number of teams implementing Specification by Example with Concordion. We train our whole team up to write Concordion specifications in HTML. Only a small subset of HTML is required, so we can train a newbie in about 30 minutes. Typically we have the testers writing the HTML specification, with the BA or Scrum Master sometimes writing them.

We've used Eclipse (Web Page Editor) for editing the HTML. This works well, except that Concordion requires valid XHTML, and Eclipse does not allow HTML to be validated as XHTML. This mostly shows with <br> tags being used rather than <br/>. We cover this off in training. We also train the whole team in the use of source control. By using Eclipse, we have a single user interface for editing and source control. We also find that having the team using the same IDE is a step on the journey to a cross-functional team.

I know of another team where the BA is writing the specifications using a Mac-based HTML editor.

Concordion is actively maintained, with rapid responses on the mailing list (Yahoo) and the issues list. The Concordion codebase is stable. The active development over the last year or so has focussed on the extension mechanism, allowing users to add commands and listeners (eg. for capturing screenshots on test failure).

like image 164
Nigel Charman Avatar answered Jan 03 '23 16:01

Nigel Charman


Also take a look at Cucumber and JBehave, both of which allow specifications to be written in plain text.

If you choose to use FitNesse, it may also be worth looking at Slim, which sits behind FitNesse in place of Fit. It provides slightly different table formats to Fit, and I've found it suits BDD much better.

like image 30
Lunivore Avatar answered Jan 03 '23 16:01

Lunivore