You find an error during FunctionalTesting. Rather than just fix it, you:
- Pinpoint it in the code
- Write the unit test that doesn't run, but if it did you believe the functional error will be resolved
- Make the UnitTest work
- Re-run the FunctionalTest to be sure the error is resolved
This is better than simply fixing the
FunctionalTest, because:
- You are more focused when fixing the defect. You have to make a specific, concrete hypothesis about the source of the error. You can't just go around adding one and negating until the functional test runs.
- You now have a UnitTest (likely to be run more often than a FunctionalTest) that will blow up if the error recurs
CategoryTesting