Introduction
Integration and end-to-end (e2e) tests of distributed systems, especially those deployed in container orchestrators such as Kubernetes, are much more complex to prepare than monolith application tests. In distributed applications different services must be started even for the simplest integration test, and different tools must be installed and configured, such as a browser that will be used in a UI test, or an application that allows us to extract the logs of the different services of our system.
Content
The tutorial will show the efforts required to: 1) configure the tests with distributed systems, and 2) determine the cause of the error when a fault occurs. In addition, it will be shown how these efforts can be diminished using the appropriate monitoring tools.
In this master class, we will begin by explaining how to configure the e2e tests on a Docker-based application using Jenkins. We will visit the life cycle of the testing process: start the application, run the tests, collect logs and metrics for the application and analyse the results.
Next, how to use monitoring tools such as ElasticSearch in the context of testing will be introduced. These tools combined with the appropriate dashboards allow us to take a look at what happened in the application during the test.
Finally, we will see how to use more specific tools to find out the cause of an error when the tests fail. These more specific tools, unlike the previous ones, understand the concept of tests and their scope so they are able to collect the relevant data during the process of executing the tests.
Outcomes
In this master class, you will learn:
Participants will learn how to focus the automation of distributed cloud containerized application tests, as well as the use of tools to obtain maximum information during the execution of the tests.
Target Audience
Testers, QA managers, agile teams that implement the DevOps culture.