A Framework for Similarity-based and Resource-aware Orchestration of End-to-End Test Cases

C10 Core C

Cristian AugustoCristian Augusto, Antonia BertolinoAntonia Bertolino, Guglielmo De AngelisGuglielmo De Angelis, Claudio de la RivaClaudio de la Riva, Francesca LonettiFrancesca Lonetti, Jesús MoránJesús Morán

Proceedings of the 7th ACM/IEEE International Conference on Automation of Software Test (AST 2026), Rio de Janeiro, Brazil — Apr 2026

Abstract

Continuous integration environments are characterized by the execution of the test suite at each repository change, which can dramatically increase total project costs, making it not feasible to test the system adequately. Several testing optimization techniques exist, which generally focus on optimizing test execution either by parallelizing and sharing test resources or by improving how the test suite is executed through regression batching, prioritization, or test suite reduction. This work introduces Simphony, a framework for end-to-end testing that combines both perspectives to optimize end-to-end test execution in terms of time, test resource redeployments, and test-case execution efficiency. Simphony combines a similarity-based test strategy with resource-aware orchestration: it first analyzes test case similarities, then selects and applies the most suitable test regression strategy, and finally schedules test execution based on resource compatibility, maximizing parallelism and minimizing the number of test resource redeployments. The framework is evaluated on a real-world application from a European project. The evaluation results show that Simphony helps reduce the number of test resource redeployments and execution time, while it either preserves code-coverage metrics or manifests only small reduced impacts. Concisely, prioritization reduces the time to reach maximum coverage, whereas reduction achieves a trade-off between test coverage and execution time. These results show that combining regression strategies with resource-based orchestration can address time-budget constraints in continuous integration environments for end-to-end testing.

Software TestingEnd-to-End TestingTest Orchestration

RETORCH*: A Cost and Resource aware Model for E2E Testing in the Cloud

C9

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Antonia BertolinoAntonia Bertolino, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Actas de las 29th Jornadas de Ingeniería del Software y Bases de Datos, Córdoba, Spain — Sep 2025

Abstract

Moving testing to the Cloud overcomes time/resource constraints by leveraging an unlimited and elastic infrastructure, especially for testing levels like End-to-End (E2E) that require a high number of resources and/or execution time. However, it introduces new challenges to those already faced on-premises, like selecting the most suitable Cloud infrastructure and billing scheme. We propose the RETORCH* test execution model that estimates and compares the monetary cost of executing an E2E test suite with different Cloud alternatives, billing schemes, and test configurations. RETORCH* goes beyond the mere cost billed, and selects the solution that best aligns with the test team strategy using the data of on-premises prior executions and the tester's experience. This cost is broken down into the cost incurred to execute the test suite (testing cost) and possible unused infrastructure (overprovisioning cost). Based on these distinct costs, the test team can compare different Cloud and test configurations. RETORCH* has been evaluated using a real-world application's E2E test suite. We analyze how the different decisions taken when the suite is migrated to the Cloud impact the cost, highlighting how RETORCH* can help the tester during Cloud and test configuration to make a more informed decision.

Software engineeringTest optimizationSoftware testingCloud computingEnd-to-end testingE2E testing

Related project: EQUAVEL

RETORCH*: A Cost and Resource aware Model for E2E Testing in the Cloud

J3 Q1

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Antonia BertolinoAntonia Bertolino, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Journal of Systems and Software — Mar 2025

Abstract

Moving testing to the Cloud overcomes time/resource constraints by leveraging an unlimited and elastic infrastructure, especially for testing levels like End-to-End (E2E) that require a high number of resources and/or execution time. However, it introduces new challenges to those already faced on-premises, like selecting the most suitable Cloud infrastructure and billing scheme. We propose the RETORCH* test execution model that estimates and compares the monetary cost of executing an E2E test suite with different Cloud alternatives, billing schemes, and test configurations. RETORCH* goes beyond the mere cost billed, and selects the solution that best aligns with the test team strategy using the data of on-premises prior executions and the tester's experience. This cost is broken down into the cost incurred to execute the test suite (testing cost) and possible unused infrastructure (overprovisioning cost). Based on these distinct costs, the test team can compare different Cloud and test configurations. RETORCH* has been evaluated using a real-world application's E2E test suite. We analyze how the different decisions taken when the suite is migrated to the Cloud impact the cost, highlighting how RETORCH* can help the tester during Cloud and test configuration to make a more informed decision.

Continuous integrationContinuous testingEnd-to-end testingSoftware testingTest orchestrationTesting in the Cloud

Related project: EQUAVEL

