QA is boring. Let’s write our tests with bullets !
Cucumber is great but …
I’ve used Cucumber for test automation for a lot of my career, and honestly I’ve been pretty happy. It’s a great way to pull one’s thinking out of the granular code level, and starting thinking about domain or enterprise level problems.
I don’t think I’ve ever reached the BDD holy grail of Product writes it, Dev implements it, and QA verifies it, all from the same spec, but… hell, who actually drinks from a grail these days anyhow.
Meanwhile, working on my own apps, I find myself wanting to implement a TDD / Test Driven Development approach. Apparently though, I don’t want to write all that long-winded Gherkin when it’s my time we’re talking about.
I want an obvious set of tests conceived and detailed asap, then implemented easily. Or, if while coding I have a blast of
random paranoid worrying brilliant test ideas, I want to record my test cases quickly in rough notes, and I’ll implement them later on.
“Futo” is Japanese for “envelope”
The idea goes something like,
What if we were brainstorming our future app at a restaurant on the back of a napkin or envelope ?
killer.spec The Killer App * loads successfully * does some things * calculates some stuff * charges happy customers * ??? * profit !
“Chizu” is Japanese for “Map”
Implementation, inspired by Cucumber’s
step_definitions layer, looks like this:
killer_app.chizu On "loads successfully" do load_base_app wait_for_dashboard_screen end On "does some things" do press_things_button fill_in_things press_go end On "profit !" do expect(earnings).to be > costs end
A pretty simple concept, and it’s working so far on a little Rails project I’ve got cooking. I love not having to think about Gherkin. Just make a bullet point and write what you feel. The rest can solve itself.
For the curious
The initial code is on Github and RubyGems, at a very early stage so far. Some developer friends are planning to try it out with a React Native project over the summer and fall as well, so I’m hoping to have lots of great
annoying bugs progress over the summer and fall 2020.
See you in the Matrix :)