Mutation Testing as a Quality Assurance Technique in a Fintech Company: An Experience Report in The Industry - Brasil, Antonio Ricardo Alexandre; Souza, Maria Clara Talhate de; Domenicali, Fernanda; Machado, Renan; Duarte Junior, Jose Urbano (Anais do Simpósio Brasileiro de Qualidade de Software (SBQS), 2024)
Mutation testing is an advanced technique that aims to encourage engineers to create tests that thoroughly examine system behaviors to reveal defects in the source code. Introduced in the early 1970s and continuously improved over time, there is no evidence that the approach is widely adopted as a test efficacy criterion in practice, despite its benefits: improved test quality, detection of weak tests, enhanced code coverage, and fault detection. This paper presents the results of implementing mutation testing in a Brazilian fintech company with over 34 million users1, focusing on payment solutions, particularly in the context of debit and credit card authorization processes. By applying mutation testing, it was possible to identify that services with a higher mutation score are less susceptible to errors. Additionally this paper describes the challenges, and effectively presents the application of mutation testing in a real industrial software development process.