SlideShare a Scribd company logo
1 of 62
Download to read offline
INTEGRATIONINTEGRATION
CONTRACT TESTINGCONTRACT TESTING
ABOUT MEABOUT ME
DANIELE D'ANGELIDANIELE D'ANGELI
@DANGELIDANIELE@DANGELIDANIELE
HTTP://DANIELEDANGELI.COMHTTP://DANIELEDANGELI.COM
BORN AND RAISED IN ROMEBORN AND RAISED IN ROME
2 YEARS IN LONDON2 YEARS IN LONDON
ACTUALLY I'M WORKING WITHACTUALLY I'M WORKING WITH
@ADESPRESSO, IN ROME WITH@ADESPRESSO, IN ROME WITH
... FROM A PREVIOUS... FROM A PREVIOUS
PRESENTATION OFPRESENTATION OF
MINEMINE
WHAT WE'RE TALKINGWHAT WE'RE TALKING
ABOUTABOUT
..WHATWHAT
.HOW.HOW
.HOW ABOUT NEXT.HOW ABOUT NEXT
CONSUMER DRIVENCONSUMER DRIVEN
CONTRACT TESTINGCONTRACT TESTING
...WEB APPLICATION...WEB APPLICATION
...WEB APPLICATION TODAY...WEB APPLICATION TODAY
HTTP APIHTTP API
HOW OUR SYSTEMS LOOKSHOW OUR SYSTEMS LOOKS
LIKE?LIKE?
... AT VERY LEAST... AT VERY LEAST
... A STEP FORWARD... A STEP FORWARD
TESTING STRATEGIESTESTING STRATEGIES
CONFIDENCECONFIDENCE
FASTER&EASYFASTER&EASY
ISOLATIONISOLATION
INDEPENDENTINDEPENDENT
UNIT TESTUNIT TEST
TRIVIALTRIVIAL
FUNCTIONAL TESTFUNCTIONAL TEST
ISOLATED FROMISOLATED FROM
EXTERNALEXTERNAL
DEPENDENCIESDEPENDENCIES
STUBBING EXTERNALSTUBBING EXTERNAL
RESPONSES!RESPONSES!
CONSUMERCONSUMER PROVIDERPROVIDER
REMOTE BOUNDARYREMOTE BOUNDARY
STUBSSTUBS
Remember!
HTTP IS AHTTP IS A
PROTOCOLPROTOCOL
Remember!
A NETWORK PROTOCOL
DEFINES RULES TO
ALLOWING
INTERACTIONS
BETWEEN TWO PARTS
IT'S A GOOD STUBBING?IT'S A GOOD STUBBING?
WHO ENSURE?WHO ENSURE?
IT'S A GOOD INTERACTION?IT'S A GOOD INTERACTION?
WHO ENSURE?WHO ENSURE?
NO ONENO ONE
TOO OFTEN THISTOO OFTEN THIS
PROCESS IS DRIVENPROCESS IS DRIVEN
BYBY HUMANSHUMANS
INTEGRATION TESTINGINTEGRATION TESTING
CONSUMERCONSUMER
END 2 END TESTINGEND 2 END TESTING
PROVIDERPROVIDER
...WEB APPLICATION TODAY...WEB APPLICATION TODAY
CONSUMERCONSUMER
END 2 END TESTING (...TODAY)END 2 END TESTING (...TODAY)
PROVIDERPROVIDER
&
CONSUMERCONSUMER
PROVIDERPROVIDER
&
CONSUMERCONSUMER
PROVIDERPROVIDER
&
CONSUMERCONSUMER
STRENGHTSSTRENGHTS
WEAKNESSWEAKNESS
HARD TO TEST IN DEV ENVHARD TO TEST IN DEV ENV
SLOWSLOW
HARD TO WRITEHARD TO WRITE
HARD TO SETUPHARD TO SETUP
INTEGRATIONINTEGRATION
CONTRACT TESTINGCONTRACT TESTING
(CONSUMER DRIVEN)(CONSUMER DRIVEN)
... FROM MARTIN FOWLER... FROM MARTIN FOWLER
HTTP://MARTINFOWLER.COM/BLIKI/INTEGRATIOHTTP://MARTINFOWLER.COM/BLIKI/INTEGRATIO
NCONTRACTTEST.HTMLNCONTRACTTEST.HTML
Remember!
TESTTEST DOUBLEDOUBLE IS A GENERIC TERM FORIS A GENERIC TERM FOR
ANY CASE WHERE YOU REPLACE AANY CASE WHERE YOU REPLACE A
PRODUCTION OBJECT FOR TESTINGPRODUCTION OBJECT FOR TESTING
PURPOSES.PURPOSES.
... FROM MARTIN FOWLER... FROM MARTIN FOWLER
... FROM MARTIN FOWLER... FROM MARTIN FOWLER
RUN YOUR CONSUMER TESTS AGAINSTRUN YOUR CONSUMER TESTS AGAINST
A TESTA TEST DOUBLEDOUBLE
RECORD CONSUMERRECORD CONSUMER
EXPECTATIONSEXPECTATIONS
VERIFYVERIFY
EXPECTATIONS ONEXPECTATIONS ON
PROVIDERPROVIDER
HTTPS://GITHUB.COM/REALESTATE-COM-AU/PACTHTTPS://GITHUB.COM/REALESTATE-COM-AU/PACT
PACTPACT
RUBY IMPLEMENTATIONRUBY IMPLEMENTATION​​
STUBBING AND VERIFYSTUBBING AND VERIFY
CONSUMER CONTRACTSCONSUMER CONTRACTS
PACTPACT
WORKING WELLWORKING WELL
SPECIALLY FOR RUBYSPECIALLY FOR RUBY
PROJECTSPROJECTS
HTTPS://GITHUB.COM/REALESTATE-COM-AU/PACTHTTPS://GITHUB.COM/REALESTATE-COM-AU/PACT
PACTPACT
HTTPS://GITHUB.COM/SEEK-JOBS/PACT-GOHTTPS://GITHUB.COM/SEEK-JOBS/PACT-GO
HTTPS://GITHUB.COM/SEEK-JOBS/PACT-NETHTTPS://GITHUB.COM/SEEK-JOBS/PACT-NET​​
HTTPS://GITHUB.COM/DIUS/PACT-JVMHTTPS://GITHUB.COM/DIUS/PACT-JVM
HTTPS://GITHUB.COM/REALESTATE-COM-AU/PACTHTTPS://GITHUB.COM/REALESTATE-COM-AU/PACT
Consumer
ProvidersCONSUMERCONSUMER
RUNS TEST LOCALLYRUNS TEST LOCALLY
RUNS TEST LOCALLYRUNS TEST LOCALLY
Providers
STUB, CREATE ANDSTUB, CREATE AND
GENERATEGENERATE CONTRACTSCONTRACTS
CONSUMERCONSUMER PROVIDERPROVIDER
CONSUMERCONSUMER
RUNS TEST LOCALLYRUNS TEST LOCALLY
Providers PROVIDERPROVIDER
STUBBING, CREATE ANDSTUBBING, CREATE AND
GENERATEGENERATE CONTRACTSCONTRACTS
SAVESAVE CONTRACTSCONTRACTS
SOMEWHERESOMEWHERE
ARTIFACTSARTIFACTS
{
"consumer": {
"name": "collaborator client"
},
"provider": {
"name": "collaborator api"
},
"interactions": [
{
"provider_state": "there is a collaborator with id 23",
"description": "get collaborator",
"request": {
"headers": {
"Accept": "application/json"
},
"method": "GET",
"path": "/collaborators/23"
},
"response": {
"body": {
"name": "John",
"role": "Client Relantionship"
},
"headers": {
"Content-Type": "application/json"
},
"status": 200
}
},
...
}
LOAD CONTRACTSLOAD CONTRACTS
PROVIDERPROVIDER
FOREACH CONTRACTFOREACH CONTRACT
1. SET UP WORKING STATESET UP WORKING STATE
(DATABASE AND EXTERNAL(DATABASE AND EXTERNAL
DEPENDENCIES)DEPENDENCIES)
PROVIDERPROVIDER
LOAD CONTRACTSLOAD CONTRACTS
1. SET UP WORKING STATESET UP WORKING STATE
(DATABASE AND EXTERNAL(DATABASE AND EXTERNAL
DEPENDENCIES)DEPENDENCIES)
2. MAKE INTERNAL HTTP CALLMAKE INTERNAL HTTP CALL
(BASED ON CONTRACT)(BASED ON CONTRACT)
LOAD CONTRACTSLOAD CONTRACTS
FOREACH CONTRACTFOREACH CONTRACT
PROVIDERPROVIDER
1. SET UP WORKING STATESET UP WORKING STATE
(DATABASE AND EXTERNAL(DATABASE AND EXTERNAL
DEPENDENCIES)DEPENDENCIES)
2. MAKE INTERNAL HTTP CALLMAKE INTERNAL HTTP CALL
(BASED ON CONTRACT)(BASED ON CONTRACT)
3. VERIFY RESPONSEVERIFY RESPONSE
FOREACH CONTRACTFOREACH CONTRACT
LOAD CONTRACTSLOAD CONTRACTS
PROVIDERPROVIDER
PACTPACT
INTEROPERABILITYINTEROPERABILITY
HOW ABOUT PHP?HOW ABOUT PHP?
OOPS! SOME ERRORS COULDOOPS! SOME ERRORS COULD
OCCURS...OCCURS...
LET ME TRY LIVELET ME TRY LIVE
CODING...CODING...
PACT-PHP [PROVIDER]PACT-PHP [PROVIDER]
PARSE CONTRACTSPARSE CONTRACTS
LOAD STATELOAD STATE
PARSE AND CREATEPARSE AND CREATE
PSR7PSR7 REQUESTREQUEST
PROVIDER APIPROVIDER API
CREATECREATE
PSR7PSR7 RESPONSERESPONSE
VERIFY EXPECTEDVERIFY EXPECTED
PSR7PSR7 RESPONSERESPONSE
PACT-PHP [PROVIDER]PACT-PHP [PROVIDER]
/**
* @param Closure $makeRequest How make a ps7Request
* @param Closure $setUp Setup the test state
* @param Closure $tearDown Setup up back the state
*/
public function honorContracts(
Closure $makeRequest,
Closure $setUp,
Closure $tearDown
)
FRAMEWORK INDEPENDENTFRAMEWORK INDEPENDENT
RECAPRECAP
CONSUMER DRIVENCONSUMER DRIVEN
CONTRACT TEST IS ANCONTRACT TEST IS AN
ALTERNATIVE TO END TOALTERNATIVE TO END TO
END TESTEND TEST
WHENWHEN
SOA/MICROSERVICESSOA/MICROSERVICES
ARCHITECTUREARCHITECTURE
ONLY WHEN YOU REALLYONLY WHEN YOU REALLY
NEED ITNEED IT
PACTO-PHPPACTO-PHP
IMPROVE SERVICEIMPROVE SERVICE
PROVIDERPROVIDER
PACTO-PHPPACTO-PHP
IMPLEMENT CONSUMERIMPLEMENT CONSUMER
SIDESIDE
Integration with Guzzle?
THANKSTHANKS

More Related Content

Similar to Consumer Driven Contract Testing with Pact

FinDev as a business advantage in the post covid19 economy
FinDev as a business advantage in the post covid19 economyFinDev as a business advantage in the post covid19 economy
FinDev as a business advantage in the post covid19 economyYan Cui
 
Christoph C. Cemper: Improve your rankings with internal link building and no...
Christoph C. Cemper: Improve your rankings with internal link building and no...Christoph C. Cemper: Improve your rankings with internal link building and no...
Christoph C. Cemper: Improve your rankings with internal link building and no...Authoritas
 
Discussion starter at Future of Privacy Forum in Washington, DC.
Discussion starter at Future of Privacy Forum in Washington, DC. Discussion starter at Future of Privacy Forum in Washington, DC.
Discussion starter at Future of Privacy Forum in Washington, DC. Johnny Ryan
 
Contract testing and Pact
Contract testing and PactContract testing and Pact
Contract testing and PactSeb Rose
 
Why I've to waste my time on cryptography? - Andrea Pompili - Codemotion Rome...
Why I've to waste my time on cryptography? - Andrea Pompili - Codemotion Rome...Why I've to waste my time on cryptography? - Andrea Pompili - Codemotion Rome...
Why I've to waste my time on cryptography? - Andrea Pompili - Codemotion Rome...Codemotion
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBrad Frost
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyMojo Lingo
 
Connecting Physical Devices to the Web - Event Driven Architecture using WebS...
Connecting Physical Devices to the Web - Event Driven Architecture using WebS...Connecting Physical Devices to the Web - Event Driven Architecture using WebS...
Connecting Physical Devices to the Web - Event Driven Architecture using WebS...Peter Moskovits
 
Tech Webinar: Power up your mobile & Web App con WebRTC
Tech Webinar: Power up your mobile & Web App con WebRTCTech Webinar: Power up your mobile & Web App con WebRTC
Tech Webinar: Power up your mobile & Web App con WebRTCCodemotion
 
Power-up your mobile & web App with WebRTC
Power-up your mobile & web App with WebRTCPower-up your mobile & web App with WebRTC
Power-up your mobile & web App with WebRTCJooinK
 
Device to datacentre draft 5 jon
Device to datacentre draft 5 jonDevice to datacentre draft 5 jon
Device to datacentre draft 5 jonColin Shanahan
 
NYC Identity Summit Tech Day: Authorization for the Modern World
NYC Identity Summit Tech Day: Authorization for the Modern WorldNYC Identity Summit Tech Day: Authorization for the Modern World
NYC Identity Summit Tech Day: Authorization for the Modern WorldForgeRock
 
Attacchi, bugie e underground digitale by Andrea Pompili
Attacchi, bugie e underground digitale by Andrea PompiliAttacchi, bugie e underground digitale by Andrea Pompili
Attacchi, bugie e underground digitale by Andrea PompiliCodemotion
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...javier ramirez
 
The Open, Social Web (N2Y4)
The Open, Social Web (N2Y4)The Open, Social Web (N2Y4)
The Open, Social Web (N2Y4)Chris Messina
 
Modern Application Delivery on AWS: the Red Hat Way
Modern Application Delivery on AWS: the Red Hat WayModern Application Delivery on AWS: the Red Hat Way
Modern Application Delivery on AWS: the Red Hat WayAmazon Web Services
 

Similar to Consumer Driven Contract Testing with Pact (20)

FinDev as a business advantage in the post covid19 economy
FinDev as a business advantage in the post covid19 economyFinDev as a business advantage in the post covid19 economy
FinDev as a business advantage in the post covid19 economy
 
Christoph C. Cemper: Improve your rankings with internal link building and no...
Christoph C. Cemper: Improve your rankings with internal link building and no...Christoph C. Cemper: Improve your rankings with internal link building and no...
Christoph C. Cemper: Improve your rankings with internal link building and no...
 
Rotterdam World ICT
Rotterdam World ICTRotterdam World ICT
Rotterdam World ICT
 
Discussion starter at Future of Privacy Forum in Washington, DC.
Discussion starter at Future of Privacy Forum in Washington, DC. Discussion starter at Future of Privacy Forum in Washington, DC.
Discussion starter at Future of Privacy Forum in Washington, DC.
 
Contract testing and Pact
Contract testing and PactContract testing and Pact
Contract testing and Pact
 
Why I've to waste my time on cryptography? - Andrea Pompili - Codemotion Rome...
Why I've to waste my time on cryptography? - Andrea Pompili - Codemotion Rome...Why I've to waste my time on cryptography? - Andrea Pompili - Codemotion Rome...
Why I've to waste my time on cryptography? - Andrea Pompili - Codemotion Rome...
 
Beyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive DesignBeyond Squishy: The Principles of Adaptive Design
Beyond Squishy: The Principles of Adaptive Design
 
Pr 2 presentation
Pr 2 presentationPr 2 presentation
Pr 2 presentation
 
Infiltrating Telecoms Using Ruby
Infiltrating Telecoms Using RubyInfiltrating Telecoms Using Ruby
Infiltrating Telecoms Using Ruby
 
Connecting Physical Devices to the Web - Event Driven Architecture using WebS...
Connecting Physical Devices to the Web - Event Driven Architecture using WebS...Connecting Physical Devices to the Web - Event Driven Architecture using WebS...
Connecting Physical Devices to the Web - Event Driven Architecture using WebS...
 
Tech Webinar: Power up your mobile & Web App con WebRTC
Tech Webinar: Power up your mobile & Web App con WebRTCTech Webinar: Power up your mobile & Web App con WebRTC
Tech Webinar: Power up your mobile & Web App con WebRTC
 
Power-up your mobile & web App with WebRTC
Power-up your mobile & web App with WebRTCPower-up your mobile & web App with WebRTC
Power-up your mobile & web App with WebRTC
 
Device to datacentre draft 5 jon
Device to datacentre draft 5 jonDevice to datacentre draft 5 jon
Device to datacentre draft 5 jon
 
NYC Identity Summit Tech Day: Authorization for the Modern World
NYC Identity Summit Tech Day: Authorization for the Modern WorldNYC Identity Summit Tech Day: Authorization for the Modern World
NYC Identity Summit Tech Day: Authorization for the Modern World
 
Attacchi, bugie e underground digitale by Andrea Pompili
Attacchi, bugie e underground digitale by Andrea PompiliAttacchi, bugie e underground digitale by Andrea Pompili
Attacchi, bugie e underground digitale by Andrea Pompili
 
Designing for tomorrows needs
Designing for tomorrows needsDesigning for tomorrows needs
Designing for tomorrows needs
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
 
The Open, Social Web (N2Y4)
The Open, Social Web (N2Y4)The Open, Social Web (N2Y4)
The Open, Social Web (N2Y4)
 
Modern Application Delivery on AWS: the Red Hat Way
Modern Application Delivery on AWS: the Red Hat WayModern Application Delivery on AWS: the Red Hat Way
Modern Application Delivery on AWS: the Red Hat Way
 
Continuous deployment 2.0
Continuous deployment 2.0Continuous deployment 2.0
Continuous deployment 2.0
 

Recently uploaded

Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书rnrncn29
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsapna80328
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfNainaShrivastava14
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSneha Padhiar
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming languageSmritiSharma901052
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 

Recently uploaded (20)

Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveying
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
 
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATIONSOFTWARE ESTIMATION COCOMO AND FP CALCULATION
SOFTWARE ESTIMATION COCOMO AND FP CALCULATION
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming language
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 

Consumer Driven Contract Testing with Pact