TY - GEN
T1 - Generating complex and faulty test data through model-based mutation analysis
AU - Di Nardo, Daniel
AU - Pastore, Fabrizio
AU - Briand, Lionel
N1 - Publisher Copyright:
© 2015 IEEE.
PY - 2015/5/5
Y1 - 2015/5/5
N2 - Testing the correct behaviour of data processing systems in the presence of faulty data is extremely expensive. The data structures processed by these systems are often complex, with many data fields and multiple constraints among them. Software engineers, in charge of testing these systems, have to handcraft complex data files or databases, while ensuring compliance with the multiple constraints to prevent the generation of trivially invalid inputs. In addition, assessing test results often means analysing complex output and log data. Though many techniques have been proposed to automatically test systems based on models, little exists in the literature to support the testing of systems where the complexity is in the data consumed in input or produced in output, with complex constraints between them. In particular, such systems often need to be tested with the presence of faults in the input data, in order to assess the robustness and behaviour of the system in response to such faults. This paper presents an automated test technique that relies upon six generic mutation operators to automatically generate faulty data. The technique receives two inputs: field data and a data model, i.e. a UML class diagram annotated with stereotypes and OCL constraints. The annotated class diagram is used to tailor the behaviour of the generic mutation operators to the fault model that is assumed for the system under test and the environment in which it is deployed. Empirical results obtained with a large data acquisition system in the satellite domain show that our approach can successfully automate the generation of test suites that achieve slightly better instruction coverage than manual testing based on domain expertise.
AB - Testing the correct behaviour of data processing systems in the presence of faulty data is extremely expensive. The data structures processed by these systems are often complex, with many data fields and multiple constraints among them. Software engineers, in charge of testing these systems, have to handcraft complex data files or databases, while ensuring compliance with the multiple constraints to prevent the generation of trivially invalid inputs. In addition, assessing test results often means analysing complex output and log data. Though many techniques have been proposed to automatically test systems based on models, little exists in the literature to support the testing of systems where the complexity is in the data consumed in input or produced in output, with complex constraints between them. In particular, such systems often need to be tested with the presence of faults in the input data, in order to assess the robustness and behaviour of the system in response to such faults. This paper presents an automated test technique that relies upon six generic mutation operators to automatically generate faulty data. The technique receives two inputs: field data and a data model, i.e. a UML class diagram annotated with stereotypes and OCL constraints. The annotated class diagram is used to tailor the behaviour of the generic mutation operators to the fault model that is assumed for the system under test and the environment in which it is deployed. Empirical results obtained with a large data acquisition system in the satellite domain show that our approach can successfully automate the generation of test suites that achieve slightly better instruction coverage than manual testing based on domain expertise.
UR - http://www.scopus.com/inward/record.url?scp=84935067767&partnerID=8YFLogxK
U2 - 10.1109/ICST.2015.7102589
DO - 10.1109/ICST.2015.7102589
M3 - Conference contribution
AN - SCOPUS:84935067767
T3 - 2015 IEEE 8th International Conference on Software Testing, Verification and Validation, ICST 2015 - Proceedings
BT - 2015 IEEE 8th International Conference on Software Testing, Verification and Validation, ICST 2015 - Proceedings
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 8th IEEE International Conference on Software Testing, Verification and Validation, ICST 2015
Y2 - 13 April 2015 through 17 April 2015
ER -