Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/giis-uniovi/retorch
RETORCH: Resource-aware End-to-End Test Orchestration
https://github.com/giis-uniovi/retorch
e2e-testing system-testing test-automation testing
Last synced: about 1 month ago
JSON representation
RETORCH: Resource-aware End-to-End Test Orchestration
- Host: GitHub
- URL: https://github.com/giis-uniovi/retorch
- Owner: giis-uniovi
- License: apache-2.0
- Created: 2023-07-18T18:59:28.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-13T18:45:53.000Z (about 2 months ago)
- Last Synced: 2024-11-13T19:37:02.549Z (about 2 months ago)
- Topics: e2e-testing, system-testing, test-automation, testing
- Language: Java
- Homepage:
- Size: 57.6 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
[![Status](https://github.com/giis-uniovi/retorch/actions/workflows/build.yml/badge.svg)](https://github.com/giis-uniovi/retorch/actions)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=my%3Aretorch&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=my%3Aretorch)
[![Maven Central (annotations)](https://img.shields.io/maven-central/v/io.github.giis-uniovi/retorch-annotations)](https://central.sonatype.com/artifact/io.github.giis-uniovi/retorch-annotations)# RETORCH: Resource-aware End-to-End Test Orchestration
This repository contains a series of components of the RETORCH End-to-End (E2E) test orchestration framework. It's primary
goal is to optimize E2E test execution by reducing both the execution time and the number of unnecessary resource
redeployment's.NOTE: In this initial version, only the annotations to identify the resources and access modes have been included.
Additional components will be added in future releases.## Contents
- [RETORCH: Resource-aware End-to-End Test Orchestration:]()
- [Quick Start](#quick-start)
- [RETORCH Annotations](#retorch-annotations)
- [Contributing](#contributing)
- [Contact](#contact)
- [Citing this work](#citing-this-work)
- [Acknowledgments](#acknowledgments)## Quick-start
- Add the dependency
[`io.github.giis-uniovi:retorch-annotations`](https://central.sonatype.com/artifact/io.github.giis-uniovi/retorch-annotations) to the pom.xml of your SUT.
- Add the annotations to the test classes as indicated below
- [TO-DO]## RETORCH Annotations
The RETORCH framework provides a set of custom annotations to define and manage resources used in end-to-end testing. These
annotations allow testers to group, schedule, and characterize resources. To execute test cases using RETORCH,
each test case must be annotated with at least one access mode and resource.The tester needs to specify the access mode using the following attributes:
- `resID`: Resource identifier for the access mode.
- `concurrency`: The upper bound of test cases that can access the resource concurrently.
- `sharing`: Allows sharing the resource between multiple test cases.
- `accessMode`: The type of access mode performed by the test case.```java
@AccessMode(resID = "LoginService", concurrency = 10, sharing = true, accessMode = "READONLY")
```Each access mode annotation corresponds to a specific resource, which must be annotated with the following attributes:
- `resID`: A unique identifier for the resource.
- `replaceable`: A list of resources that can replace the current one.```java
@Resource(resID = "LoginService", replaceable = {})
```The following code snippets illustrate a test case annotated with multiple resources and access modes:
```java
@Resource(resID = "LoginService", replaceable = {})
@AccessMode(resID = "LoginService", concurrency = 10, sharing = true, accessMode = "READONLY")
@Resource(resID = "OpenVidu", replaceable = {"OpenViduMock"})
@AccessMode(resID = "OpenVidu", concurrency = 10, sharing = true, accessMode = "NOACCESS")
@Resource(resID = "Course", replaceable = {"Forum"})
@AccessMode(resID = "Course", concurrency = 10, sharing = true, accessMode = "READONLY")
@ParameterizedTest
@MethodSource("data")
void forumLoadEntriesTest(String usermail,String password,String role){
this.user=setupBrowser("chrome",TJOB_NAME+"_"+TEST_NAME,usermail,WAIT_SECONDS);
driver=user.getDriver();
this.slowLogin(user,usermail,password);
}
```## Contributing
See the general contribution policies and guidelines for *giis-uniovi* at
[CONTRIBUTING.md](https://github.com/giis-uniovi/.github/blob/main/profile/CONTRIBUTING.md).## Contact
Cristian Augusto - [[email protected]](mailto:[email protected]) -
[Software Engineering Research Group (GIIS) - University of Oviedo, ES](https://giis.uniovi.es)## Citing this work
RETORCH E2E Test Orchestration framework:
- Cristian Augusto, Jesús Morán, Antonia Bertolino, Claudio de la Riva, and Javier Tuya,
“RETORCH: an approach for resource-aware orchestration of end-to-end test cases,”
*Software Quality Journal*, vol. 28, no. 3, 2020.
https://doi.org/10.1007/s11219-020-09505-2 - [Full Article available](https://link.springer.com/article/10.1007/s11219-020-09505-2) - [Authors version](https://digibuo.uniovi.es/dspace/bitstream/handle/10651/55405/RETORCHSQJExtension_BUO.pdf;jsessionid=0E661594C8732B8D2CA53636A31E4FD5?sequence=1) -
[Download citation](https://citation-needed.springer.com/v2/references/10.1007/s11219-020-09505-2?format=refman&flavour=citation)## Acknowledgments
This work has been developed under the TestBUS (PID2019-105455GB-C32) project supported
by the [Ministry of Science and Innovation (SPAIN)](https://www.ciencia.gob.es/)