4 ms·
Contrary to many people I've had a bunch of positive experience using Cucumber in very specific situation(s): - I was an outside consultant working with nontec
by jaggederest 3y ago
Contrary to many people I've had a bunch of positive experience using Cucumber in very specific situation(s):
- I was an outside consultant working with nontechnical but very process oriented management teams
- There was low trust in existing technical workflows: they had been burned by bugs, failure to deliver, and overpromising so a big part of my task was building rigor and consistency into the engineering workflows
- They were extremely engaged in managing the workflows (the core of the business was doing the thing that we built an app to do)
In that context, they loved having a printed out (!!) copy of all the cucumber tests running on the most recent build so that they could see what was passing and what was failing: Color printer, green line passes, red line fails.
Once I got them into the habit of writing "given when then" statements to define existing features, bugs, and functionality, they were happy as a clam being able to specify things. Eliminated a lot of the usual back and forth over "yes but what exactly do you mean" that non-technical people often create due to not being clear and exact enough for technical purposes.
I would implement the parsing and selenium-based testing that validated whether the cucumber was passing and we would have a shared understanding of where the code was at and whether there were any regressions. In the occasional case where my understanding didn't match what they expected, we had context to work together to figure it out.
All in all it earned me a fair amount of money and lowered the stress of being a consultant for those companies substantially so I have a lingering fondness for it. But like I said it's a very specific situation to deliver that kind of value.
- hitchstory 3y agoI've had, I think, 1 working experience and 6 or so highly negative and it was mostly the nature of the system under of test that made it work or fail. For simple and very clear Given/When/Then scenarios with clear inputs and results that were easily represented with a small amount of text it worked. Think a trading system with a few codes and a small amount of data on the left and an expected result like a calculation on the right. Where there was a lot of stories that branched off from one another (e.g. a website with lots of potential user flows) it inevitably led to stories that were too vague or too repetitive or more usually, both. I'm convinced that it does work for a certain kind of application for which the DSL is capable of representing its scenarios, but it's not the kind most of us develop.
- jaggederest 3y agoThe cases I was using it for involved internal applications, so you're right, there was a lot more clarity about "what to do when user click button b" than random people on the internet bouncing around a store and adding things to a cart. There were also a lot of cucumber scenarios and suites involved. Like think dozens of printed pages in relatively small font. Concise it is not. But the people involved wanted verbose and clear over concise and easy :) It can be a very reassuring way to develop software for stakeholders - "We added 8 scenarios, and made a further 4 failing scenarios pass this week" - as opposed to "our developers spent 6 months and then quit without delivering any code"
- drewcoo 3y agoAll three of those bulleted scenarios are trust failures. I'm glad Cuke made you money. There are lots of ways to make money from mismanaged companies. If we were actually professional engineers, we'd have a code of ethics. I'd like to think that the ethical code would involve not doing harm to a business or intentionally obscuring harm being done.
- jaggederest 3y agoYou misunderstand: all 3 were present in each of the scenarios I used it. They were in a bad spot, I did my best to help, no exploitation involved. I don't care for the implication that I was being unethical - I hold myself to a very high standard, and I do have a code of ethics, thanks very much.