Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Consumer Driven Contract Testing - Überblick

Consumer Driven Contract Testing - Überblick

Warum sollte man sich Consumer Driven Contract Testing anschauen wenn man mit verteilten Softwaresystemen arbeitet?

Michael Krämer

June 18, 2021
Tweet

More Decks by Michael Krämer

Other Decks in Technology

Transcript

  1. Z K B T e c h t a l

    k / O N L I N E / 2 2 . 0 6 . 2 0 2 1 Consumer Driven Contract Testing Eine Übersicht MICHAEL KRÄMER @MKRAEMERX
  2. „Technik ist nutzlos, wenn sie nichts nutzt!“ Gestaltet Software und

    versucht sich im Imkern Senior Consultant bei INNOQ Schweiz GmbH MICHAEL KRÄMER
  3. Schnittstellen • die relevantesten Aspekte bei der Integration von Anwendungen

    • teamübergreifender Umgang mit Schnittstellen etabliert • In n Varianten..
  4. Consumer first • Consumer geben Kontrakt vor • Testet Erwartungen

    an die Schnittstelle • Fokus! • So wenig testen wie möglich! • Können nur fehlschlagen durch Änderungen Dritter Consumer Pact Tests Consumer Mock Contract
  5. Provider liefert • Provider testet gegen Implementierung • Fachliche Tests

    (Domäne des Providers) bleiben separat Contract Provider Tests run by Provider Actual Service
  6. Consumer Driven Contract Test Consumer Pact Tests Contract Provider Consumer

    Mock Contract Tests run by Provider Actual Service Pact File
  7. Vorteile • Fokus auf „Business value“ • Wenn man sich

    wirklich treiben lässt • Umdenken nötig !? • Deployment unabhängig • Zeitliche Entkopplung der Tests zweier Teams / Systeme • Integrationstests sind ein Bottleneck verteilter Systeme • Trotzdem Regressionssicherheit • Einfachere Erweiterbarkeit und Änderbarkeit • Provider kann ändern, solange die Erwartungen erfüllt bleiben • Provider kann neue Versionen vorschlagen, die vorab getestet werden können
  8. www.innoq.com Gewerbestr. 11 CH-6330 Cham +41 41 743 0116 Hardturmstr.

    253 8005 Zürich innoQ Schweiz GmbH Danke! Fragen? Michael Krämer [email protected] +41 58 521 50 18 @mkraemerx Folien: https://speakerdeck.com/mkraemerx/ consumer-driven-contract-testing- uberblick
  9. Weitere Links • Testen von Schnittstellen innerhalb einer Microservices- Architektur

    • https://www.innoq.com/de/articles/2016/09/consumer-driven- contracts/ • API-Ansätze im Vergleich – INNOQ Technology Lunch von Stefan Tilkov • https://www.youtube.com/watch?v=NGzUKH4bw8w • PACT Bibliothek (ursprünglich Ruby, auch für JVM) • https://docs.pact.io/