In this episode of CodingQA, Federico and Matthew share their experience of what an appropriate response is to critical bugs found during development. Using a real case from MVC, they discuss how the feature crew reacts to high impact bugs and how the problem is addressed for the future.
The appropriate response
- Summary of the MVC build verification process
- Daily checkins
- No continuous integration server.
- Dev is responsible for running unit tests before checkin.
- QA responsible for running functional tests with every build.
- Functional tests are fully automated and run in less than 30 mins.
- Test results are transmitted verbally.
- The ship stopper problem
- At some point during the development cycle, QA makes more comprehensive runs.
- During these runs a bug was found where a security exception is thrown when running on Medium trust and MVC is in the GAC.
- The response
- First: Verify that you have discovered the extent of the problem. Sometimes a bug could be the tip of the iceberg, are there more bugs around the vicinity that we need to find?
- Second: Investigate and understand how the bug got introduced. Was it there from the beginning? Did a subsequent checking broke the scenario? Is the problem in our code or in a collateral component?
- Third: Place checks to prevent a similar problem from reoccurring.
- The learning
- Always explore and app build with Medium trust (a project defaults to Full trust)
- The QA team had been making runs with MVC in the bin instead of the GAC, going forward we will mix bin and GAC from the beginning.
- Do not focus on blaming people for a bug not found, focus on improving your process and your safety net.
- It is a misconception that the QA team is responsible for missing a bug. It is the whole team's responsibility to produce high quality software