z-logo
Premium
Evolutionary mutation testing for IoT with recorded and generated events
Author(s) -
GutiérrezMadroñal Lorena,
GarcíaDomínguez Antonio,
MedinaBulo Inmaculada
Publication year - 2019
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.2629
Subject(s) - computer science , mutation , mutation testing , test suite , test case , evolutionary algorithm , event (particle physics) , set (abstract data type) , process (computing) , model based testing , generator (circuit theory) , data mining , programming language , machine learning , biology , genetics , regression analysis , physics , quantum mechanics , gene , power (physics)
Summary 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.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here