Slide 1

Slide 1 text

Testing Microservices Pipeline Practical experiences Alberto Ríos

Slide 2

Slide 2 text

This is a conversation We are going to be talking, but feel free to stop us

Slide 3

Slide 3 text

Testing a service with an external dependency Unit tests Integration tests Component tests Contract Checks

Slide 4

Slide 4 text

IoT Example IOT Monitor Web Alert Service Sensor Service Sensor Monitor

Slide 5

Slide 5 text

How do we deploy this?

Slide 6

Slide 6 text

How do we deploy this?

Slide 7

Slide 7 text

How do we deploy this?

Slide 8

Slide 8 text

How do we deploy this?

Slide 9

Slide 9 text

How do we deploy this?

Slide 10

Slide 10 text

What is a contract check? We use the same environment for contract checks and for end to end tests

Slide 11

Slide 11 text

Testing a service with an external dependency Put all the scripts inside the project instead of the pipeline

Slide 12

Slide 12 text

When do we use Test Doubles? Because we were using the cf-resource we were creating different manifests to point to the services on the different environments with different application names

Slide 13

Slide 13 text

What about the web?

Slide 14

Slide 14 text

Testing a service with an external dependency ● What about testing rollbacks? Manual ● What about static analysis? Not there, but I would add them as a separate step that does not affect the deployment (same for mutation testing) ● What about external dependencies that are not owed by the team? We created a scheduler that checks them periodically. Helped us gaining sanity, specially with services that are flaky.

Slide 15

Slide 15 text

Acknowledgement Pivotal-STCS Sonora team Pivotal-STCS Sonora team

Slide 16

Slide 16 text

Thank you! Questions?