Kurt Schrader, otherwise known as “The Shrade”, “Shradester”, and my boss, recently wrote a post about how we roll at Intent Media. And by how we roll, I mean how we use Cucumber to power automated functional tests of a large scale ad platform. Oh ya, that.

When I first mentioned Cucumber to a close member of the context-driven testing community, the reaction was “Oh, so you’re just entering manual scripted tests into a computer.” She’s South African, so it was more like, “You’re ent-ring scripted tastes into the computah!” (Ya, she knows who she is.)  Though I felt her pings of discontent quickly, the answer was — “Well ya, I guess…”

In the tools world, Cucumber is the blood relative of both your normal manually-scripted tests and, say, FIT or FitNesse, with a bent toward integration tests (if that’s what you use it for). It’s manual scripted testing because you type your manual scripts into the computer; it’s automated testing because you also define pieces of code that match up with each line of each test. All Cucumber does is find the right match — and then happily goes chug, chug, chug.

It’s been a fun ride so far, and I don’t have many complaints. There is a question about whether to write imperative or declarative steps throughout your tests, as well as where to put your implicit state (we leave it in the browser). But as Kurt mentioned, we’ve been highly successful so far. I’d be interested to see if we have the same troubles that plague manual scripted tests over the long term, or if automating them keeps them in the public eye (i.e., continuous integration = continuous test fixing). We shall see.

In any case, it should be noted that Cucumber isn’t our only line of defense, and part of the reason Cucumber works is because of everything else going on around it. We have PMs doing acceptance testing, devs doing TDD and unit testing, I’m leading exploratory testing (which arguably the PMs are doing as well), and Cucumber is backing us up with integration tests that both the devs and I write. And that’s only functional: We have performance testing, user testing, smoke testing, and the whole nine-yards going on elsewhere throughout the company.

So ya, I’m proud to say that’s how we roll. If you’re interested, I’d encourage you to follow Kurt’s blog for more updates about the technical aspects of Intent Media, and to see how we’re building “the next great online advertising startup” (TM).

Respond