SearchWiki
SoftwareProcess.RecentChanges
Edit Page
Page Revisions
Home
Design Patterns
Heuristics
Software Development
Software Process


Patterns
TheIntroduction LogicalDesign PhysicalDesign PatternFoundations GuidelinesAndMyths ReferenceImplementation DependencyPatterns UsabilityPatterns ExtensibilityPatterns MaintenancePatterns AntiPatterns UtilitiesAndTools

AllPatterns

When fixing bugs, we're under incredible pressure to get the changes released as soon as possible. But it's still very important that we take the time to test our changes thoroughly. Whenever a bug surfaces, it's an indication that our existing set of test cases don't have good enough code coverage. Therefore, instead of attempting to fix the problem based on where we perceive the problem to exist and running the existing test cases, which don't test the condition anyways otherwise the bug would have never surfaced, consider adhering to the following steps.
  1. Identify where you believe the problem exists.
  2. Write and run a test that recreates the problem. This test should fail.
  3. Verify that the test failed due to the problem identified in 1.
  4. Fix the problem.
  5. Run the test from 2. The test should now pass.
  6. Run all of your tests for the project.
  7. SmokeTest? the application and verify that the error reported initially no longer occurs.
  8. ReleaseCode, including the tests, being sure to follow the normal sync procedures.
All of this is going to take a bit longer than simply fixing what you believe to be the bug and releasing the changes. But the time invested in creating a test case will ensure the condition never arises again. It'll also ease the frustration of others since they shouldn't have to deal with being told a bug is fixed only to find it isn't.\ \ Keep in mind that writing tests isn't something we should only be doing during initial development. Writing tests should be an ongoing activity for maintenance and bug fixes, as well.

Edit Page - Page Revisions - WikiHelp - SearchWiki - RecentChanges
Page last modified on November 17, 2005, at 09:59 AM