Skip to Main Content
Testing increases confidence in software's correctness, completeness, and quality. By executing a test on a program, developers can check the outcome against the program's specification to identify faults. Various testing levels can serve different purposes during development-for example, unit and integration testing let developers test an implementation and its effects on existing functionality. In test-driven development, a unit test acts as a functionality specification before implementation, letting developers apply only the code necessary to pass the test. Applying change impact analysis to test-driven development provides software designers quantitative feedback they can use to meet a coverage goal and avoid unanticipated change effects.