Software System Testing Assisted by Large Language Models: An Exploratory Study

C8 Core B

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Antonia BertolinoAntonia Bertolino, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Testing Software and Systems, London, United Kingdom — Jan 2025

Abstract

Large language models (LLMs) based on transformer architecture have revolutionized natural language processing (NLP), demonstrating excellent capabilities in understanding and generating human-like text. In Software Engineering, LLMs have been applied in code generation, documentation, and report writing tasks, to support the developer and reduce the amount of manual work. In Software Testing, one of the cornerstones of Software Engineering, LLMs have been explored for generating test code, test inputs, automating the oracle process or generating test scenarios. However, their application to high-level testing stages such as system testing, in which a deep knowledge of the business and the technological stack is needed, remains largely unexplored. This paper presents an exploratory study about how LLMs can support system test development. Given that LLM performance depends on input data quality, the study focuses on how to query general purpose LLMs to first obtain test scenarios and then derive test cases from them. The study evaluates two popular LLMs (GPT-4o and GPT-4o-mini), using as a benchmark a European project demonstrator. The study compares two different prompt strategies and employs well-established prompt patterns, showing promising results as well as room for improvement in the application of LLMs to support system testing.

End-to-End testingSoftware testingLarge Language ModelsLLMs

Related project: EQUAVEL

Optimizing End-to-End test execution : Unleashing the Resource Dispatcher - WiP

C7 Core B

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Works in Progress in Embedded Computing Journal, Paris, France — Aug 2024

Abstract

Continuous integration practices have transformed software development, but executing test suites of modern software developments addresses new challenges due to its complexity and its huge number of test cases. Certain test levels, like End-to-end testing, are even more challenging due to long execution times and resource-intensive requirements, moreover when we have many End-to-end test suites. Those E2E test suites are executed sequentially and in parallel over the same infrastructure and can be executed several times (e.g., due to some tester consecutive contributions, or version changes performed by automation engines). In previous works, we presented a framework that optimizes E2E test execution by characterizing Resources and grouping/scheduling test cases, based on their compatible usage. However, the approach only optimizes a single test suite execution and neglects other executions or test suites that can share Resources and lead to savings in terms of time and number of Resource redeployments. In this work, we present a new Resource allocation strategy, materialized through a Resource Dispatcher entity. The Resource Dispatcher centralizes the Resource management and allocates the test Resources to the different test suites executed in the continuous integration system, according to their compatible usage. Our approach seeks efficient Resource sharing among test cases, test suites, and suite executions, reducing the need for Resource redeployments and improving the execution time. We have conducted a proof of concept, based on real-world continuous integration data, that shows savings in both Resource redeployments and execution time.

Continuous integrationContinuous testingEnd-to-End testingSoftware testingTest orchestrationTesting in the cloud

Related project: EQUAVEL

Toward an efficient End-to-End test suite execution

C6

Cristian AugustoCristian Augusto

Proceedings - 2023 IEEE 34th International Symposium on Software Reliability Engineering Workshop, ISSREW 2023, Firenze, Italy — Oct 2023

Abstract

End-to-end (E2E) testing is costly because of the complex and expensive resources that are required during the test execution coupled with the long execution times required. This becomes even more challenging when E2E test suites are integrated into a continuous integration (CI/CD) environment, where they are executed with each repository change. Migrating E2E test suite execution to the Cloud is an acknowledged trend to achieve a better cost. However, this also introduces new challenges in addition to those faced on-premises, such as selecting the most suitable services from the wide range offered by Cloud Providers, which is even more difficult considering how the test resources use the Cloud infrastructure. This thesis aims to achieve an efficient execution of the E2E test suites, reducing the number of unnecessary test resource redeployments, and the execution time, and improving the efficiency of selecting the Cloud infrastructure that best aligns with the testing objectives. We present an orchestration approach that aims to enable resource sharing and avoid unnecessary redeployments. This process involves phases like the characterization of the test resources required by the test cases and a grouping of the test cases with compatible resource usage and its scheduling in sequential-parallel to reduce redeployments-time. The orchestration approach has evolved to execute this orchestrated test suite in the Cloud, introducing a model of the E2E test suite execution in the Cloud, which allows us to represent both the test and the Cloud configuration. Using the model, we estimate and compare different Cloud infrastructures in terms of overall cost (billed by the Cloud Provider), but also the cost invested in testing and unused infrastructure (overprovisioning) to select the infrastructure best aligned with the testing objectives.

Software ReliabilitySoftware TestingCloud ComputingEnd-to-End TestingResource Optimization

