Boosting test coverage for microservices

Good enough test coverage enables truly continuous deployment. Unit tests get one so far, but integration tests with actual counterparties make more sense for some features. Measuring and monitoring the code coverage for the integration tests helps to achieve the ideal deployment pipeline.

Abstract

Unit tests are the bread and butter of any project's quality assurance process. There is tooling that helps us find untested areas, records the coverage percentages, and notifies us if the changes cause a drop in the test scope. However, sometimes more than unit tests are needed. Running the executable in a test setup that resembles its actual use case without unit testing tooling is, in some cases, a more appropriate way to verify correct functionality.

Go 1.20 introduced the instrumentation of the application binary and enabled collecting code coverage for the integration tests. The new feature inspired the Findy Agency team to refactor their integration testing pipeline for their microservices. Along with the updated Go-toolchain, the new solution relies on GitHub Actions, Docker, and GitHub Packages. It enables the team to monitor the test coverage and quality better and share the test scripts effectively between different services.

Slides

Video

GoLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".


Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2024 GoLab | The international conference on Go in Florence-Design & devCantiere Creativo-Made withDatoCMS