SlideShare a Scribd company logo
Verifying microservices in
chains without chain
testing?
Pascal Dufour
pascal@agilix.nl
@pascal_dufour
Consumer Driven Contracts
What do you know.
1 minute
AgiliX @ TestCon Europe 2019
A) Statement 1: Discuss 2 minute with your neighbor
B) Statement 1: Discuss 3 minute with a pair of neighbors
C) Vote as a group
Debrief &Take aways
The plan for this “talk”
AgiliX @ TestCon Europe 2019
The idea
Repeat with statement 2
Repeat with statement 3
How did we get contract testing to work
Chain testing
Backend
payment
Customer flow
AgiliX @ TestCon Europe 2019
Backend
Onboard
customer
Backend
Buy product
Backend
…
Frontend
payment
Frontend
Onboard
customer
Frontend
Buy product
Frontend
….
AgiliX @ TestCon Europe 2019
AgiliX @ TestCon Europe 2019
Chain testing reality
• The real thing
• Visual tests
• Business test
• Realistic simulations
• Connected to all external
systems
• ”All” user test are possible
Positive
• Test data (hell)
• Never in sync (configuration)
• Long run time
• Difficult to debug
• Late feedback
• Too many dependencies
• Operation costs
• False sense of security
Negative
The Idea?
Address
Producer
GetAddress
(PostalCode)
Car
GetAddress
(PostalCode)
Bike
GetAddress
(GPS coordinates)
Drone
A
B
C
A’
D
E
Scenario’s
Contracts :
AgiliX @ TestCon Europe 2019
Definitions
• Consumer Driven Contracts is a pattern that drives the
development of the Producer from its Consumers point of view.
• Producer
Service that exposes an API / Sends an message
• Consumer
Service that consumes the the API of the producer /Send a request
• Contract
Agreement between consumer and producer what the API / message
will look like.
AgiliX @ TestCon Europe 2019
Which problems solves CDC
• Late feedback from a changing API.
• Producer design not fitting the expectation by consumers
• Unclear expectation of the behavior of the API
AgiliX @ TestCon Europe 2019
Microservices
Is there for microservices a different test strategy?
AgiliX @ TestCon Europe 2019
e 2 e
Integration
Unit
A) Statement 1: Discuss 2 minute with your neighbor
B) Statement 1: Discuss 3 minute with a pair of neighbors
C) Vote as a group
Debrief &Take aways
The plan for this “talk”
AgiliX @ TestCon Europe 2019
The idea
Repeat with statement 2
Repeat with statement 3
How did we get contract testing to work
AgiliX @ TestCon Europe 2019
CDC is only useful for
testing the syntax
max fieldlength, only
nummeric, etc.
AgiliX @ TestCon Europe 2019
Huh? / Really? / So?
Relations between
dependent fields should
be tested!
When Tax amount is specified,
Tax % might be required
AgiliX @ TestCon Europe 2019
Huh? / Really? / So?
A CDC-test should
always break when a
contract is changed!
AgiliX @ TestCon Europe 2019
Huh? / Really? / So?
Debrief
• Consumer Driven Contracts is a pattern that drives the
development of the Producer from its Consumers point of view.
• Force communication
• Formal
• Documentation
• Fast feedback during development
AgiliX @ TestCon Europe 2019
How did we get it to work
• No availability of the acceptance test environment
(production like) anymore
• A few determined enthusiastic developers
• Setup pipelines / examples
• Frequent Knowledge sessions
• Mentoring others who where new.
• Each teams monitor his own tests.
• Review cross team
AgiliX @ TestCon Europe 2019
Take aways
• Consumer Driven Contracts is a pattern that drives the
development of the Producer from its Consumers point of view.
• Force communication
• Fast feedback to the developer.
• Producer design seen as black box (design should be tested by
producer it self)
• Determined enthusiastic developers
• Data format like an IBAN number should be tested.
• Contract should be extendable (adding additional fields by the
producer should be possible.)
• Stubs needed for the contract are useful elsewhere
• The principle of CDC can be used outside micro services.
AgiliX @ TestCon Europe 2019
Join Slido.com with #testcon2019
Thank you
All slides can be download at
http://Agilix.nl/
AgiliX @ TestCon Europe 2019
Links
• Martin Fowler Consumer-Driven Contracts: A Service Evolution
Pattern
• Marcin Grzejszczak consumer driven contract
• Spotify: Testing of Microservices
Special thanks to
Cirilo wortel
Daan Koolman
AgiliX @ TestCon Europe 2019
Pascal Dufour
AgiliX @ TestCon Europe 2019
Getting a Grip on
Exploratory Testing

