
Painless iOS Testing With Cucumber - DanielRibeiro
http://testingwithfrank.com/
======
scraplab
This is very clever, but I don't understand why people choose to write natural
language tests, rather than code.

Yes, I've heard of those mythical teams that are rumoured to let their project
managers/customers/users write acceptance tests, but I've never actually seen
one.

I just find it a bit odd that developers would choose to abstract their tests
behind a prose based lookup table. Maybe someone can enlighten me?

~~~
ryanmarsh
We work together with our clients to craft the language for acceptance tests
in cucumber style. It's quite valuable for us, especially on fixed bid
projects, in that it saves us from perception gaps later on.

I wouldn't let a customer write acceptance tests in a vacum, in fact we
typically recommend the acceptance tests we think are adequate and they sign
off usually with modifications.

As a side note, I'm experimenting with RubyMotion and I really like the rspec
clone built in, it would be especially nice to use cucumber with it as well
though.

~~~
thinkbohemian
Do you really though? Most cucumber features i see end up being 20 lines of
run on sentences, or they end up looking like short rspec declarations.

If you use a descriptive style "spec" testing framework, the output can be
similar "A banana should always ...", "A banana when given to a customer
should ..." which is just as readable.

I have programming students who have difficulty at writing integration tests,
much let alone their future customers. If a customer was to try to write a
cucumber test for themselves you would surely have to modify it to make it
work correctly right?

This is the only argument i've heard for this style of natural language
testing, and i've never heard it from a customer. I've never heard a
contractors client come running in from the wings yelling "WE LOVE CUCUMBER,
AND COULDN'T LIVE WITHOUT IT!!". I would be interested to hear their point of
view.

Sorry to troll on cucumber, I think easier iOS testing and more iOS testing is
only a good thing. I'm just personally not a fan of this style tests. Been
there done that, now I write my tests in the same language that i'm coding in.

~~~
tomc8888
Cucumber is a bit over-used, after having done it for a few years with product
owners and testers it can be useful to stimulate conversations around edge
cases before someone makes a guess and it ends up being wrong. They are pretty
much all integration tests which are expensive to implement and fairly slow to
run so the majority of my testing is unit testing.

I found that Calabash does almost the same thing as Frank and has support for
more mobile phones <http://blog.lesspainful.com/>

------
davidrupp
I introduced Frank to the codebase of a shipping commercial app. Just having
the ability to write functional tests without having to deal with all the
plumbing was a big win for the whole team, devs and QAs alike. Don't let the
Cucumber stuff turn you off; Frank is a valuable tool.

