 Fault injection can take many forms.In the testing of operating systems for example, fault injection is often performed by a "driver" (kernel-mode software) that intercepts "system calls" (calls into the kernel) and randomly returning a failure for some of the calls.This type of fault injection is useful for testing low level user mode software.