Mutation testing is a testing technique that has been applied successfully to several programming languages. Despite its benefits for software testing, the high computational cost of mutation testing has kept it from being widely used. Several refinements have been proposed to reduce its cost by reducing the number of generated mutants; one of those is evolutionary mutation testing (EMT). Evolutionary mutation testing aims at generating a reduced set of mutants with an evolutionary algorithm, which searches for potentially equivalent and difficult to kill mutants that help improve the test suite. Evolutionary mutation testing has been evaluated in two contexts so far, ie, web service compositions and object‐oriented C++ programmes. This study explores its performance when applied to event processing language queries of various domains. This study also considers the impact of the test data, since a lack of events or the need to have specific values in them can hinder testing. The effectiveness of evolutionary mutation testing with the original test data generators and the new internet of things test event generator tool is compared in multiple case studies.
Bibliographical noteThis is the peer reviewed version of the following article: Gutiérrez‐Madroñal L, García‐Domínguez A, Medina‐Bulo I. Evolutionary mutation testing for IoT with recorded and generated events. Softw Pract Exper. 2018;1–33, which has been published in final form at https://doi.org/10.1002/spe.2629. This article may be used for non-commercial purposes in accordance With Wiley Terms and Conditions for self-archiving.
Funding: The Ministry of Economy andCompetitiveness (Spain); FEDER Fund,Grant/Award Number:TIN2015-65845-C3-3-R; ExcellenceNetwork SEBASENet, Grant/AwardNumber: TIN2015-71841-REDT