Related project: EQUAVEL

Modelo de costes para el despliegue de pruebas E2E en entornos Cloud

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Actas de las 26th Jornadas de Ingeniería del Software y Bases de Datos, Santiago de Compostela, Spain — Sep 2022

Abstract

La ejecución de pruebas de sistema puede requerir grandes cantidades de recursos físico-lógicos al necesitar todo el sistema para su ejecución. Ejecutarlas en la infraestructura potencialmente limitada y escalable del Cloud, permite obtener un mejor coste, eligiendo entre las distintas infraestructuras disponibles. No obstante, es habitual que la ejecución de las pruebas no use totalmente los objetos contratados por lo que no todo el coste es usado. En este trabajo se detalla un modelo de coste que tiene en cuenta los recursos que requieren las pruebas de sistema en el Cloud. El modelo divide el coste de la infraestructura (el coste de los objetos contratados) en el coste del plan de ejecución (el coste de los distintos recursos requeridos por las pruebas) y sobresuscripción (el coste de la infraestructura que no utilizada). Con el modelo se pueden comparar diferentes combinaciones de objetos en el Cloud, no solo con el coste de la infraestructura (contratado) sino que se puede elegir que objetos se contratan y cómo se usan atendiendo al coste del plan de ejecución (usado) y de sobresuscripción (no usado).

Continuous integrationContinuous testingEnd-to-End testingSoftware testingTest orchestrationTesting in the cloud

Related project: TestBus

Resource optimization in End-to-End Testing

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Proceedings - 2022 International Summer School on Search- and Machine Learning-based Software Engineering, Córdoba, Spain — Jul 2022

Abstract

End-to-end (E2E) test suite execution is expensive due to the number of complex resources required. When E2E test suites are executed frequently into a continuous integration system, the total amount of resources required may be prohibitive, moreover when the tests are run in the Cloud with different billing strategies. Traditional techniques to optimize the test suites, such as test suite reduction, minimization, or prioritization, are limited in E2E due to the fact that reordering or selecting a subset of test cases also requires deploying the same expensive system. The current Ph.D. thesis aims to achieve an efficient E2E test execution for large systems in the Cloud. This is done through a smart characterization of the resources required by the test cases, grouping and scheduling them according to their resource usage to avoid unnecessary redeployments and reduce execution time, and finally, executing them into a combination of Cloud infrastructure (i.e., containers, virtual machines, and services) to optimize the costs employed in executing the test suite. Based on the scheduled test cases, we elaborate a cost model for selecting the most cost-effective infrastructure of those available in the Cloud, considering both the cost of the resources required by the test cases and the oversubscription cost (cost incurred in infrastructure contracted and not used during the test suite execution).

Continuous integrationContinuous testingEnd-to-End testingSoftware testingTest orchestrationTesting in the cloud

Related project: TestBus

Test-Driven Anonymization in Health Data: A Case Study on Assistive Reproduction

C5

Cristian AugustoCristian Augusto, Miguel OliveroMiguel Olivero, Jesús MoránJesús Morán, Leticia MoralesLeticia Morales, Claudio de la RivaClaudio de la Riva, Javier ArobaJavier Aroba, Javier TuyaJavier Tuya

Proceedings - 2020 IEEE International Conference on Artificial Intelligence Testing, AITest 2020 — Aug 2020

Abstract

Artificial intelligence (AI) is a broad field whose prevalence in the health sector has increased during recent years. Clinical data are the basic staple that feeds intelligent healthcare applications, but due to its sensitive character, its sharing and usage by third parties require compliance with both confidentiality agreements and security measures. Data Anonymization emerges as a solution to both increasing the data privacy and reducing the risk against unintentional disclosure of sensitive information through data modifications. Despite the anonymization improves privacy, the diverse modifications also harm the data functional suitability. These data modifications can affect to the applications that employ the anonymized data, especially those that are data-centric as the AI tools. To obtain a trade-off between both qualities (privacy and functional suitability), we use the Test-Driven Anonymization (TDA) approach, which anonymizes incrementally the data to train the AI tools and validate with the real data until maximize its quality. The approach is evaluated in a real-world dataset from the Spanish Institute for the Study of the Biology of Human Reproduction (INEBIR). The anonymized datasets are used to train AI tools and select the dataset that gets the best trade-off between privacy and functional quality requirements. The results show that TDA can be successfully applied to anonymize the clinical data of the INEBIR, allowing third parties to transfer without transgressing the user privacy and develop useful AI Tools with the anonymized data.

AnonymizationSoftware TestingArtificial intelligenceHealth-Care Datak-Anonymity