More Related Content

Similar to Contract testing TestCon 2019

What does it take to be an architect
What does it take to be an architectWhat does it take to be an architect
What does it take to be an architect
Constantine Slisenka
 
Ensure the integration of Microservices with Consumer Driven Contracts
Ensure the integration of Microservices with Consumer Driven ContractsEnsure the integration of Microservices with Consumer Driven Contracts
Ensure the integration of Microservices with Consumer Driven Contracts
Ingo Griebsch
 
What does it take to be architect (for Cjicago JUG)
What does it take to be architect (for Cjicago JUG)What does it take to be architect (for Cjicago JUG)
What does it take to be architect (for Cjicago JUG)
Constantine Slisenka
 
The Future of BriteCore - Product Development
The Future of BriteCore - Product DevelopmentThe Future of BriteCore - Product Development
The Future of BriteCore - Product Development
Phil Reynolds
 
CWIN17 telford api management, practical implementation experience - david ru...
CWIN17 telford api management, practical implementation experience - david ru...CWIN17 telford api management, practical implementation experience - david ru...
CWIN17 telford api management, practical implementation experience - david ru...
Capgemini
 
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Daniel Krook
 
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
New Relic
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster
Curiosity Software Ireland
 
Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020
Saul Caganoff
 
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglassapidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays
 
apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...
apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...
apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...
apidays
 
IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0
Matt Lucas
 
Testing SAP PI/PO Interfaces the easy way
Testing SAP PI/PO Interfaces the easy wayTesting SAP PI/PO Interfaces the easy way
Testing SAP PI/PO Interfaces the easy way
Daniel Graversen
 
SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech
Quentin Samelson
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
Keshav Vasudevan
 
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity Software Ireland
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
SmartBear
 
Six sigma in various industries
Six sigma in various industriesSix sigma in various industries
Six sigma in various industries
Aamir chouhan
 
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB
 
How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thing
Belsoft
 

Similar to Contract testing TestCon 2019 (20)

What does it take to be an architect
What does it take to be an architectWhat does it take to be an architect
What does it take to be an architect
 
Ensure the integration of Microservices with Consumer Driven Contracts
Ensure the integration of Microservices with Consumer Driven ContractsEnsure the integration of Microservices with Consumer Driven Contracts
Ensure the integration of Microservices with Consumer Driven Contracts
 
What does it take to be architect (for Cjicago JUG)
What does it take to be architect (for Cjicago JUG)What does it take to be architect (for Cjicago JUG)
What does it take to be architect (for Cjicago JUG)
 
The Future of BriteCore - Product Development
The Future of BriteCore - Product DevelopmentThe Future of BriteCore - Product Development
The Future of BriteCore - Product Development
 
CWIN17 telford api management, practical implementation experience - david ru...
CWIN17 telford api management, practical implementation experience - david ru...CWIN17 telford api management, practical implementation experience - david ru...
CWIN17 telford api management, practical implementation experience - david ru...
 
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
Commit to the Cause, Push for Change: Contributing to Call for Code Open Sour...
 
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster
 
Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020Growing an API Culture - APIdays LIVE AU 2020
Growing an API Culture - APIdays LIVE AU 2020
 
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglassapidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
apidays LIVE Paris - Growing an API Culture by Saul Caganoff & Liz Douglass
 
apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...
apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...
apidays LIVE Australia 2020 - Growing an API Culture by Liz Douglass & Saul C...
 
IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0
 
