Fault Injection is a technique, carried out in the software testing, which involves the injection or the introduction of the faults, in the software application, in order to measure the robustness of the software. The fault in the software application, may be introduced, by altering its programming or source code.
In the diagram, it may be seen, that the software programming code consists of the addition of the numbers, in the series. After applying the technique of fault injection, errors are being introduced in the programming code, by replacing a few of the number, with the different & unknown inputs.
It is a simple testing technique, which emphasizes on the robustness and stress feature of the software product. This type of testing ensures the 100% coverage of the programming/ source code under the test.
In order to make the software product bug free, testers and developers examines all aspects of the software product, to achieve maximum quality. The coverage of the different aspects of the software, covers its source code, also.
The evaluation of the source code, is carried out, and it may results into the identification of the bugs, which are subsequently, removed from the source code. This leads to gain in developer's or tester's confidence, towards achieving software's quality.
Perhaps, making source code 100% bug free, is a moment of joy, but it may not guarantee the coverage of the complete source code. It might be possible, that some of the codes are left unseen and untouched, which may contain potential bugs, and is sufficient to degrade the quality of the software product. This situation arises the need of fault injection technique, which ensures the 100% coverage of the code.
As the name suggests, this method of fault injection, is applied during the running time of the software application. The faults are being injected in the running applications, with the help of the software triggers such as time-based triggers and interrupt-based triggers.