Tuesday, June 28, 2011

Book Review: The Secret Ninja Cucumber Scrolls

Most of my book reviews have been for titles that you can buy online or get from the public library. Today I want to talk about a book that is only available online and is free. This book is "The Secret Ninja Cucumber Scrolls: Strictly Confidential", written by David de Florinier and Gojko Adzic. Were it to be a pay to have book, it would be well worth it. The fact that it's free makes it a true gem.

First, some background. My exploration into Cucumber has been relatively recent, starting with shortly after the Selenium conference and accelerating with my company giving me an initiative to automate a range of user facing smoke tests. With this, the idea of Cucumber being the weapon of choice was somewhat decided for me, both by history and by recommendation from my teammates. There are a number of resources on the Internet regarding Cucumber, and there are also a couple of books out there related to Cucumber as well (most notably "The RSpec Book", which I'm also currently reading).

The challenge I've faced with many commercial books is that they usually, for sake of printed pages, have to focus on just one language or implementation, and leave the users to either match the implementation, or figure out their own environment on their own. Sometimes that's easy to do, and sometimes, due to inexperience or lack of familiarity with specific tools, a lot gets lost in translation. Additionally, a lot of books go into great and specific detail that would be helpful to an implementer of a framework, but tend to trip up more novice testers.

The Secret Ninja Cucumber Scrolls overcomes both of these issues quite handily. First, the book is written from three environment perspectives; Ruby, Java and .NET. As you might well guess, these environments have significant differences and architectural approaches, and as such, require different steps. The book itself is about 150 pages. When split between three environments, that means each environment gets about 50 pages worth of treatment. Because of this, the language specific tutorials and details tend towards the essential and most useful, which is a real blessing. For many testers, there isn't a need to have a mountain of prose and examples for every conceivable option. Get us up and running with the key insights and we'll gladly tinker around the edges to grow the set and the skills. The Secret Ninja Cucumber Scrolls adheres to this philosophy and does so very well.

Additionally, as you might guess, with its tongue in cheek title, the text and examples are likewise tongue in cheek. Most examples relate to how Chuck Norris can kick anyone's butt (I don't need to explain the Chuck Norris meme to this crowd, right? Yeah, I didn't think so ;) ). It's this fun irreverence and humorous style that makes the book enjoyable to read, and the split between the different styles makes it easy to hone in one what's important to me. Additionally, I really appreciate the fact that each area uses different tools and different frameworks and explains how to set each up, integrate the pieces, and work towards making each area work with clear examples. While I am not currently using Java or .NET for my testing, the fact that I can implement them in those environments and have the guidance necessary for them as well is comforting and encouraging. Who knows, I may need to do so some time down the road; it's great to know one book can cover all three to a good extent.

Will this be the be all and end all for Cucumber? Likely not. Will it be an excellent starting point? Absolutely! Do I plan to get more involved with it beyond here? I sure do, and this book has done more in a shorter amount of time than anything I've yet come across. If you are considering exploring Cucumber as part of an overall automation framework, start here. You'll learn what you need to to be productive very quickly, and with three environments to practice with, you're sure to find something that will work for your given area of focus.

No comments: