Doorgaan naar de inhoud

Details

Na een geslaagde eerste live MeetUp op het kantoor van deTesters - TestCoders - TechChamps van dit jaar, staat de volgende alweer op de planning. Dit keer een Workshop Contract Testing. Wederom in onze studio in de Werkspoorkathedraal. Neem je laptop mee!

NOTE: despite the text being in English, the workshop is in Dutch

Workshop introduction
Monoliths are dead. Or, at the very least, they are quickly going the way of the dinosaur. Modern applications are built out of loosely coupled, independent components (i.e., microservices) that communicate with one another through standardized protocols and message formats (HTTP, REST, ...).

While this is a blessing for software development, as it enables quick deployments and parallel development, among other things, it does pose some additional challenges in terms of integration and E2E testing. At all times, you want to be informed about whether all of the components and services that make up your application can still communicate with one another. Setting up large scale test environments for all of these components, either using 'the real thing' or stubs, can quickly become a Herculean task.

Contract testing is an approach that is meant to address these challenges of large-scale integration and E2E testing in distributed environments. It is not a new technique, in fact, it has been around for several years now, but unfortunately there is a lack of good introductions, examples and use cases that clearly show the added value of contract testing, and how it can help speed up integration testing.

This workshop is meant to address that. The participants will go through the following steps:

1. The challenges of integration testing in distributed environments
If you're working on a monolith and all components of a system are developed in the same team or department, integration testing is relatively easy. Once the monolith is deployed, you can start testing. However, if a system consists of small, independent components, teams quickly start to struggle. Are all components available for testing? Is all required test data in place? How about versioning?

2. Introducing contract testing
As a potential solution to the integration testing challenges, I'll introduce the concept of contract testing and how it differs from (and augments) traditional functional and integration testing. In this step, I'll introduce Pact, and together we will go through a complete contract testing cycle.

3. Changes over time
As systems evolve, new changes will be implemented both on the consumer and on the provider side. But what effect does that have on the ability for consumers and providers to work together?

4. A new kid on the block
As participants will have seen by now, contract testing can be a great addition to an integration testing strategy. However, introducing contract testing means adding new tools and new ways of working, which is a pretty big first step for a lot of teams. The concept of bi-directional contracts (https://pactflow.io/blog/bi-directional-contracts/) is meant to address that challenge.

Takeaways

  • Contract testing can help to ease the pain of integration and E2E testing in large-scale distributed systems (e.g., microservices-based applications)
  • Pact is a cross-platform consumer-driver contract testing tool that enables you to perform asynchronous integration testing and untangle the integration hell that is large-scale end-to-end testing in distributed systems
  • A new approach called bi-directional contracts will make it much easier to get started with contract testing

Trainer
Bas Dijkstra is een zeer ervaren spreker, trainer en consultant op het gebied van test automation. Sinds september 2021 is hij Director van Inspired Academy. Met een track record van 15+ jaar in het vakgebied kent hij de mooie kanten maar zeker ook de uitdagingen. Hij heeft in het verleden talks gehouden op grote conferenties. En ook dit jaar staat hij o.a. op de Nordic Testing Days.

Doelgroep

  • Testers met een technische achtergrond en interesse voor / ervaring met testautomatisering
  • De hele avond is in het Nederlands * Dutch spoken *
  • Java kennis is een pré

Programma
17:30 Ontvangst en eten
18:30 Start workshop
21.30 Einde workshop en aansluitend een borrel

Gerelateerde onderwerpen

Quality Assurance
Software QA and Testing
Test Automation

Misschien vind je dit ook leuk