The emergence of microservices architecture calls for novel methodologies and technological frame-works that support the design, development, and maintenance of applications structured according to this new architectural style. In this paper, we consider the issue of designing suitable strategies for the governance of testing activities within the microservices paradigm. We focus on the problem of discovering implicit relations between test programs that help to avoid re-running all the available test suites each time one of its constituents evolves. We propose a dynamic analysis technique and its supporting framework that collects information about the invocations of local and remote APIs. Information on test program execution is obtained in two ways: instrumenting the test program code or running a symbolic execution engine. The extracted information is processed by a rule-based automated reasoning engine, which infers implicit similarities among test programs. We show that our analysis technique can be used to support the reduction of test suites, and therefore has good application potential in the context of regression test optimisation. The proposed approach has been validated against two real-world microservices applications.

De Angelis, E., De Angelis, G., Pellegrini, A., Proietti, M. (2023). What makes test programs similar in microservices applications?. THE JOURNAL OF SYSTEMS AND SOFTWARE, 201 [10.1016/j.jss.2023.111674].

What makes test programs similar in microservices applications?

Alessandro Pellegrini;
2023-01-01

Abstract

The emergence of microservices architecture calls for novel methodologies and technological frame-works that support the design, development, and maintenance of applications structured according to this new architectural style. In this paper, we consider the issue of designing suitable strategies for the governance of testing activities within the microservices paradigm. We focus on the problem of discovering implicit relations between test programs that help to avoid re-running all the available test suites each time one of its constituents evolves. We propose a dynamic analysis technique and its supporting framework that collects information about the invocations of local and remote APIs. Information on test program execution is obtained in two ways: instrumenting the test program code or running a symbolic execution engine. The extracted information is processed by a rule-based automated reasoning engine, which infers implicit similarities among test programs. We show that our analysis technique can be used to support the reduction of test suites, and therefore has good application potential in the context of regression test optimisation. The proposed approach has been validated against two real-world microservices applications.
2023
Pubblicato
Rilevanza internazionale
Articolo
Esperti anonimi
Settore ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Settore IINF-05/A - Sistemi di elaborazione delle informazioni
English
Software testing; Microservices architecture; Test program similarity; Symbolic execution; Program instrumentation; Automated reasoning
De Angelis, E., De Angelis, G., Pellegrini, A., Proietti, M. (2023). What makes test programs similar in microservices applications?. THE JOURNAL OF SYSTEMS AND SOFTWARE, 201 [10.1016/j.jss.2023.111674].
De Angelis, E; De Angelis, G; Pellegrini, A; Proietti, M
Articolo su rivista
File in questo prodotto:
File Dimensione Formato  
DeA23.pdf

solo utenti autorizzati

Tipologia: Documento in Post-print
Licenza: Copyright dell'editore
Dimensione 5.34 MB
Formato Adobe PDF
5.34 MB Adobe PDF   Visualizza/Apri   Richiedi una copia
1-s2.0-S0164121223000699-main.pdf

solo utenti autorizzati

Tipologia: Versione Editoriale (PDF)
Licenza: Copyright dell'editore
Dimensione 3.03 MB
Formato Adobe PDF
3.03 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

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/2108/323431
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 0
social impact