Testing SAP PI/PO Interfaces the easy way
Testing SAP PI/PO Interfaces the easy wayTesting SAP PI/PO Interfaces the easy way
Testing SAP PI/PO Interfaces the easy way
 
SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
 
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
Curiosity and Infuse Consulting Present: Sustainable Test Automation Strategi...
 
Understanding and Executing on API Developer Experience
Understanding and Executing on API Developer ExperienceUnderstanding and Executing on API Developer Experience
Understanding and Executing on API Developer Experience
 
Six sigma in various industries
Six sigma in various industriesSix sigma in various industries
Six sigma in various industries
 
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
MongoDB World 2019: Building Flexible and Secure Customer Applications with M...
 
How adding a further tool can be a good thing
How adding a further tool can be a good thingHow adding a further tool can be a good thing
How adding a further tool can be a good thing
 

More from Pascal Dufour

Meetup How we became Software testing world champion
Meetup How we became Software testing world championMeetup How we became Software testing world champion
Meetup How we became Software testing world champion
Pascal Dufour
 
Road 2 devops at Stater
Road 2 devops  at StaterRoad 2 devops  at Stater
Road 2 devops at Stater
Pascal Dufour
 
Agile testing organizational mindshift
Agile testing organizational mindshiftAgile testing organizational mindshift
Agile testing organizational mindshift
Pascal Dufour
 
Stop coding start testing
Stop coding start testingStop coding start testing
Stop coding start testing
Pascal Dufour
 
A-TDD workshop Testnet
A-TDD workshop Testnet A-TDD workshop Testnet
A-TDD workshop Testnet
Pascal Dufour
 
Happier teams by cesario ramos and pascal dufour
Happier teams by cesario ramos and pascal dufourHappier teams by cesario ramos and pascal dufour
Happier teams by cesario ramos and pascal dufour
Pascal Dufour
 
Think different visualization tools for testers StarEast 2013 pascaldufour
Think different  visualization tools for testers  StarEast 2013 pascaldufourThink different  visualization tools for testers  StarEast 2013 pascaldufour
Think different visualization tools for testers StarEast 2013 pascaldufour
Pascal Dufour
 
Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)
Pascal Dufour
 
Visibility najaarsevent testnet
Visibility najaarsevent testnetVisibility najaarsevent testnet
Visibility najaarsevent testnet
Pascal Dufour
 

More from Pascal Dufour (9)

Meetup How we became Software testing world champion
Meetup How we became Software testing world championMeetup How we became Software testing world champion
Meetup How we became Software testing world champion
 
Road 2 devops at Stater
Road 2 devops  at StaterRoad 2 devops  at Stater
Road 2 devops at Stater
 
Agile testing organizational mindshift
Agile testing organizational mindshiftAgile testing organizational mindshift
Agile testing organizational mindshift
 
Stop coding start testing
Stop coding start testingStop coding start testing
Stop coding start testing
 
A-TDD workshop Testnet
A-TDD workshop Testnet A-TDD workshop Testnet
A-TDD workshop Testnet
 
Happier teams by cesario ramos and pascal dufour
Happier teams by cesario ramos and pascal dufourHappier teams by cesario ramos and pascal dufour
Happier teams by cesario ramos and pascal dufour
 
Think different visualization tools for testers StarEast 2013 pascaldufour
Think different  visualization tools for testers  StarEast 2013 pascaldufourThink different  visualization tools for testers  StarEast 2013 pascaldufour
Think different visualization tools for testers StarEast 2013 pascaldufour
 
Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)
 
Visibility najaarsevent testnet
Visibility najaarsevent testnetVisibility najaarsevent testnet
Visibility najaarsevent testnet
 

Recently uploaded

The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...
Adam Smith
 
3.0 Project 2_ Developing My Brand Identity Kit.pptx
3.0 Project 2_ Developing My Brand Identity Kit.pptx3.0 Project 2_ Developing My Brand Identity Kit.pptx
3.0 Project 2_ Developing My Brand Identity Kit.pptx
tanyjahb
 
Introduction to Amazon company 111111111111
Introduction to Amazon company 111111111111Introduction to Amazon company 111111111111
Introduction to Amazon company 111111111111
zoyaansari11365
 
