Tools

TDD, coding, and testing in general, are heavily dependent on other tools and processes. Some of the most important ones are as follows. Each of them is too big a topic to be explored in this book, so they will be described only briefly.

Code coverage and CI.
Benefits: It gives assurance that everything is tested.

Code coverage practices and tools are very valuable in determining that all code, branches, and complexity is tested. Some of these tools are as follows:

CI tools are a must for all except the most trivial projects. Some of the most used tools are:

Use TDD together with BDD.
Benefits: Both developer unit tests and functional customer facing tests are covered.

While TDD with unit tests is a great practice, in many cases it does not provide all the testing that projects need. TDD is fast to develop, helps the design process, and gives confidence through fast feedback. On the other hand, BDD is more suitable for integration and functional testing, provides a better process for requirement gathering through narratives, and is a better way of communicating with clients through scenarios. Both should be used, and together they provide a full process that involves all stakeholders and team members. TDD (based on unit tests) and BDD should be driving the development process. Our recommendation is to use TDD for high code coverage and fast feedback, and BDD as automated acceptance tests. While TDD is mostly oriented towards white-box, BDD often aims at black-box testing. Both TDD and BDD are trying to focus on QA instead of QC.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.15.245.1