Defect Repair Procedure
This procedure describes how CPE 309 teams manage defect
correction.
- A defect is identified or change request approved. (Note: coding
style violations are not counted as defects.)
- Verify the defect is not previously reported.
- Defect report (or approved change request) is entered into the
Trac defect tracking system.
Complete the following fields as indicated
Short Summary: A succinct but meaningful definition of the problem.
Type: defect
Description: A complete description of the problem.
Explain in detail the specific steps to reproduce the problem.
Severity: select how severely this defect affects product use.
- Critical - The defect results in the failure of the
software, locks up the system, causes loss of data, or makes the system
unusable.
- Major - The defect does not result in a failure, but causes
the system to produce incorrect, incomplete, inconsistent, or otherwise
inappropriate results, or the defect impairs the systems usability.
There may or may not be an appropriate work around.
- Minor - Same as above except the desired processing results
are easily obtained by working around the defect, or the defect occurs
infrequently enough to not impact normal use of the system.
- Trivial - The defect is the result of non-conformance to a
standard, is related to the aesthetics of the system, or
other trivial problem.
Component: Select the effected component from the drop down list
(e.g., GUI, database, user manual).
Version : Enter the Release number (1 or 2)
Assigned to: leave blank. Do not assign the defect to anyone.
CC: fill in the implementation manager's username (or select from the list
if available).
Submit the issue.
- Implementation manager reviews new defect reports daily and
reassigns defect to a programmer and assigns due time.
Do not assign the defect to more than one person or it will
"disappear".
- Programmer uses Trac to "accept" the defect. (If the person reporting
the defect is the programmer who will fix it, you don't have to wait
for the Implementation manager to assign it to you.)
- Programmer obtains current version of system source code from
SVN.
- Programmer writes an automated Unit test (or System Test) which reveals
the defect.
If it is infeasible to write an automated test, write a manual test and add
it to the system test cases.
Cross-reference the test case to the defect number,
e.g. put the defect number in the test case method name (E.g., TestDeckBug26).
- Programmer isolates and repairs defect. Write a comment with the
defect number.
- Programmer runs Unit test (or System Test) on repaired code. Optionally,
Programmer runs any relevant integration or system tests.
- Programmer updates from SVN, then commits the repaired unit and associated test.
Write a commit message according to your team policy, and include "Fixes
defect #x." (The '#' character makes a link to the ticket.)
-
In the Comments field of the defect ticket,
put a Trac link to the SVN revision number of the change just committed. (E.g., r217)
- Programmer closes the defect in the tracking system. (Under action,
choose "resolve as: fixed". Under Completion Status, choose "done".).
- Implementation manager builds the system with the corrected
code and produces a build report. (This may be part of the automated
daily build.)
- Test team runs the Unit tests, Integration tests, and System tests (as part of a
regression suite) on the current build.
- Test team produces test report showing which tests were run.
- Implementation manager reviews resolved defects on a daily
basis and informs relevant personnel, e.g., Documentation team,
other developers, Release Manager, etc.
Illustration of artifact cross-referencing
Document History
5/1/2012 JD Added diagram of cross referencing
5/3/2011 JD Add "assign due time"
4/21/10 JD Remove strikeouts.
4/5/09 JD Minor revisions for Spr 09.
1/9/09 JD Minor revisions for Wtr 09.
4/20/08 JD Changed Elementool to Trac. Changed CVS to SVN.
1/28/07 JD Added more status options.
2/12/04 JD Added numbering. Added "System Test" to step 6, 11, and 15.
4/8 JD Revised for Elementool.
4/3 JD Revised bug assignment procedure.