Business vs. Developer. Test your python code with behave! AND cooperate better with the business!
Posted by Efficient-Public-551@reddit | Python | View on Reddit | 13 comments
It is easy to use and something we all should consider. It is a good way to have the business put down accept criteria. Check out my walk through for more info on the topic: https://youtu.be/mEpljNd5QzU
MoreRespectForQA@reddit
The idea is good in theory BUT gherkin is a terrible language for doing this.
IME unless testers/devs find it easier to use a tool like this even when nobody's reading it then they shouldnt be using it.
ive found much more success writing acceptance tests in YAML with deliberate gaps left which can be filled in with snapshot testing and by doing "microsignoffs" instead.
a microsignoff would be where the PM would provisionally LGTM the given and when parts of the test (e.g. fill data in on form) but not yet the then part (data appears on dashboard). If those microsignoffs are seamless it means more back and forth and saves time going down rabbit holes.
Efficient-Public-551@reddit (OP)
The most important thing is that the team and the product owner agrees on the format. But it enables cooperation and communication if the PO is writing the acceptance criteria / behaviour driven test. Then you can always add more on top ofc.
MoreRespectForQA@reddit
Well, thats the problem. POs always prefer something informal with limited extraneous information and devs/testers need something extremely formal with everything clearly specified.
Cucumber promises and pretends to do both and shits the bed at both.
So you're better off testing with a highly formalized language for testing (e.g. YAML) from which you can generate media a PM feels more comfortable consuming (documentation, screenshots, videos even).
Efficient-Public-551@reddit (OP)
lol I have tried where it works... But the most common working scenario is that the PO places accept criteria in the jira.
lunatuna215@reddit
What's Cucumber?
Efficient-Public-551@reddit (OP)
Cucumber is a popular behaviour driven development language (dsl) which is often placed on top of tests in ie. Java. "Given", "When", "Then"...
i_like_tuis@reddit
Isn't gherkin the dsl and cucumber the java tool?
SwampFalc@reddit
But how does this interact with pickle?
(j/k, I know it's unrelated)
aloobhujiyaay@reddit
BDD only works if the team buys in. Otherwise it becomes another layer that’s not really runable
Efficient-Public-551@reddit (OP)
Great point. If not then it's just extra tech overhead and 1 guy/girl maintaining all the tests
i_like_tuis@reddit
Indeed, it's a process not a tool. Yet still the tool is imposed without the process, at least at every place I've worked.
ITomza@reddit
Didn't watch the video but I'm a big fan of behave. Tests now act as an additional form of documentation and it's very simple to decide what to do if we encounter a regression.
Efficient-Public-551@reddit (OP)
And it removes the tension between product owner and development team when running Scrum.