With a change away from software monoliths, test strategies need to evolve as well. Component tests for (micro)services fill the gap between unit tests and end-to-end tests. Since they only exercise part of the system, they are easier to deploy, faster, and less brittle than End-to-End tests. Component tests allow testing of edge cases which otherwise are hard or impossible to reproduce otherwise. They help to release software faster and more often in an agile environment.

Apart from reducing the time needed for regression testing, component tests also add value in other phases of the development life cycle: Developers can run component tests locally during development since no special licenses are required. On-boarding of new developers is faster, as less setup is required. Of all tests, component tests are the ones that reduce the risk of refactoring or non-functional changes and allow teams to reduce technical debt. And last, but not least, the component tests are likely the most up-to-date and complete documentation of service.

This talk follows a team on their journey of testing for a new service and highlights strategies for success.

May 12 @ 13:15
13:15 — 14:00 (45′)

Angela Evans