The quality assurance alternatives generally referred to as software bug averting activities can be used for most software systems to diminish the probability for the subsequent cost to deal with injected defects.
The majority of software bug averting activities assume that there are known defect sources or missing wrong actions that lead to fault injections:
- If non-conformance to chosen processes or standards is the trouble that leads to fault injections, then process conformance or standard enforcement may be helpful in averting the injection of related faults
- In the case if some tools may diminish fault injections under similar environments, they should be adopted
- If inaccurate designs and implementations that differ from product specifications formal techniques may be useful for software testres in averting these divergences
- If people misunderstandings are the defect sources then education and training can be useful for removing these defect sources
Consequently root cause analyses are needed to create such preconditions, or root causes, for injected or potential defects, so that proper defect averting activities can be applied to avert injection of such defects in the future.
As soon as such causal relations are created proper quality assurance activities can then be chosen and applied for software bug averting.