The project revolves around debugging a small application. It will be provided with some codes which contains several known bugs. The job is to replicate, simplify, trace, and eliminate these bugs using best practice debugging techniques. Your debugging effort should take place within a version control system using appropriately sized, commented, and timely commits.
a. For each of the reported bugs, generate a test case in UAT format that will reliably reproduce the buggy behaviour.
b. Commit the test case documentation to version control.
a. For each of the reported bugs, produce a simplified and automated test that reliably reproduces the bug.
b. Commit the test code demonstrating the bug to version control.
c. Record output from your test, demonstrating the buggy behaviour.
a. For each of the reported bugs, trace back through the programs dependencies 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.
b. 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’.
c. Record screen shots demonstrating the origin of the bug.
a. For each of the reported bugs, correct the bug.
b. Commit the corrected code to version control.
c. Record output listings from your automated test demonstrating that the buggy behaviour has been eliminated.
d. Carry out the user test case with the specified data and show that the buggy behaviour has been eliminated.
1. A word processed file containing:
a. The URL for repository used for your debugging effort. Make sure you commit both at the start of the debugging process, once you have developed an automated test demonstrating each bug, and after you have resolved each bug.
Include a directory at the top of the file indicating where in your repository the files related to each debugging effort can be found.
b. For each bug:
i. The user tests (in UAT format) that demonstrate the bug. (specifying expected buggy output)
ii. Output from your automated test demonstrating the buggy behaviour.
iii. A debugging log recording the succession of hypotheses, tests, and results of those tests that you used to trace the origin of each bug.
iv. 'Before' and 'after' screen shots identifying the origin of the bug. (show variable values)
v. Output from the automated test demonstrating correct operation after resolution of each bug.
vi. Test results from the user test you specified for each bug demonstrating correct operation.