For each of the reported bugs, generate a test case in UAT format that will reliably reproduce the buggy behaviour. Commit the test case documentation to version control.
For each of the reported bugs, produce a simplified and automated test that reliably reproduces the bug. Commit the test code demonstrating the bug to version control. Record output from your test, demonstrating the buggy behaviour.
For each of the reported bugs, trace back through the program from the point of failure to find the origin of the bug. Use a sequence of hypotheses and tests to support this search, and document this sequence in a debugging log. For each of the reported bugs, demonstrate that before the identified origin, variable values are sane and that after the origin, at least one value is infected. Record screen shots demonstrating the origin of the bug.
For each of the reported bugs, correct the bug. Commit the corrected code to version control. Record output listings from your automated test demonstrating that the buggy behaviour has been eliminated. Carry out the user test case with the specified data and show that the buggy behaviour has been eliminated.