anas about venice for grade 6f about venice
anas about venice for grade 6f about veniceanas about venice for grade 6f about venice
anas about venice for grade 6f about venice
anasabutalha2013
 
What is the TDS Return Filing Due Date for FY 2024-25.pdf
What is the TDS Return Filing Due Date for FY 2024-25.pdfWhat is the TDS Return Filing Due Date for FY 2024-25.pdf
What is the TDS Return Filing Due Date for FY 2024-25.pdf
seoforlegalpillers
 
Buy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star ReviewsBuy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star Reviews
usawebmarket
 
5 Things You Need To Know Before Hiring a Videographer
5 Things You Need To Know Before Hiring a Videographer5 Things You Need To Know Before Hiring a Videographer
5 Things You Need To Know Before Hiring a Videographer
ofm712785
 
Meas_Dylan_DMBS_PB1_2024-05XX_Revised.pdf
Meas_Dylan_DMBS_PB1_2024-05XX_Revised.pdfMeas_Dylan_DMBS_PB1_2024-05XX_Revised.pdf
Meas_Dylan_DMBS_PB1_2024-05XX_Revised.pdf
dylandmeas
 
Affordable Stationery Printing Services in Jaipur | Navpack n Print
Affordable Stationery Printing Services in Jaipur | Navpack n PrintAffordable Stationery Printing Services in Jaipur | Navpack n Print
Affordable Stationery Printing Services in Jaipur | Navpack n Print
Navpack & Print
 
Discover the innovative and creative projects that highlight my journey throu...
Discover the innovative and creative projects that highlight my journey throu...Discover the innovative and creative projects that highlight my journey throu...
Discover the innovative and creative projects that highlight my journey throu...
dylandmeas
 
FINAL PRESENTATION.pptx12143241324134134
FINAL PRESENTATION.pptx12143241324134134FINAL PRESENTATION.pptx12143241324134134
FINAL PRESENTATION.pptx12143241324134134
LR1709MUSIC
 
Maksym Vyshnivetskyi: PMO Quality Management (UA)
Maksym Vyshnivetskyi: PMO Quality Management (UA)Maksym Vyshnivetskyi: PMO Quality Management (UA)
Maksym Vyshnivetskyi: PMO Quality Management (UA)
Lviv Startup Club
 
The-McKinsey-7S-Framework. strategic management
The-McKinsey-7S-Framework. strategic managementThe-McKinsey-7S-Framework. strategic management
The-McKinsey-7S-Framework. strategic management
Bojamma2
 
Sustainability: Balancing the Environment, Equity & Economy
Sustainability: Balancing the Environment, Equity & EconomySustainability: Balancing the Environment, Equity & Economy
Sustainability: Balancing the Environment, Equity & Economy
Operational Excellence Consulting
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
Cynthia Clay
 
Cree_Rey_BrandIdentityKit.PDF_PersonalBd
Cree_Rey_BrandIdentityKit.PDF_PersonalBdCree_Rey_BrandIdentityKit.PDF_PersonalBd
Cree_Rey_BrandIdentityKit.PDF_PersonalBd
creerey
 
What are the main advantages of using HR recruiter services.pdf
What are the main advantages of using HR recruiter services.pdfWhat are the main advantages of using HR recruiter services.pdf
What are the main advantages of using HR recruiter services.pdf
HumanResourceDimensi1
 
Project File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdfProject File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdf
RajPriye
 
VAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and RequirementsVAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and Requirements
uae taxgpt
 
Premium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern BusinessesPremium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern Businesses
SynapseIndia
 

Recently uploaded (20)

The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...The Influence of Marketing Strategy and Market Competition on Business Perfor...
The Influence of Marketing Strategy and Market Competition on Business Perfor...
 
3.0 Project 2_ Developing My Brand Identity Kit.pptx
3.0 Project 2_ Developing My Brand Identity Kit.pptx3.0 Project 2_ Developing My Brand Identity Kit.pptx
3.0 Project 2_ Developing My Brand Identity Kit.pptx
 
