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.
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.
Disclaimer: The opinions expressed herein are the personal opinions
of Matthew, Federico, and their guests and do not represent their employer's view
in any way.