You will be provided with some code which contains several known bugs. The source code and initial bug reports will be made available in the Resources section of the subject’s Interact site.
Your task 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.
Please note that the focus in this assignment is on the process and techniques applied, not the complexity of the code. It is recognised that the process applied is ‘way over the top’ for the size of problem addressed.
Tasks
1.Replication.
- 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.
2.Simplification.
- 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.
3.Tracing.
- 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.
4.Resolution.
- 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.