Introduction to Amazon company 111111111111
Introduction to Amazon company 111111111111Introduction to Amazon company 111111111111
Introduction to Amazon company 111111111111
 
anas about venice for grade 6f about venice
anas about venice for grade 6f about veniceanas about venice for grade 6f about venice
anas about venice for grade 6f about venice
 
What is the TDS Return Filing Due Date for FY 2024-25.pdf
What is the TDS Return Filing Due Date for FY 2024-25.pdfWhat is the TDS Return Filing Due Date for FY 2024-25.pdf
What is the TDS Return Filing Due Date for FY 2024-25.pdf
 
Buy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star ReviewsBuy Verified PayPal Account | Buy Google 5 Star Reviews
Buy Verified PayPal Account | Buy Google 5 Star Reviews
 
5 Things You Need To Know Before Hiring a Videographer
5 Things You Need To Know Before Hiring a Videographer5 Things You Need To Know Before Hiring a Videographer
5 Things You Need To Know Before Hiring a Videographer
 
Meas_Dylan_DMBS_PB1_2024-05XX_Revised.pdf
Meas_Dylan_DMBS_PB1_2024-05XX_Revised.pdfMeas_Dylan_DMBS_PB1_2024-05XX_Revised.pdf
Meas_Dylan_DMBS_PB1_2024-05XX_Revised.pdf
 
Affordable Stationery Printing Services in Jaipur | Navpack n Print
Affordable Stationery Printing Services in Jaipur | Navpack n PrintAffordable Stationery Printing Services in Jaipur | Navpack n Print
Affordable Stationery Printing Services in Jaipur | Navpack n Print
 
Discover the innovative and creative projects that highlight my journey throu...
Discover the innovative and creative projects that highlight my journey throu...Discover the innovative and creative projects that highlight my journey throu...
Discover the innovative and creative projects that highlight my journey throu...
 
FINAL PRESENTATION.pptx12143241324134134
FINAL PRESENTATION.pptx12143241324134134FINAL PRESENTATION.pptx12143241324134134
FINAL PRESENTATION.pptx12143241324134134
 
Maksym Vyshnivetskyi: PMO Quality Management (UA)
Maksym Vyshnivetskyi: PMO Quality Management (UA)Maksym Vyshnivetskyi: PMO Quality Management (UA)
Maksym Vyshnivetskyi: PMO Quality Management (UA)
 
The-McKinsey-7S-Framework. strategic management
The-McKinsey-7S-Framework. strategic managementThe-McKinsey-7S-Framework. strategic management
The-McKinsey-7S-Framework. strategic management
 
Sustainability: Balancing the Environment, Equity & Economy
Sustainability: Balancing the Environment, Equity & EconomySustainability: Balancing the Environment, Equity & Economy
Sustainability: Balancing the Environment, Equity & Economy
 
Putting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptxPutting the SPARK into Virtual Training.pptx
Putting the SPARK into Virtual Training.pptx
 
Cree_Rey_BrandIdentityKit.PDF_PersonalBd
Cree_Rey_BrandIdentityKit.PDF_PersonalBdCree_Rey_BrandIdentityKit.PDF_PersonalBd
Cree_Rey_BrandIdentityKit.PDF_PersonalBd
 
What are the main advantages of using HR recruiter services.pdf
What are the main advantages of using HR recruiter services.pdfWhat are the main advantages of using HR recruiter services.pdf
What are the main advantages of using HR recruiter services.pdf
 
Project File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdfProject File Report BBA 6th semester.pdf
Project File Report BBA 6th semester.pdf
 
VAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and RequirementsVAT Registration Outlined In UAE: Benefits and Requirements
VAT Registration Outlined In UAE: Benefits and Requirements
 
Premium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern BusinessesPremium MEAN Stack Development Solutions for Modern Businesses
Premium MEAN Stack Development Solutions for Modern Businesses
 

