Yield is the ratio of outcome to the effort invested. In the case of testing we may consider
Defect yield = #Bugs-uncovered/#Test-cases
Our objective is to understand the value we are accruing with the effort we are investing. Defect yield just as a metric may not be useful, it has to be analysed across time. i.e. is the yield improving or coming down? This helps us to sharpen what we do and optimise effort, so that we can stop executing no-yield tests and focus on fine tuning the test cases.
Increasing yield is an natural expectation. So what are the challenges to this?
- Less effective test cases: One of the reasons for lowered defects could be insufficient test cases. There is no magic metric for this, it is important to sensitive to this so that improvement could be done.
- Maturing system: As we test and fix bugs(if any), the system matures. And that is when defect yield drops. Now it is time to analyse and ask if these tests are worth it if they consume non-trivial effort.
- Transition: There could be possibility of yield change (worry only in case of drop!) when the system is tested by a different set of people/team.