Comments on: Is Cucumber just a scam? https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/ Matt Wynne taking it one tea at a time Wed, 21 Aug 2019 12:53:53 +0000 hourly 1 https://wordpress.org/?v=6.2 By: Dalibor Nasevic https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1903 Wed, 09 Jan 2013 00:08:11 +0000 http://blog.mattwynne.net/?p=465#comment-1903 Examples written with RSpec and Capybara read almost like plain English so if no direct involvement of stakeholders in the project I prefer to use them.

]]>
By: Chris Young https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1815 Wed, 14 Nov 2012 15:52:39 +0000 http://blog.mattwynne.net/?p=465#comment-1815 I’ve just come out of a specification workshop with two domain experts and one big data expert. In the workshop we wrote the first scenario for the first feature for a new project and in doing so discovered a whole load of stuff which was hitherto tacit knowledge.

We now have this knowledge made explicit and stored in svn.

This stuff is real, and it works!

]]>
By: Seb Rose https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1808 Mon, 12 Nov 2012 16:32:10 +0000 http://blog.mattwynne.net/?p=465#comment-1808 t use Cucumber unless you live in the magic kingdom of non-programmers-writing-tests (and send me a bottle of fairy dust if you’re there!)." </p> <p>First, he called out Cucumber, not JBehave, FitNesse or any other tool, but he's talking about "non-programmers-writing-tests" in general. Troll!</p> <p>Second, as George pointed out, it's not who writes the examples that is important - it's that there's an increased level of communication between dev, test & business.</p> <p>And finally, I think we do ourselves a dis-service if we accept (even in jest) that there's pixies, magic or any other flavour of faith involved in developing good software. </p> <p>Just say no (to the dust) & brew yourself another cup of tea.</p> ]]> Thanks for the post, Matt, and the pointer to DHH’s blog. I think he made some very good points in his post, and he declared his troll-like, intentions clearly: “So let me firebomb the debate with the following list of nuance-less opinions.”

Where troll-like became troll was with point 6, which is the subject of your response: “Don’t use Cucumber unless you live in the magic kingdom of non-programmers-writing-tests (and send me a bottle of fairy dust if you’re there!).”

First, he called out Cucumber, not JBehave, FitNesse or any other tool, but he’s talking about “non-programmers-writing-tests” in general. Troll!

Second, as George pointed out, it’s not who writes the examples that is important – it’s that there’s an increased level of communication between dev, test & business.

And finally, I think we do ourselves a dis-service if we accept (even in jest) that there’s pixies, magic or any other flavour of faith involved in developing good software.

Just say no (to the dust) & brew yourself another cup of tea.

]]>
By: George Dinwiddie https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1803 Sat, 10 Nov 2012 23:33:49 +0000 http://blog.mattwynne.net/?p=465#comment-1803 s also possible to define Step Definitions using strings and $variables like this:"</p> <p>In my experience, it's not very important for BAs to write gherkin. It's not important for them to write the examples down at all. Communicating them to someone who can write them in a form that works is just fine.</p> <p>It is, however, important that they can read them. Having someone else have to tell them what the tests mean is a problem.</p> ]]> Artem, you don’t have to use regexes. You can use strings. I hear that complaint from time to time about cucumber, so it seems that’s not a commonly known thing.

From https://github.com/cucumber/cucumber/wiki/Step-Definitions “Some people are uncomfortable with Regular Expressions. It’s also possible to define Step Definitions using strings and $variables like this:”

In my experience, it’s not very important for BAs to write gherkin. It’s not important for them to write the examples down at all. Communicating them to someone who can write them in a form that works is just fine.

It is, however, important that they can read them. Having someone else have to tell them what the tests mean is a problem.

]]>
By: Evan Light https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1799 Thu, 08 Nov 2012 20:34:04 +0000 http://blog.mattwynne.net/?p=465#comment-1799 And you can achieve that same communication using something like coulda, turnip, or just pending rspec/minitest-spec specs.

If it can be easily marshaled to plain English, it can be easily discussed.

Put another way: coding in pseudo-English is a red herring.

]]>
By: Rob Crawford https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1798 Thu, 08 Nov 2012 14:16:31 +0000 http://blog.mattwynne.net/?p=465#comment-1798 Did anyone say cucumber was the only way?

]]>
By: dude https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1795 Tue, 06 Nov 2012 14:42:16 +0000 http://blog.mattwynne.net/?p=465#comment-1795 Well, BDD sounds like it could work for some teams, sure. But you lost your way around the end there.

This example team went from the painful fiddly annoyance that is cucumber (which as you say has some potential benefits that may or may not outweigh that annoyance) to… nothing? No tests at all? No planning, no bug reports, no QA team working to find issues… nothing?

Sorry to say, but these people are just a crappy team that were using BDD as a crutch to help them not suck. SOME teams are capable of not sucking no matter what process they use. DHH likes a regular, sane “test in a way that gives me confidence in my code base and ability to make future changes” testing methodology. Don’t act like cucumber/BDD is the only way to do this.

]]>
By: artem avetisyan https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1793 Tue, 06 Nov 2012 10:37:13 +0000 http://blog.mattwynne.net/?p=465#comment-1793 Totally agree with Jason Gorman.

While “bridging the communication gap” is very important, cucumber is not an ideal mode of transport:

  • Gherkin language is too restrictive. How many times have I found myself correcting ‘incorrect’ BA’s steps? Many, many times. What if they were just writing them in English? One less translation level. Exactly what is needed for better communication;

  • Regex dispatching is a terrible idea. Classic showcase for ‘Have a problem? Use regex. Now you have two problems’

  • The whole ‘reuse step’ idea is flawed. If you want to reuse, the underlying language (ruby, java, etc.) provides much better tools to do that (packages, classes, modules, etc).

Having said that, I am using cucumber both at work and for personal projects… But I am not happy with it! 🙂

]]>
By: Phil https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1791 Mon, 05 Nov 2012 23:47:04 +0000 http://blog.mattwynne.net/?p=465#comment-1791 For me, the primary value of TDD is that I write less code. I only code for actual expected specs and not layers of abstraction I won’t need, tightly coupled god methods, or tweaks and features nobody actually asked for. The time savings from doing TDD are immense.

DHH’s points are valid if tests are just a way to check for bugs, but that’s an extremely immature view and use of TDD. That’s like novice-level TDD. TDD is a design tool.

I use Cucumber and TDD on every project. It saves me a ton of development time, a ton of potential requirements misunderstandings, and a ton of tight coupling. I can’t imagine how slow I’d be without it.

]]>
By: Marco Vermeulen https://blog.mattwynne.net/2012/11/02/is-cucumber-just-a-scam/comment-page-1/#comment-1790 Mon, 05 Nov 2012 22:58:31 +0000 http://blog.mattwynne.net/?p=465#comment-1790 Well, here follows a success story of a different kind:

I recently embarked on a new project bringing the ease of use that RVM brings to Ruby developers to the Groovy community. So, GVM was born (http://gvmtool.net)

From the outset, I chose to collaborate with my fellow developers by fleshing out our features in Cucumber’s Gherkin syntax. We used concise examples of how the tool should function on the command line, then implemented the behaviour as an outcome. All the scenarios for the project so far can be found here for all to see and collaborate on:

https://github.com/gvmtool/gvm/tree/master/src/test/cucumber/gvm

At this point the tool is alive, well and growing rapidly. It’s continually improving as new features are added or existing ones challenged. It might not be a big kingdom yet, but it’s magic nonetheless!

]]>