ptc-catalog

Test Driven Development

Download this PTC (Markdown)

Target

Team transitions from a traditional development process to a test driven development process.

User Story

As a project leader, I want a development team to transition from a development process where minimal testing is done or tests are added after implementing new functionality, to a TDD process so that team productivity will be improved.

Card

Stage Description
0 Little or no functional testing.
1 Tests are added on an ad-hoc basis after implementation.
2 Tests are added after the implementation of significant new funcationality.
3 Tests are added after the implementation of all new functionality.
4 Tests for simple functional improvements are written first, code to pass the tests is implemented second.
5 Tests for all functional improvements are written first, code to pass the tests is implemented second.

Comments

  1. Although not stricly necessary, TDD is assisted by employing continuous integration (CI). Establishing CI for a project is assumed to be the topic of a separate PTC.
  2. No assumption is made about the state of tests currently provided by the project, or to increase the test coverage of legacy code.

Acknowledgement

This Project Tracking Card originated from the PSIP PTC Catalog. The development of the PSIP PTC Catalog was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration.