Saturday, December 6, 2014

Cucumber Ain't Bad, But You Might Be Doing It Wrong

My talk got selected for CodeMash 2015, and I was invited to speak there in January 2015. The best way to prepare for the talk is by practicing it a couple of times before the conference. I've worked hard on my message, on my slides, I even watched Ben Orenstein's presentation on "How to Talk to Developers".

This past Tuesday I gave the talk's initial version at the Chicago Ruby User Group. A good crowd came out to listen to what I had to say about the topic despite the cold, wintery weather. I received a couple of questions, had good conversations with some of the folks afterwards.

Are you unsure about the topic? Here is the pitch for my talk:

The cry from developers is unanimous: “I don’t like Cucumber. My acceptance tests are brittle and hard to maintain!” And in fact, they can be.

This presentation will show you what tools and techniques you should use to write independent, stateless step definitions that can be weaved together to form a testing DSL.

You can review the code examples in this repo.

And here are the slides:

7 comments:

George Diaz said...

Great talk. I remember you mentioning you used warden to get through the login page Can you send me a gist or example of how you were able to do that?

Attila Domokos said...

Thanks George!

Check out this article, it should describe Warden's test hook: https://github.com/plataformatec/devise/wiki/How-To:-Test-with-Capybara

We have this in our features/support/warden.rb file:
```ruby
Warden.test_mode!
World(Warden::Test::Helpers)

After { Warden.test_reset! }
```

Hth!

Daniel DeStefano said...

Great talk Attila, I was in the front row and gained some great knowledge. I have been learning all this stuff on my own over the last year, so this talk explained a lot of "why we do this" and it was awesome!. However I slightly have forgot some of the points around Uncle Bob's quote at the end... I know that we should not use cucumber to define our test cases, but instead to describe the behavior, but I was wondering if you could re-iterate or elaborate again on this final piece/philosophy.

Attila Domokos said...

Daniel, thank you for your comment and for coming to my talk.

When and why to use cucumber is so important, that I'll blog about it in the coming days.

Daniel DeStefano said...

Looking forward to it, really trying to start understanding the economy of QA and all the surrounding concepts/tools. Thanks again!

Attila Domokos said...

Daniel, here is the blog post I wrote to elaborate on my closing thoughts from the talk. Hope it helps, let me know if you have other questions!

r11runner said...

Thanks a lot for this talk. I've been using Cucumber in my private projects for some months, and I find it really amazing. This talk gave me several hints how to use it more efficiently - and perhaps one day also in larger projects. :-)

Post a Comment