Discussion:
[Cucumber] Misuse of cucumber
Add Reply
Tobias Bell
2018-04-09 20:03:18 UTC
Reply
Permalink
Raw Message
Hi everyone

while I really like the idea of executable specifications, I am currently
surrounded by feature files like this:

Given a valid call "valid.json"
When the service is called
Then the result is "result.json"

Maybe be slightly exaggerated but you get the drift. Now I have to look at

- the feature file
- the data files
- the stepdefs

to understand what is happening. And people are okay with it

- It's easy to create more tests, just add two json files
- Ok, you don't understand it but the business (aka developers who wrote
it) understand it

Is it just me, or is this not a good use of cucumber? The other thing
nagging me. Scenarios which are essentially unit tests.

What do you think of it? Have you ever come along this?

Regards
Tobias
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
aslak hellesoy
2018-04-10 13:41:29 UTC
Reply
Permalink
Raw Message
Post by Tobias Bell
Hi everyone
while I really like the idea of executable specifications, I am currently
Given a valid call "valid.json"
When the service is called
Then the result is "result.json"
Maybe be slightly exaggerated but you get the drift. Now I have to look at
- the feature file
- the data files
- the stepdefs
to understand what is happening. And people are okay with it
- It's easy to create more tests, just add two json files
- Ok, you don't understand it but the business (aka developers who
wrote it) understand it
Is it just me, or is this not a good use of cucumber?
No, this is typical bad use. Scenarios with implementation details are
better expressed as unit tests, using a unit testing tool.

If you can't get feedback on your scenarios from a non-technical
stakeholder it is just overhead IMO.
Post by Tobias Bell
The other thing nagging me. Scenarios which are essentially unit tests.
What do you think of it? Have you ever come along this?
It's more common than you think. Unfortunately, most people using Cucumber
still think it's a testing tool.
https://cucumber.io/blog/2014/03/03/the-worlds-most-misunderstood-collaboration-tool

Aslak
Post by Tobias Bell
Regards
Tobias
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Tim Walker
2018-04-10 14:02:43 UTC
Reply
Permalink
Raw Message
[tim] below
Post by Tobias Bell
Hi everyone
while I really like the idea of executable specifications, I am currently
Given a valid call "valid.json"
When the service is called
Then the result is "result.json"
Maybe be slightly exaggerated but you get the drift. Now I have to look at
- the feature file
- the data files
- the stepdefs
to understand what is happening. And people are okay with it
- It's easy to create more tests, just add two json files
- Ok, you don't understand it but the business (aka developers who
wrote it) understand it
Is it just me, or is this not a good use of cucumber? The other thing
nagging me. Scenarios which are essentially unit tests.
What do you think of it? Have you ever come along this?
[tim] Always. For 20 years now. Unless we "publish" our executable
specifications the value of them to continue to communicate as living
documentation is greatly diminished. I am firmly in the camp of of treating
our Cucumbers as our gold standard for documentation about the system but
the "Given/When/Then" abstraction, in both imperative and declarative usage
can be onerous to read, either there's not enough information to make it
valuable or there's too much of it to make it worthwhile to read. I remain
dedicated to the concepts of www.relishapp.com and extensible plugins to
augment our specifications with images, text, markup, links, screenshots
and more. I feel we are on the cusp of really taking this to town and I see
ALM tools even baking in executable specifications. In your example, why
not have a rich UI to drill down from the features to the tables and
underlying assertions, at any level in the system? Are we limiting our
thinking and constraining the power of the approach? Tim
Regards
Tobias
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an
For more options, visit https://groups.google.com/d/optout.
--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...