In Continuous Integration (CI), regression testing is constrained by the time between commits. This demands for careful selection and/or prioritization of test cases within test suites too large to be run entirely. To this aim, some Machine Learning (ML) techniques have been proposed, as an alternative to deterministic approaches. Two broad strategies for ML-based prioritization are learning-to-rank and what we call ranking-to-learn (i.e., reinforcement learning). Various ML algorithms can be applied in each strategy. In this paper we introduce ten of such algorithms for adoption in CI practices, and perform a comprehensive study comparing them against each other using subjects from the Apache Commons project. We analyze the influence of several features of the code under test and of the test process. The results allow to draw criteria to support testers in selecting and tuning the technique that best fits their context.

Learning-to-rank vs ranking-to-learn: strategies for regression testing in continuous integration

Bertolino A;
2020

Abstract

In Continuous Integration (CI), regression testing is constrained by the time between commits. This demands for careful selection and/or prioritization of test cases within test suites too large to be run entirely. To this aim, some Machine Learning (ML) techniques have been proposed, as an alternative to deterministic approaches. Two broad strategies for ML-based prioritization are learning-to-rank and what we call ranking-to-learn (i.e., reinforcement learning). Various ML algorithms can be applied in each strategy. In this paper we introduce ten of such algorithms for adoption in CI practices, and perform a comprehensive study comparing them against each other using subjects from the Apache Commons project. We analyze the influence of several features of the code under test and of the test process. The results allow to draw criteria to support testers in selecting and tuning the technique that best fits their context.
2020
Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo" - ISTI
9781450371216
Regression testing
Test selection
Test prioritization
Continuous integration
Machine learning
File in questo prodotto:
File Dimensione Formato  
prod_435440-doc_199297.pdf

solo utenti autorizzati

Descrizione: Learning-to-rank vs ranking-to-learn: strategies for regression testing in continuous integration
Tipologia: Versione Editoriale (PDF)
Licenza: NON PUBBLICO - Accesso privato/ristretto
Dimensione 1.98 MB
Formato Adobe PDF
1.98 MB Adobe PDF   Visualizza/Apri   Richiedi una copia
Bertolino_etal_ICSE20-Arch.pdf

accesso aperto

Descrizione: Learning-to-Rank vs Ranking-to-Learn: Strategies for Regression Testing in Continuous Integration
Tipologia: Documento in Post-print
Licenza: Altro tipo di licenza
Dimensione 2.71 MB
Formato Adobe PDF
2.71 MB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/377587
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 91
  • ???jsp.display-item.citation.isi??? 75
social impact