Abstract1 Introduction2 Background3 What Is Special About Mutation Testing4 The Relations Between Mutants and Fault Revelation5 The Regular Code-Based Mutation Testing Process6 Alternative Code-Based Mutation Testing Advances7 Advances Beyond Code-Based Mutation Testing8 Tools for Mutation Testing9 Mutation-Based Test Assessment: Use and Threats to Validity10 A Seven-Point Check List of Best Practices on Using Mutation Testing in Controlled Experiments11 Conclusion and Future Directions