Lesson plan

Tester-driven development

In software engineering, tester-driven development, or bug-driven development, is an anti-pattern where the requirements are determined by bug reports or test results rather than, for example, the value or cost of a feature. The concept is generally invoked facetiously, and comes with the implication that high volumes of computer code are written with little regard for unit testing by the programmers. The term itself is a tongue-in-cheek reference to test-driven development, a widely used methodology in agile software practices. In test-driven development tests are used to drive the implementation towards fulfilling the requirements. Tester-driven development instead shortcuts the process by removing the determination of requirements and letting the testers (or the QA team) drive what they think the software should be through the testing (or QA) process. Projects that are developed using this anti-pattern often suffer from being extremely late. Another common problem is poor code quality. Common causes for projects ending up being run this way are often: *The testing phase started too early; *Incomplete requirements; *Inexperienced testers; *Inexperienced developers; *Poor project management. Things get worse when the testers realize that they don't know what the requirements are and therefore don't know how to test any particular code changes.…

Back to article

Article summary

In software engineering, tester-driven development, or bug-driven development, is an anti-pattern where the requirements are determined by bug reports or test results rather than, for example, the value or cost of a feature. The concept is generally invoked facetiously, and comes with the implication that high volumes of computer code are written with little regard for unit testing by the programmers. The term itself is a tongue-in-cheek reference to test-driven development, a widely used methodology in agile software practices. In test-driven development tests are used to drive the implementation towards fulfilling the requirements. Tester-driven development instead shortcuts the process by removing the determination of requirements and letting the testers (or the QA team) drive what they think the software should be through the testing (or QA) process. Projects that are developed using this anti-pattern often suffer from being extremely late. Another common problem is poor code quality. Common causes for projects ending up being run this way are often: *The testing phase started too early; *Incomplete requirements; *Inexperienced testers; *Inexperienced developers; *Poor project management. Things get worse when the testers realize that they don't know what the requirements are and therefore don't know how to test any particular code changes.…

Key claims

No claims recorded.

Discussion questions

  1. Summarise the article in your own words. Which single claim would you verify first, and why?
  2. Which claim in this article is most likely to be revised as the sources update? How would you check its current status?
  3. If two sources disagreed about one of these facts, what would you need in order to trust one over the other?

Bibliography

No sources recorded.

Key claims and bibliography are generated from the same tracked claims and sources as the article page.