Microservice-based applications consist of multiple services that can evolve independently. When services are modified, they are typically tested before being deployed. However, the test suites that are executed are usually designed without the exact knowledge about how the services will be accessed and used in the field, therefore they may easily miss relevant test scenarios, failing to prevent the deployment of faulty services. To address this problem, we introduce ExVivoMicroTest, an approach that analyzes the execution of deployed services at runtime in the field, in order to generate test cases for future versions of the same services. ExVivoMicroTest exploits cloud technologies, containers in particular, to generate a mocked environment that fully isolates the service under test from the rest of the system. It then reproduces service interactions as previously analyzed, thus testing the new version of the service against usage scenarios that capture the field usages of its earlier versions. We evaluate our approach on an open sourced microservices application and show that ExVivoMicroTest can effectively reveal faults based on automatically collected data.

Gazzola, L., Goldstein, M., Mariani, L., Segall, I., Ussi, L. (2020). Automatic ex-vivo regression testing of microservices. In Proceedings - 2020 IEEE/ACM 1st International Conference on Automation of Software Test, AST 2020 (pp.11-20). ;2 Penn Plaza, Suite 701 : Association for Computing Machinery [10.1145/3387903.3389309].

Automatic ex-vivo regression testing of microservices

Gazzola L.;Mariani L.;
2020

Abstract

Microservice-based applications consist of multiple services that can evolve independently. When services are modified, they are typically tested before being deployed. However, the test suites that are executed are usually designed without the exact knowledge about how the services will be accessed and used in the field, therefore they may easily miss relevant test scenarios, failing to prevent the deployment of faulty services. To address this problem, we introduce ExVivoMicroTest, an approach that analyzes the execution of deployed services at runtime in the field, in order to generate test cases for future versions of the same services. ExVivoMicroTest exploits cloud technologies, containers in particular, to generate a mocked environment that fully isolates the service under test from the rest of the system. It then reproduces service interactions as previously analyzed, thus testing the new version of the service against usage scenarios that capture the field usages of its earlier versions. We evaluate our approach on an open sourced microservices application and show that ExVivoMicroTest can effectively reveal faults based on automatically collected data.
paper
Ex-vivo testing; Microservices; Regression testing; Software testing
English
2020 IEEE/ACM 1st International Conference on Automation of Software Test, AST 2020
2020
Proceedings - 2020 IEEE/ACM 1st International Conference on Automation of Software Test, AST 2020
9781450379571
2020
11
20
none
Gazzola, L., Goldstein, M., Mariani, L., Segall, I., Ussi, L. (2020). Automatic ex-vivo regression testing of microservices. In Proceedings - 2020 IEEE/ACM 1st International Conference on Automation of Software Test, AST 2020 (pp.11-20). ;2 Penn Plaza, Suite 701 : Association for Computing Machinery [10.1145/3387903.3389309].
File in questo prodotto:
Non ci sono file associati a questo prodotto.

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/10281/293875
Citazioni
  • Scopus 7
  • ???jsp.display-item.citation.isi??? 6
Social impact