Skip to content

Commit

Permalink
Customization of the template content closes #3 (#4)
Browse files Browse the repository at this point in the history
* Adding the new project and including it in the master pom.xml

* Change namespace name  and adding configuration files of intellij

* Removing the rest of the modules not used

* Removing the rest of the modules not used

* Granting access from intelliJ

* Solved two little problems with the pom.xml

* Little changes in the sonar-project.properties and the pom.xml

* Last commit close #3

* Removing .idea directory and adding to the gitignore

* Adding the descriptions requested by Javier and the url of the repository

* Adding the custom sonar-project.properties project key

* Adding the .settings to the project (was in the gitignore)

* Removing some spelling mistakes, check that the  pipeline suceeed

* Solved problem with publishing??

* First version of the README.md

* First version of the README.md

* All links working

* Adding the note that clarifies what is included in this repository

* Adding the note that clarifies what is included in this repository

* Removed HTML from the index

* Removed HTML from most of the sites

We only use html to provide text aligment (its not natively supported by markdown)

* Several  spelling mistakes solved

* Several  spelling mistakes solved, citation in the correct format

Added also links to the article, the official springer citation and authors version

* Formatting the document

* Removing back to the top, journal name in italics, removed all html
  • Loading branch information
augustocristian committed Jul 21, 2023
1 parent 29bdb0d commit c72ce7b
Show file tree
Hide file tree
Showing 29 changed files with 428 additions and 592 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
push:
branches-ignore:
- 'dependabot/**' #avoid duplicates: only run the PR, not the commit
- 'gh-pages' #github pages do not trigger all tests
- 'gh-pages' #GitHub pages do not trigger all tests
tags-ignore:
- 'v*' #avoid rerun existing commit on release
pull_request:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,7 @@ pom.xml.versionsBackup
TESTS-TestSuites.xml
*.db
*/dat/out
#Directories
.idea
# to allow each developer customize sonarlint
org.sonarlint.eclipse.core.prefs
105 changes: 97 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,103 @@
[![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)

# samples-giis-template
# RETORCH: Resource-aware End-to-End Test Orchestration

Template project, includes:
- Configuration of a maven multimodule java project
- Aggregated test reports (surefire and junit style)
- SonarQube static test (includes coverage results)
- Publish a snapshot for each branch to GitHub Packages
- Publish releases to Maven Central (deactivated)
This repository contains a series of components that compose RETORCH, an 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.

See the general contribution policies and guidelines for *giis-uniovi* at
**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.**

[Explore the docs](https://github.com/giis-uniovi/retorch) - [Report Bug](https://github.com/giis-uniovi/retorch/issues) -
[Request Feature](https://github.com/giis-uniovi/retorch/issues)

## 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
[TO-DO]

## RETORCH Annotations

The RETORCH Tool 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 the RETORCH Tool,
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 - [augustocristian@uniovi.es](mailto:augustocristian@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/)

Loading

0 comments on commit c72ce7b

Please sign in to comment.