1

Some years ago I´ve tried to work with BDD and some tools of Acceptance tests, like Selenium/Web-driver, Fitnesse and JBehave.

I´d like to back to work with that in my current project, so I would like to know what the community is using of tools to perform that!

My project is based on Java.

Acceptance tests tools ? BDD tools? Should I consider a scripting language ?

andolffer.joseph
  • 613
  • 2
  • 10
  • 24

2 Answers2

2

The most successful teams are using conversations and not worrying too much about the tools!

Having said that, here are a few Java BDD tools that are in use in the community:

  • JBehave* (still)
  • Cucumber for the JVM (I don't think it's been as maven-ized as JBehave)
  • Fitnesse (though I recommend putting "Slim" behind it instead of "Fit")
  • Custom DSLs (it's not that hard).

Selenium is still the automation tool of choice for Java and the web.

*I helped write JBehave. One reason we got into it in the first place was because the acceptance tests we saw using scripts were such an astonishing mess. Meh. Also, you can't collaborate with the business or have conversations about scripts. I strongly recommend having conversations first**, then worrying about the tools!

** If you're working on your own, buy a rubber duck.

Lunivore
  • 17,277
  • 4
  • 47
  • 92
  • While I agree that BDD only works if you are doing conversations, tools are still very important in practice. My experience with tools like Cucumber and JBehave is that they have a very high maintainance cost, because of the extra effort that is needed to bind the steps to actual implementations by using regular expressions. This extra cost can lead to much frustration when trying to implement BDD. For this reason I developed JGiven, which is a developer-centric tool that makes writing and maintain BDD scenarios much more cost effective. – Jan Schaefer Aug 19 '14 at 06:12
  • Jan, I've been doing this for 10 years and helped write JBehave. Lots and lots of teams get benefit without turning to tools. I'm now doing BDD with non-software teams too; they have nothing to automate, and are *still* getting benefit. On my last project we just knocked up a little DSL like this: https://code.google.com/p/wipflash/source/browse/Example.PetShop.Scenarios/PetRegistrationAndPurchase.cs Tools are just *nice* in practice, and the English language tools like Cucumber and JBehave are only nice if you've got business people interested in reading them. – Lunivore Aug 19 '14 at 07:11
1

I strongly recommend spockframework + Geb. You need groovy support though. We have lot of tests running as part of CI every night. The reports are in junit format (being enhanced to be used by business users soon) and hence can be published to servers like Hudson or Sonar.

Aravind Yarram
  • 78,777
  • 46
  • 231
  • 327