Related project: TestEAMoS

Efficient test execution in End to End testing : Resource optimization in End to End testing through a smart resource characterization and orchestration

C4 Core A*

Cristian AugustoCristian Augusto

Proceedings - 2020 ACM/IEEE 42nd International Conference on Software Engineering: Companion, ICSE-Companion 2020, Seoul, South Korea — Jul 2020

Abstract

Virtualization and containerization have been two disruptive technologies in the past few years. Both technologies have allowed isolating the applications with fewer resources and have impacted fields such as Software Testing. In the field of testing, the execution of the containerized/virtualized test suite has achieved great savings, but when the complexity increases or the cost of deployment rises, there are open challenges like the efficient execution of End to End (E2E) test suites. This paper proposes a research problem and a feasible solution that looks to improve resource usage in the E2E tests, towards smart resource identification and a proper organization of its execution in order to achieve efficient and effective resource usage. The resources are characterized by a series of attributes that provide information about the resource and its usage during the E2E testing phase. The test cases are grouped and scheduled with the resources (i.e. parallelized in the same machine or executed in a fixed arrangement), achieving an efficient test suite execution and reducing its total cost/time.

OrchestrationEnd to End TestingEfficient use of resourcesContainerization

Related project: TestBus

FlakyLoc: Flakiness Localization for Reliable Test Suites in Web Applications

J1 Q3

Jesús MoránJesús Morán, Cristian AugustoCristian Augusto, Antonia BertolinoAntonia Bertolino, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Journal of Web Engineering — Mar 2020

Abstract

Web application testing is a great challenge due to the management of complex asynchronous communications, the concurrency between the clients-servers, and the heterogeneity of resources employed. It is difficult to ensure that a test case is re-running in the same conditions because it can be executed in undesirable ways according to several environmental factors that are not easy to fine-grain control such as network bottlenecks, memory issues or screen resolution. These environmental factors can cause flakiness, which occurs when the same test case sometimes obtains one test outcome and other times another outcome in the same application due to the execution of environmental factors. The tester usually stops relying on flaky test cases because their outcome varies during the re-executions. To fix and reduce the flakiness it is very important to locate and understand which environmental factors cause the flakiness. This paper is focused on the localization of the root cause of flakiness in web applications based on the characterization of the different environmental factors that are not controlled during testing. The root cause of flakiness is located by means of spectrum-based localization techniques that analyse the test execution under different combinations of the environmental factors that can trigger the flakiness. This technique is evaluated with an educational web platform called FullTeaching. As a result, our technique was able to locate automatically the root cause of flakiness and provide enough information to both understand it and fix it.

Software testing and debuggingSpectrum-based localizationTest flakinessWeb applications

Related project: TestEAMoS

RETORCH: an approach for resource-aware orchestration of end-to-end test cases

J2 Q2

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Antonia BertolinoAntonia Bertolino, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Software Quality Journal — Mar 2020

Abstract

Continuous integration practice mandates to continuously introduce incremental changes into code, but doing so may introduce new faults too. These faults could be detected automatically through regression testing, but this practice becomes prohibitive as the cost of executing the tests grows. This problem is preponderant in end-to-end testing where the whole system is requested for test execution. However, some of these test cases could be executed with fewer resources (e.g., memory, web services, computation, Cloud instances, among others), by deploying only the subsystems needed by each test. This paper is focused on the optimization of the resources employed in end-to-end testing by means of a resource-aware test orchestration technique in the context of continuous integration practices in the Cloud. The RETORCH approach proposes a novel way to identify the resources required by end-to-end test cases and to use this information to group together those tests requiring equivalent resources. Besides, the approach proposes to deploy the grouped tests in isolated and elastic environments, so that their execution can be scheduled in parallel on several machines. RETORCH is exemplified with a real-world application, and its performance evaluation shows promising savings in terms of resource usage and time.

Continuous integrationContinuous testingEnd-to-end testingSoftware testingTest orchestrationTesting in the Cloud

Related project: TestEAMoS

Debugging flaky tests on web applications

C3

Jesús MoránJesús Morán, Cristian AugustoCristian Augusto, Antonia BertolinoAntonia Bertolino, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

WEBIST 2019 - Proceedings of the 15th International Conference on Web Information Systems and Technologies, Vienna, Austria — Sep 2019

Abstract

