1. Are they written as end-to-end tests?

2. Let‘s say using Selenium?

3. What‘s the abstraction level in practice? Is it „when I click button X…“ or is it „when a salesperson creates a discounted offer“?

Please tell me when I ask to much.

Reply to this note

Please Login to reply.

Discussion

Hey, no problem. I'm surprised to find someone interested in this topic. 😄

They're written as business scenarios and you can combine them into E2E tests. You can reuse one scenario like "login with valid customer profile" into lots of different E2E tests.

At my old company, we were using Behat. That was a couple years ago. It's based upon Gherkin and the parsers often use Mink (similar to Selenium) or something. But you can also

https://docs.behat.org/en/latest/

I know some java developers that were using Cucumber Open, I think:

https://cucumber.io/tools/cucumber-open/

I rediscovered my interest for BDD with the rise of ChatGPT. The long road to „AI“-supported coding must include good and executable specs somewhere, I believe. We‘ll be in an undebuggable mess otherwise.

What percent of project budget do you typically allocate to writing those business scenarios?

About 15%, probably, as you sometimes have to rewrite and you have to make sure that they all fit together.