German embedded software test tool developer Razorcat has developed a automated fault injection capability for its unit and integration test tool TESSY, version 4.1 or higher. Test cases with fault injections can be generated and managed easily and implemented in unit tests, integration tests and component tests automatically without changing the source code – saving time and money.
In practice, whenever the necessary code coverage of 100% cannot be reached with normal test cases, fault injections are applied manually by adding testing code or code replacements using compiler macros, by replacing functions (stubbing) or by changing variable values using debug tools. These methods have the disadvantage that they need to be done either manually or that the instrumentation of the source code remains in place within production code. The test engineer is usually the first to realise the need for a fault injection. If the code needs to be changed, all necessary approvals of software development according to safety standards need to be performed again. Such an iteration highly increases development time and cost.
In TESSY 4.1, however, fault injection is automated and does not remain in the source program. The error injections are defined directly in the flow chart of the function within the TESSY environment.
Test cases with automated fault injection have a special flag and will be documented within the test report. When all test cases are executed, these special test cases can be included or excluded from the test execution. All fault injections are conveniently stored and managed in TESSY. This means fault injections can be assigned to one or more test cases in a user-friendly way and will be effective at the desired location even after source code changes when doing regression testing.
The automated fault injection will be shown in the new TESSY version 4.1 at embedded world 2018 in February