volume_mute

TDD Benefits vs. Limitations

publish date2026/06/19 10:51:12.113930 UTC

volume_mute

Which of the following are documented benefits of TDD, and which are documented limitations? Classify each.

drag and drop the selected option to the right place

Correct Answer

(1) Every code increment has at least one associated test - high code coverage,TDD Benefit
(2) Regression testing is continuously supported by the growing test suite,TDD Benefit
(3) TDD is difficult to apply when reusing large legacy code components,TDD Limitation
(4) Test-driven development may be ineffective with multithreaded systems,TDD Limitation
(5) Tests serve as a form of executable system documentation,TDD Benefit

Explanation

TDD benefits: high code coverage (all code has tests); continuous regression testing; tests as documentation. TDD limitations: difficulty with legacy systems (code not designed for testability); ineffectiveness with multithreaded systems (non-deterministic scheduling makes tests unreliable). Understanding both benefits and limitations is essential for deciding when to apply TDD.

Reference

Software Engineering, Ian Sommerville, 10th edition


Quizzes you can take where this question appears