Testing web applications is a challenging practice because it involves managing asynchronous requests between clients and servers, the integration of heterogeneous technologies, and concurrent accesses to the resources. Therefore, rerunning the test cases of these applications under the same conditions is difficult as one test case can be executed in many different ways according to several environmental factors like memory, screen size or network. Moreover, some of these test cases could be flaky, i.e., due to environmental factors the test outcome can vary even though the application did not change. Understanding which factors are the root cause of flakiness is very important for web developers to both prevent and fix flakiness. This paper introduces a technique to locate the root causes of flakiness based on a characterization of the different environmental factors that are not controlled during the testing of web applications. The root cause of flakiness is located by a spectrum-based localization technique that analyses the execution of the same flaky test under different environmental factors that can trigger the flakiness. The technique is illustrated on an educational web platform named FullTeaching.

Software Testing and DebuggingSpectrum-based LocalizationWeb ApplicationsTest Flakiness

Related project: TestEAMoS

RETORCH: Resource-Aware End-to-End Test Orchestration

C2 Core B

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Antonia BertolinoAntonia Bertolino, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Communications in Computer and Information Science, Ciudad Real, Spain — Sep 2019

Abstract

Continuous integration practices introduce incremental changes in the code to both improve the quality and add new functionality. These changes can introduce faults that can be timely detected through continuous testing by automating the test cases and re-executing them at each code change. However, re-executing all test cases at each change may not be always feasible, especially for those test cases that make heavy use of resources thoroughly like End-to-End test cases that need a complex test infrastructure. This paper is focused on optimizing the usage of the resources employed during End-to-End testing (e.g., storage, memory, web servers or tables of a database, among others) through a resource-aware test orchestration technique in the context of continuous integration in the cloud. In order to optimize both the cost/usage of resources and the execution time, the approach proposes to (i) identify the resources required by the End-to-End test cases, (ii) group together those tests that need the same resources, (iii) deploy the tests in both dependency isolated and elastic environments, and (iv) schedule their parallel execution in several machines.

Continuous integrationContinuous testingEnd-to-End testingSoftware testingTest orchestrationTesting in the cloud

Related project: TestEAMoS

Anonimización de datos guiada por pruebas para aplicaciones inteligentes

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Actas de las 24th Jornadas de Ingenieria del Software y Bases de Datos, JISBD 2019, Cáceres, Spain — Sep 2019

Abstract

En la actualidad gran cantidad de datos son compartidos para su uso, tratamiento o análisis entre empresas y terceros. Es habitual que estos datos tengan que ser protegidos con diferentes técnicas de preservación de la privacidad para dar cumplimiento a las leyes y regulaciones. Una de las técnicas más comunes es la anonimización que, aunque provee de privacidad a los datos, presenta como efecto colateral la perdida de información. Esta pérdida de información puede afectar negativamente al comportamiento de aquellos desarrollos altamente dependientes de dichos datos como son las aplicaciones inteligentes. Para abordar este problema, proponemos un enfoque guiado por pruebas para seleccionar el conjunto de datos anonimizado que mantenga un compromiso entre la calidad no funcional (privacidad) y la funcional (utilidad). Para ello se alimenta a las aplicaciones con los datos anonimizados para que tomen los patrones de comportamiento de estos, y seguidamente validar las predicciones con los datos originales, midiendo así su calidad funcional. Dicha calidad junto con la no funcional (privacidad), es ponderada según los criterios de usuario con el fin de alcanzar el punto de compromiso entre ambas características de calidad.

Related project: TestEAMoS

Test-driven anonymization for artificial intelligence

C1

Cristian AugustoCristian Augusto, Jesús MoránJesús Morán, Claudio de la RivaClaudio de la Riva, Javier TuyaJavier Tuya

Proceedings - 2019 IEEE International Conference on Artificial Intelligence Testing, AITest 2019, San Francisco, USA — Apr 2019

Abstract

In recent years, data published and shared with third parties to develop artificial intelligence (AI) tools and services has significantly increased. When there are regulatory or internal requirements regarding privacy of data, anonymization techniques are used to maintain privacy by transforming the data. The side-effect is that the anonymization may lead to useless data to train and test the AI because it is highly dependent on the quality of the data. To overcome this problem, we propose a test-driven anonymization approach for artificial intelligence tools. The approach tests different anonymization efforts to achieve a trade-off in terms of privacy (non-functional quality) and functional suitability of the artificial intelligence technique (functional quality). The approach has been validated by means of two real-life datasets in the domains of healthcare and health insurance. Each of these datasets is anonymized with several privacy protections and then used to train classification AIs. The results show how we can anonymize the data to achieve an adequate functional suitability in the AI context while maintaining the privacy of the anonymized data as high as possible.

Related project: TestEAMoS