Automating test case generation for coverages required by FAA standard DO-178B
Coverage testing techniques are required by the FAA for various levels of subsystem criticality at the unit testing level. Higher levels of criticality require coverage schemes that frequently require more and more test cases, particularly when the number of conditions in a decision grows. For example, if we have a decision with n conditions of the form: if (/ci/ or /c2/ or .... or /cn/) then there are 2(n) possible combinations of condition outcomes. Given the enormous number of inputs that may be required to satisfy different coverages, and given that there are no automated tools for determining these inputs (to our knowledge), we will show how one alternative testing technique, mutation testing, can be coerced into generating inputs that satisfy a code coverage scheme X, i.e., if we modify the rules for mutant generation during mutation testing, this technique will provide test cases that satisfy X.