Contract testing TestCon 2019

  • 1. Verifying microservices in chains without chain testing? Pascal Dufour pascal@agilix.nl @pascal_dufour
  • 2. Consumer Driven Contracts What do you know. 1 minute AgiliX @ TestCon Europe 2019
  • 3. A) Statement 1: Discuss 2 minute with your neighbor B) Statement 1: Discuss 3 minute with a pair of neighbors C) Vote as a group Debrief &Take aways The plan for this “talk” AgiliX @ TestCon Europe 2019 The idea Repeat with statement 2 Repeat with statement 3 How did we get contract testing to work
  • 4. Chain testing Backend payment Customer flow AgiliX @ TestCon Europe 2019 Backend Onboard customer Backend Buy product Backend … Frontend payment Frontend Onboard customer Frontend Buy product Frontend ….
  • 5. AgiliX @ TestCon Europe 2019
  • 6. AgiliX @ TestCon Europe 2019 Chain testing reality • The real thing • Visual tests • Business test • Realistic simulations • Connected to all external systems • ”All” user test are possible Positive • Test data (hell) • Never in sync (configuration) • Long run time • Difficult to debug • Late feedback • Too many dependencies • Operation costs • False sense of security Negative
  • 8. Definitions • Consumer Driven Contracts is a pattern that drives the development of the Producer from its Consumers point of view. • Producer Service that exposes an API / Sends an message • Consumer Service that consumes the the API of the producer /Send a request • Contract Agreement between consumer and producer what the API / message will look like. AgiliX @ TestCon Europe 2019
  • 9. Which problems solves CDC • Late feedback from a changing API. • Producer design not fitting the expectation by consumers • Unclear expectation of the behavior of the API AgiliX @ TestCon Europe 2019
  • 10. Microservices Is there for microservices a different test strategy? AgiliX @ TestCon Europe 2019 e 2 e Integration Unit
  • 11. A) Statement 1: Discuss 2 minute with your neighbor B) Statement 1: Discuss 3 minute with a pair of neighbors C) Vote as a group Debrief &Take aways The plan for this “talk” AgiliX @ TestCon Europe 2019 The idea Repeat with statement 2 Repeat with statement 3 How did we get contract testing to work
  • 12. AgiliX @ TestCon Europe 2019
  • 13. CDC is only useful for testing the syntax max fieldlength, only nummeric, etc. AgiliX @ TestCon Europe 2019 Huh? / Really? / So?
  • 14. Relations between dependent fields should be tested! When Tax amount is specified, Tax % might be required AgiliX @ TestCon Europe 2019 Huh? / Really? / So?
  • 15. A CDC-test should always break when a contract is changed! AgiliX @ TestCon Europe 2019 Huh? / Really? / So?
  • 16. Debrief • Consumer Driven Contracts is a pattern that drives the development of the Producer from its Consumers point of view. • Force communication • Formal • Documentation • Fast feedback during development AgiliX @ TestCon Europe 2019
  • 17. How did we get it to work • No availability of the acceptance test environment (production like) anymore • A few determined enthusiastic developers • Setup pipelines / examples • Frequent Knowledge sessions • Mentoring others who where new. • Each teams monitor his own tests. • Review cross team AgiliX @ TestCon Europe 2019
  • 18. Take aways • Consumer Driven Contracts is a pattern that drives the development of the Producer from its Consumers point of view. • Force communication • Fast feedback to the developer. • Producer design seen as black box (design should be tested by producer it self) • Determined enthusiastic developers • Data format like an IBAN number should be tested. • Contract should be extendable (adding additional fields by the producer should be possible.) • Stubs needed for the contract are useful elsewhere • The principle of CDC can be used outside micro services. AgiliX @ TestCon Europe 2019
  • 19. Join Slido.com with #testcon2019 Thank you All slides can be download at http://Agilix.nl/ AgiliX @ TestCon Europe 2019
  • 20. Links • Martin Fowler Consumer-Driven Contracts: A Service Evolution Pattern • Marcin Grzejszczak consumer driven contract • Spotify: Testing of Microservices Special thanks to Cirilo wortel Daan Koolman AgiliX @ TestCon Europe 2019
  • 21. Pascal Dufour AgiliX @ TestCon Europe 2019 Getting a Grip on Exploratory Testing