Demystifying Fault Injection Testing: A Comprehensive Guide