Juan Pablo Sotomayor Paez, Florida International University, USA
Patrick Alt, Ultimate Software, USA
Justin Phillips, Ultimate Software, USA
Peter J. Clarke, Florida International University, USA
The microservices architectural pattern has gained much attention from developers across the globe for the last few years. This is largely due to the benefits this architecture offers compared to a single monolithic application, which include loose coupling, independent development and deployment, among others. But what are the capabilities and challenges of testing microservices with existing open source tools? This poster presents a survey of existing open source tools to support microservices testing. The survey results reveal many of the different categories of tools to support the testing microservices-based architectures according to various dimensions including unit testing, integration testing, end-to-end testing; test infrastructure, test drivers and test harnesses; and implementation languages such as Java, PHP, and Golang. To gain experience in using some of the tools described in the survey, a polyglot testbed application (Rideshare) was created to execute various test cases. An experiment was performed using the testbed to gain experience with using the tools, and provide some insight into the overhead needed to execute tests on microservices-based applications.
Learning:
- Challenges of testing microservices-based applications.
- Survey of tools to support microservices testing.
- Polyglot testbed and reference application for testing microservices.
- Experiment on the test execution overhead for microservices.
Juan Pablo Sotomayor Paez, Patrick Alt, Justin Phillips, Peter J. Clarke, 2019 Poster Paper