In recent years we have witness real revolution in terms of software development and testing.
If you are a part of the software testing world you probably know that there is a constant attempt to improve time to market and as a result more and more companies are moving from the traditional waterfall approach towards agile or agile like approaches, where testing is done on all phases and by all members.
Another important move is the adoption of automation testing tools. These are gaining a significant share of testing and are allowing for improved time responses and cost reductions.
One of the concepts that have emerged in recent years, that seems to combine technological tools and work methods, is BDD or Behavior Driven Development testing
So, what is BDD testing???
BDD Testing is a testing methodology that encourages cooperation between all parties involved in the project, whether they are technical or non-technical.
In this methodology you can find automated test scripts written in an easy to understand language that people outside the development and testing teams can easily understand as well.
BDD Testing is a work method that character as outside-in work, meaning that the test cases are driven by the system’s business/product features and describe actual actions expected by the system users. Tests are typically based on the concept of “given-when-then”, describing a starting point scenario- the given, a user behavior- when a user will act in the described way- then what will the expected result.
The combination of readable test cases that describe the behavior of the system from end to end makes them a living, documents of the system requirements.
This concept is the evolution of another development method called Test Driven Development (TDD). In TDD automation tests are written before the actual use of the parameters to direct the developer to write the code correctly.
The Main difference in both methods is that BDD focuses on the desired behavior development and gives less space for interpretation. With that said, BDD Testing is not intended to replace the TDD, rather serve as a complementary method.
By implementing BDD Testing in the processes we can improve the quality of the written code, reduce time of writing and maintaining testing and get fast feedback on product quality during the development process. And over time, improve our positive ROI.
Read more about: