SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Source: time.com
CONTRACT
TESTING
W H AT TO
E X P E C T ?
 No code
 No tools
 How it can help you
 Some practices
Source: wallpaper21.com
A B O U T M E
 Maarten Groeneweg
 Portbase
 Tester & Guild lead
 @LazyTesting
WE HAVE A
PROBLEM
E2E
MONOLITH
Source: pinterest.com
MONOLITH PIPELINE
App
E2E
Tests
Feature team 1
Feature team 2
Platform team
Production
E2E
Tests
App
App
App
App
App
App
App
App
App
Feature team 1
Feature team 2
Platform team
MICROSERVICE PIPELINE
Production
A REAL MICROSERVICE PIPELINE
App
Tests
App
App
App
App
App
Tests
Tests
Tests
Tests
Tests
Feature team 1
Feature team 2
Platform team
Production
REAL MICROSERVICES IN PRODUCTION
App
App
App
App
App
App
App
App
App
Source: wikia.com
Source: theglobeandmail.com
THE
SOLUTION
C O N T R A C T
T E S T I N G
 Kills integration bugs
 Does not harm your
microservices
 Enables autonomous delivery
Source: therange.co.uk
STEP 1: CREATE CONTRACT
All-the-
beers-app
Beers API
/beers
Consumer
Provider
Contract
When: GET /beers
Then:
[{ name: 'Kaapse Harrie',
brewery: 'Kaapse Brouwers'}]
STEP 2: TEST CONSUMER AGAINST MOCK
Contract
Beer API
Mock
All-the-
beers-app
Test Consumer
STEP 3: VALIDATE CONTRACT
Contract
Contract
Contract
Beers API
Provider
When: GET /beers
Then:
[{ name: 'Kaapse Harrie',
brewery: 'Kaapse Brouwers'}]
MICROSERVICES PIPELINE
TestsConsumer
Provider Tests
Consumer
tests
Provider
Mock
Contract Ok
Provider
tests
Production
Production
A DVA N TA G E S
 Autonomous testing
 Consumer driven contracts
 Enables provider to optimize
 Insight in usage
Source: techtimes.com
7 ANTI-
PATTERNS
#1:
THE DICTATOR
Source: inrealdeep.com
#2:
THE TOOLIST
Source: wjs.com
#3: HAPPY PATH
COVERAGE
Source: reddit.com
Source: imgflip.com
#5: THE
NAYSAYER
Source: riseandshine.com.sg
#6:
THE COMPLEXITY
COMPLEX
Source: hbr.org
#7:
THE LEAKING
PIPELINE
Source: thespruce.com
CONCLUSION
I T ' S
A W E S O M E
 Autonomous releasing
 No testing monolith
 Insight in integrations
 But don't forget the humans
Source: Futurama
M O R E I N F O
 lazytesting.com/contract-
testing
 @LazyTesting

Weitere ähnliche Inhalte

Ähnlich wie Contract Testing - bye-bye Testing Monolith?

CI/CD for mobile development using Visual Studio App Center
CI/CD for mobile development using Visual Studio App CenterCI/CD for mobile development using Visual Studio App Center
CI/CD for mobile development using Visual Studio App CenterDan Ardelean
 
MOPCON 2015 - Tips of Mobile Continuous Delivery
MOPCON 2015 - Tips of Mobile Continuous DeliveryMOPCON 2015 - Tips of Mobile Continuous Delivery
MOPCON 2015 - Tips of Mobile Continuous Deliveryanistar sung
 
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to MarketEnterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to MarketNikita Sharma
 
WebRTC Reborn Hackference
WebRTC Reborn HackferenceWebRTC Reborn Hackference
WebRTC Reborn HackferenceDan Jenkins
 
Bug clipper - #TiEBootcamp Batch 1 Demo Day Pitch
Bug clipper - #TiEBootcamp Batch 1 Demo Day PitchBug clipper - #TiEBootcamp Batch 1 Demo Day Pitch
Bug clipper - #TiEBootcamp Batch 1 Demo Day Pitchtiemumbai
 
Context Aggregation and Analysis: A tool for User-Generated Video Verification
Context Aggregation and Analysis: A tool for User-Generated Video VerificationContext Aggregation and Analysis: A tool for User-Generated Video Verification
Context Aggregation and Analysis: A tool for User-Generated Video VerificationOlga Papadopoulou
 
Build once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformBuild once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformAspenware
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi SpecPedro J. Molina
 
WebRTC Reborn - Full Stack
WebRTC Reborn  - Full StackWebRTC Reborn  - Full Stack
WebRTC Reborn - Full StackDan Jenkins
 
Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for DevelopersBuilding Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for Developersarumsey
 
WebRTC Reborn Over The Air
WebRTC Reborn Over The AirWebRTC Reborn Over The Air
WebRTC Reborn Over The AirDan Jenkins
 
Centralize Data to Cut Costs and Increasing Quality of Cabling Installations
Centralize Data to Cut Costs and Increasing Quality of Cabling InstallationsCentralize Data to Cut Costs and Increasing Quality of Cabling Installations
Centralize Data to Cut Costs and Increasing Quality of Cabling InstallationsBrother Mobile Solutions
 
Second Screen Apps - On Google TV
Second Screen Apps - On Google TVSecond Screen Apps - On Google TV
Second Screen Apps - On Google TVCarmen Delessio
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumPerfecto by Perforce
 
Automating the API Product Lifecycle
Automating the API Product LifecycleAutomating the API Product Lifecycle
Automating the API Product LifecycleOlyaSurits
 
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...Perfecto by Perforce
 
Broadcast Music Inc. Release Rockstars: Program-Wide DevOps Success with Urba...
Broadcast Music Inc. Release Rockstars: Program-Wide DevOps Success with Urba...Broadcast Music Inc. Release Rockstars: Program-Wide DevOps Success with Urba...
Broadcast Music Inc. Release Rockstars: Program-Wide DevOps Success with Urba...Prolifics
 

Ähnlich wie Contract Testing - bye-bye Testing Monolith? (20)

CI/CD for mobile development using Visual Studio App Center
CI/CD for mobile development using Visual Studio App CenterCI/CD for mobile development using Visual Studio App Center
CI/CD for mobile development using Visual Studio App Center
 
MOPCON 2015 - Tips of Mobile Continuous Delivery
MOPCON 2015 - Tips of Mobile Continuous DeliveryMOPCON 2015 - Tips of Mobile Continuous Delivery
MOPCON 2015 - Tips of Mobile Continuous Delivery
 
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to MarketEnterprise E-Commerce Webinar #3: Bringing Your API to Market
Enterprise E-Commerce Webinar #3: Bringing Your API to Market
 
WebRTC Reborn Hackference
WebRTC Reborn HackferenceWebRTC Reborn Hackference
WebRTC Reborn Hackference
 
EMEA Regional OSUG
EMEA Regional OSUG EMEA Regional OSUG
EMEA Regional OSUG
 
Bug clipper - #TiEBootcamp Batch 1 Demo Day Pitch
Bug clipper - #TiEBootcamp Batch 1 Demo Day PitchBug clipper - #TiEBootcamp Batch 1 Demo Day Pitch
Bug clipper - #TiEBootcamp Batch 1 Demo Day Pitch
 
Context Aggregation and Analysis: A tool for User-Generated Video Verification
Context Aggregation and Analysis: A tool for User-Generated Video VerificationContext Aggregation and Analysis: A tool for User-Generated Video Verification
Context Aggregation and Analysis: A tool for User-Generated Video Verification
 
Build once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platformBuild once deploy everywhere using the telerik platform
Build once deploy everywhere using the telerik platform
 
Building APIs with the OpenApi Spec
Building APIs with the OpenApi SpecBuilding APIs with the OpenApi Spec
Building APIs with the OpenApi Spec
 
WebRTC Reborn - Full Stack
WebRTC Reborn  - Full StackWebRTC Reborn  - Full Stack
WebRTC Reborn - Full Stack
 
Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for DevelopersBuilding Mobile Apps: A PhoneGap Enterprise Introduction for Developers
Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers
 
WebRTC Reborn Over The Air
WebRTC Reborn Over The AirWebRTC Reborn Over The Air
WebRTC Reborn Over The Air
 
Andriod apps
Andriod appsAndriod apps
Andriod apps
 
Centralize Data to Cut Costs and Increasing Quality of Cabling Installations
Centralize Data to Cut Costs and Increasing Quality of Cabling InstallationsCentralize Data to Cut Costs and Increasing Quality of Cabling Installations
Centralize Data to Cut Costs and Increasing Quality of Cabling Installations
 
Second Screen Apps - On Google TV
Second Screen Apps - On Google TVSecond Screen Apps - On Google TV
Second Screen Apps - On Google TV
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with Appium
 
Automating the API Product Lifecycle
Automating the API Product LifecycleAutomating the API Product Lifecycle
Automating the API Product Lifecycle
 
Ci for-android-apps
Ci for-android-appsCi for-android-apps
Ci for-android-apps
 
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
How to Create a Risk Based Testing Strategy With Simulators, Emulators, and R...
 
Broadcast Music Inc. Release Rockstars: Program-Wide DevOps Success with Urba...
Broadcast Music Inc. Release Rockstars: Program-Wide DevOps Success with Urba...Broadcast Music Inc. Release Rockstars: Program-Wide DevOps Success with Urba...
Broadcast Music Inc. Release Rockstars: Program-Wide DevOps Success with Urba...
 

Kürzlich hochgeladen

How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 

Kürzlich hochgeladen (20)

How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 

Contract Testing - bye-bye Testing Monolith?

Hinweis der Redaktion

  1. Ask questions
  2. Test Automation Human aspect We use pact
  3. Slow feedback E2E test have knowledge of everything Dependencies between teams (if team 1 introduces a bug, others cannot deploy) Other team needs to provide it’s application => need for 1 or more integrated envs
  4. This is what you want
  5. A lot of implicit expectations
  6. How I feel as tester> slackline Creating a monolith Having integration bugs
  7. Next slide> talk about beer
  8. 1. Consumer writes a contract
  9. 2. Consumer can mock provider based on the contract 3. Consumer can test it’s own app against the mock But still… not that useful (just mocking)
  10. 4. Provider can validate the contract(s) against the actual implementation (and the other way around)
  11. Explain provider/consumer broker
  12. Consumer dictated contracts Customer collaboration over contract negotiation
  13. Tools over human interaction
  14. Bad coverage - forgetting fault paths (404s) Asume an evil provider team
  15. Consumers expect more then they actually need Example : all the beers api doesn’t need a breweyname
  16. Autonomous teams, what if 1 team doesn’t wat to?
  17. Integration testing is complex, accept it (your e2e test are complex as well) Complexity in testing is a smell of complexity in architecture
  18. Pipelines of provider and consumer need to interact If release provider: check all contracts If release of consumer: validate contract against provider