1. BDD is an out dated approach and slows down continuous integration and continuous flow.
2. BDD is just another form of unit tests or extension of unit tests.
3. Combination of code coverage (Unit tests/integration tests) and UI tests are more effective for CI/CD over BDD.
4. Many teams extend their BDD scenarios in to BDD-tests and not fully taking advantage of verification techniques like integration testing and system testing.
5. BDD adds more burden on Devs and process. Lets Devs write development code and tester add test code.
6. BDD introduces confusion between technology faced testing (are we building the system right?) Vs business faced testing (are you building the right system?).
7. Lets business take care of business faced testing. Tech team should focus only on technology and rework based on the feedback.
8. How come you have zero automation tests outside unit tests+BDD and have no bug leakage ? What happens to the well known code verification automation techniques post development?
9. BDD forces more UI based testing approach.
--
You received this message because you are subscribed to the Google Groups "Behaviour Driven Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to behaviordrivendeve...@googlegroups.com.
To post to this group, send email to behaviordriv...@googlegroups.com.
Visit this group at https://groups.google.com/group/behaviordrivendevelopment.
For more options, visit https://groups.google.com/d/optout.
Hi Nilofar,This looks like fun. I've got a go-to phrase for these kinds of conversations. See if you can spot it!1. BDD is an out dated approach and slows down continuous integration and continuous flow.Can you define what you understand to be "BDD"? Because if you say "testing", BDD isn't about testing. More on that later.
BDD isn't about testing. Though, arguably, unit testing as it's normally done isn't about testing either. It's about coming up with examples of how to use a system, or a class, to illustrate the behaviour you're after. Conversations around the examples let us explore whether we have a common understanding of what the system should do.
3. Combination of code coverage (Unit tests/integration tests) and UI tests are more effective for CI/CD over BDD.BDD isn't about testing. Though you might use scenarios to supplement other forms of tests. I think of scenarios and unit-level examples as living documentation, and the CI / CD pipeline as the thing which keeps those up-to-date. If you make the code easy to understand and keep the documentation alive, there are normally fewer bugs anyway.Other than that, I fully agree with the idea that you should have a lot of unit tests, fewer integration tests and far fewer end-to-end scenarios. Most teams do get the balance wrong IMO.
8. How come you have zero automation tests outside unit tests+BDD and have no bug leakage ? What happens to the well known code verification automation techniques post development?BDD isn't about testing. And you will have bugs. Even Amazon's system went down earlier this year. There are always scenarios we didn't think of.There's a lot of ways to mitigate that, and I really love the DevOps movement and its focus on automated deployment and recoverability. But, you know, if you've got some other techniques that help you, BDD isn't a silver bullet and was never intended to be. Use the tools where they make sense.9. BDD forces more UI based testing approach.BDD isn't about testing. It's just examples of how your code works. Konstantin and Aslak have both done huge amounts of work around automation at different levels on the stack... and the first BDD tool actually started off as a replacement for JUnit; you can use it as an alternative to TDD as well (TDD is also not about testing).So, just to recap: BDD isn't about testing. If anything, it's an analysis technique. It might produce things you call tests as a nice by-product, but if those are the things you're focusing on, you're probably doing it wrong.
--
You received this message because you are subscribed to the Google Groups "Behaviour Driven Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to behaviordrivendevelopment+unsub...@googlegroups.com.
To post to this group, send email to behaviordrivendevelopment@googlegroups.com.
The original intentions of BDD are well documented. Sticking our heads in the sand and say "you're doing it wrong" doesn't help.
1) Nothing stops you from having conversations and writing great specs with real world examples. Not the invention of BDD. Some people think specs are not agile though. I consider that a major issue we should work on.
2) I haven't come across a single software project where stakeholders used BDD tools to collaborate on specs as originally intended (you can blame my poor selection of customers if it helps).
Instead I observed that many teams started doing "BDD system tests" (running the tests against an API or UI) as a replacement for unit testing when they figured their architecture wasn't good for TDD and they didn't want to write unit tests anyway.
As you wrote, many teams get the balance wrong and IMHO it starts with getting infected by a hype like "BDD" or "TDD is dead".
3) Frameworks hiding test code in deeply nested blocks of Describe, Context, It and Expect are the immortal remnants of BDD. See https://onsi.github.io/ginkgo/ and many others. For my part, I would prefer developers to write classic unit tests based on the specification and additional edge cases as I find them more readable and concise (but I know, that's just my opinion).