Automated engineering of domain-specific metamorphic testing environments

Context: Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, mod...

ver descrição completa

Detalhes bibliográficos
Autores: Gómez-Abajo, Pablo, Cerro Cañizares, Pablo, Núñez Covarrubias, Alberto, Guerra, Esther, de Lara, Juan
Tipo de documento: artigo
Data de publicação:2023
País:España
Recursos:Universidad Complutense de Madrid (UCM)
Repositório:Docta Complutense
Idioma:inglês
OAI Identifier:oai:docta.ucm.es:20.500.14352/105658
Acesso em linha:https://hdl.handle.net/20.500.14352/105658
Access Level:Acceso aberto
Palavra-chave:Metamorphic testing
Model-driven engineering
Domain-specific languages
Cloud computing
Simulation
Software
3304.99 Otras
Descrição
Resumo:Context: Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, model transformation, machine learning) requires substantial effort. Objective: Our goal is to facilitate the construction of MT environments for specific domains. Method: We propose a model-driven engineering approach to automate the construction of MT environments. Starting from a meta-model capturing the domain concepts, and a description of the domain execution environment, our approach produces an MT environment featuring comprehensive support for the MT process. This includes the definition of domain-specific metamorphic relations, their evaluation, detailed reporting of the testing results, and the automated search-based generation of follow-up test cases. Results: Our method is supported by an extensible platform for Eclipse, called Gotten. We demonstrate its effectiveness by creating an MT environment for simulation-based testing of data centres and comparing with existing tools; its suitability to conduct MT processes by replicating previous experiments; and its generality by building another MT environment for video streaming APIs. Conclusion: Gotten is the first platform targeted at reducing the development effort of domain-specific MT environments. The environments created with Gotten facilitate the specification of metamorphic relations, their evaluation, and the generation of new test cases.