
Hello, IHs!👋
Recently I came across such a statement:
✔️TDD - to do things right.
✔️BDD - to do the right things.
What do you think of that?
In my practice, I use either both of these approaches or separately. Depending on the development project.
BDD perfectly fits for action-driven software systems like e-commerce websites, e-learning, HRM, and loyalty program solutions. Providing the ability to define user behavior, it will let you take into account all the user actions.
TDD will be the best choice if you need to develop a product that is poised to have such things as data storage and exchange, third-party API, user bases, and so on.
💥I reviewed this topic in more detail here https://blog.y-sbm.com/1skh9xd👈
What about your methods to achieve the highest quality of software products? Please share in comments.
I’m always open to a constructive discussion and ready to share my 7+ years of experience in software development.
When comparing TDD and BDD, BDD is more customer-oriented, because then you are testing for general user behavior rather than focusing on overall product functionality.
Very useful is the fact that BDD tests are prepared in a language that is understandable, which facilitates understanding between employees
As for me, BDD is more convenient when it comes to layout, because it is focused on user actions and prediction of events that can happen to the common user.
Yes, it tries to provide scenarios for the common user, which can be forced to tune it as it should at such times
In general, TDD helps you quickly achieve quality product development results.
And the product is tested more than once, allowing you to test completely different scenarios.
TDD perfectly optimizes the work of developers, because after every step you know what to do and what to do
That's right, because after every test you know that you have to write the code to successfully pass the following tests.
In fact, the benefits of TDD are hardly underestimated. By this method, you test products simultaneously with its development.
I agree with you. This method also helps to reduce testing time and improve its quality