test smart not hard - yow! conferences83 dius.tech/contrca4a pact.io @pact_up test smart not hard...
TRANSCRIPT
![Page 1: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/1.jpg)
1
Test SMART not HARDand deliver customer value fast
Beth Skurrie (DiUS)@bethesque
![Page 2: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/2.jpg)
Copyright © DiUS 2017
Soundify
soundify
![Page 3: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/3.jpg)
3Copyright © DiUS 2017
![Page 4: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/4.jpg)
4
● Experience and API ○ Short iterations
● Core○ Design○ Build○ Test○ Release
Process
Copyright © DiUS 2017
![Page 5: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/5.jpg)
5
Ideal customer value over time
Copyright © DiUS 2017
![Page 6: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/6.jpg)
6
Core platform customer value over time
Copyright © DiUS 2017
![Page 7: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/7.jpg)
7
Program customer value over time
Copyright © DiUS 2017
![Page 8: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/8.jpg)
8
● Customers
● Business owner
● Delivery manager
● Teams
Problems
Copyright © DiUS 2017
![Page 9: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/9.jpg)
9
Core platform team - iterate
Copyright © DiUS 2017
![Page 10: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/10.jpg)
10
Improved customer value over time!
Copyright © DiUS 2017
![Page 11: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/11.jpg)
Copyright © DiUS 2017
WHAT WE ARE KNOWN FOR
11
Core team iterations
Solved problems New problems
● Incremental customer value
● Reduced risk
● Overhead in releases● Need more testers● 4 week turnaround for
integration bugs
Copyright © DiUS 2017
![Page 12: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/12.jpg)
12
Automated releases
Copyright © DiUS 2017
![Page 13: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/13.jpg)
13
Automated e2e tests
Copyright © DiUS 2017
![Page 14: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/14.jpg)
14
Much smug! So dream!
Copyright © DiUS 2017
![Page 15: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/15.jpg)
Copyright © DiUS 2017
WHAT WE ARE KNOWN FOR
15
Automated e2e tests
Solved problems New problems
● Slow tests● Easy to break● Hard to fix● Scale badly● Lots of set up● Flakey tests ignored● Takes dev time away from
features
● Reduced risk
● Integration bug turnaround - days
● Confidence - when tests passed
Copyright © DiUS 2017
![Page 16: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/16.jpg)
16
Is this worth it?
Copyright © DiUS 2017
![Page 17: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/17.jpg)
17
Why do we do integration tests?
Copyright © DiUS 2017
![Page 18: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/18.jpg)
18
We want to find bugs before they get to production
Copyright © DiUS 2017
![Page 19: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/19.jpg)
19Copyright © DiUS 2017
![Page 20: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/20.jpg)
20
To integration test everything or not to integration test everything?
Copyright © DiUS 2017
![Page 21: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/21.jpg)
21
What if there was another way?
Copyright © DiUS 2017
![Page 22: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/22.jpg)
22
A B
mock
Copyright © DiUS 2017
![Page 23: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/23.jpg)
Copyright © DiUS 2017
WHAT WE ARE KNOWN FOR
23
Test symmetry
Solved problems New problems
● Hard to keep both sides in sync
● Fast feedback
● Few dependencies
● Reliable
● Easy to debug
● No extra infrastructure
Copyright © DiUS 2017
![Page 24: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/24.jpg)
24
A B
mock
Copyright © DiUS 2017
![Page 25: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/25.jpg)
25
A B
mock
Copyright © DiUS 2017
![Page 26: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/26.jpg)
A B
mock
C P
contract
Copyright © DiUS 2017
![Page 27: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/27.jpg)
Copyright © DiUS 2017
WHAT WE ARE KNOWN FOR
27
Contracts
Solved problems New problems
● ???● Keeping tests in sync
Copyright © DiUS 2017
![Page 28: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/28.jpg)
Bug turnaround - minutes
Contracts tests
Copyright © DiUS 2017
![Page 29: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/29.jpg)
Know before you commit
Contracts tests
Copyright © DiUS 2017
![Page 30: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/30.jpg)
Make changes with speed and confidence
Contracts tests
Copyright © DiUS 2017
![Page 31: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/31.jpg)
Deploy independently
Contracts tests
Copyright © DiUS 2017
![Page 32: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/32.jpg)
Better API design
(Consumer) Contracts tests
Copyright © DiUS 2017
![Page 33: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/33.jpg)
Are not functional tests
Contracts tests
Copyright © DiUS 2017
![Page 34: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/34.jpg)
Are not load performance tests SLAs
Contracts tests
Copyright © DiUS 2017
![Page 35: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/35.jpg)
Are not good for public APIs
(Consumer) Contracts tests
Copyright © DiUS 2017
![Page 36: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/36.jpg)
Are not a silver bullet!
Contracts tests
Copyright © DiUS 2017
![Page 37: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/37.jpg)
37Copyright © DiUS 2017
![Page 38: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/38.jpg)
38
Do I still need integration tests?
Copyright © DiUS 2017
![Page 39: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/39.jpg)
39
Integration test coverage
Consequences of bugx
Time to find bugx
Time to release fix
Copyright © DiUS 2017
![Page 40: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/40.jpg)
Copyright © DiUS 2017
WHAT WE ARE KNOWN FOR
40
Speed up your releases
Do less Do more
● Aggregated logging● Metrics● Semantic logging● Alerting
● Integration testing
Copyright © DiUS 2017
![Page 41: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/41.jpg)
Copyright © DiUS 2017
Another story This time a real one!
Copyright © DiUS 2017
![Page 42: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/42.jpg)
42
pact - noun
A formal agreement between individuals or parties. "the country negotiated a trade pact with the US"
synonyms: agreement, protocol, deal, contract
pact.io
Copyright © DiUS 2017
![Page 43: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/43.jpg)
43
● Open source● Multiple languages
○ JVM○ .NET○ Js○ Python○ + more
pact.io
● HTTP contracts● Message contracts
Copyright © DiUS 2017
![Page 44: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/44.jpg)
Copyright © DiUS 2017
Your contract testing story
Copyright © DiUS 2017
![Page 45: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/45.jpg)
45
A B
mock
C P
contract
Copyright © DiUS 2017
![Page 46: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/46.jpg)
46Copyright © DiUS 2017
![Page 47: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/47.jpg)
47
Pact Broker
Copyright © DiUS 2017
![Page 48: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/48.jpg)
48
Automate the contract exchange
Copyright © DiUS 2017
![Page 49: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/49.jpg)
49
WHEN the provider receives
<some request>THEN
it will return <some response>
Copyright © DiUS 2017
![Page 50: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/50.jpg)
50
WHEN the provider receives
a GET request for /alligators/MaryTHEN
it will return a 200 OK response
with a JSON body {“name”: “Mary”}
Copyright © DiUS 2017
![Page 51: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/51.jpg)
51
WHEN the provider receives
a GET request for /alligators/MaryTHEN
it will return
a 404 Not Foundresponse
a 200 OK response
Copyright © DiUS 2017
![Page 52: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/52.jpg)
52
WHEN the provider receives
a GET request for /alligators/MaryTHEN
it will return a 404 Not Found
![Page 53: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/53.jpg)
53
GIVEN<the provider is in a certain state>
WHEN the provider receives
<some request>THEN
it will return <some response>
Copyright © DiUS 2017
![Page 54: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/54.jpg)
54
You still need to think about test data
Copyright © DiUS 2017
![Page 55: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/55.jpg)
Your contract testing journey
● Automate the contract exchange
● You still need to think about test data
Copyright © DiUS 2017
![Page 56: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/56.jpg)
56
Contracts should focus on the messages, not the technology
Copyright © DiUS 2017
![Page 57: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/57.jpg)
Your contract testing journey
● Automate the contract exchange
● You still need to think about test data
● Contracts should focus on the messages, not the technology
Copyright © DiUS 2017
![Page 58: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/58.jpg)
58
Contracts should be as flexible as possible - but no more
Copyright © DiUS 2017
![Page 59: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/59.jpg)
Your contract testing journey
● Automate the contract exchange
● You still need to think about test data
● Contracts should focus on the messages, not the technology
● Contracts should be as flexible as possible - but no more
Copyright © DiUS 2017
![Page 60: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/60.jpg)
60
The other service needs to know when a contract has changed
You need a way to introduce changes without breaking everything
Contracts are not a substitute for good communication between teams
Copyright © DiUS 2017
![Page 61: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/61.jpg)
61
Pact Broker webhooks
Copyright © DiUS 2017
![Page 62: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/62.jpg)
62
Pact Broker tags
Copyright © DiUS 2017
![Page 63: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/63.jpg)
63
Contracts are STILL not a substitute for good communication between teams
Copyright © DiUS 2017
![Page 64: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/64.jpg)
● Automate the contract exchange
● You still need to think about test data
● Contracts should focus on the messages, not the technology
● Contracts should be as flexible as possible - but no more
● The provider needs to know when a contract has changed
● You need a way to introduce changes without breaking everything
● Remember: contracts are not a substitute for good communication between teams
Your contract testing journey
Copyright © DiUS 2017
![Page 65: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/65.jpg)
65Copyright © DiUS 2017
![Page 66: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/66.jpg)
66
You need to share the verification results as well as the contracts
Copyright © DiUS 2017
![Page 67: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/67.jpg)
67
Pact Broker verifications
Copyright © DiUS 2017
![Page 68: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/68.jpg)
68Copyright © DiUS 2017
![Page 69: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/69.jpg)
69
If you can’t deploy your services independently,
you don’t have microservices. You have a distributed monolith.
Copyright © DiUS 2017
![Page 70: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/70.jpg)
70
Consumer version
Provider version
Verification result
11 31 success
12 31 failure
12 32 success
13 32 success
“The Matrix”
Copyright © DiUS 2017
![Page 71: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/71.jpg)
71
Consumer version
Provider version
Verification result
11 31 success
12 31 failure
12 32 (prod) success
13 32 (prod) success
“The Matrix”
Copyright © DiUS 2017
![Page 72: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/72.jpg)
72Copyright © DiUS 2017
![Page 73: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/73.jpg)
73
Spring cloud contracts● Designed for JVM but also supports non-JVM
Copyright © DiUS 2017
![Page 74: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/74.jpg)
74
What about Swagger/Open API?
Copyright © DiUS 2017
![Page 75: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/75.jpg)
75
Provider contracts
Copyright © DiUS 2017
![Page 76: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/76.jpg)
76
Consumer contracts
Copyright © DiUS 2017
![Page 77: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/77.jpg)
77
A B
mock/write
C P
pact swagger
verify
verify
Pact+Swagger
Copyright © DiUS 2017
![Page 78: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/78.jpg)
78
MinimumViableContracts
● Consumer○ mock○ Serialize
● Provider○ replay○ check
Copyright © DiUS 2017
![Page 79: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/79.jpg)
79
● Fast, comprehensive contract tests
● Smoke tests● Semantic monitoring
in production● Alerts● Fast bug turnaround
Soundify
soundify
Copyright © DiUS 2017
![Page 80: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/80.jpg)
80
Actual customer value over time
Copyright © DiUS 2017
![Page 81: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/81.jpg)
81
�
��
�
Success
● Customers
● Business owner
● Delivery manager
● Teams
Copyright © DiUS 2017
![Page 82: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/82.jpg)
Copyright © DiUS 2017
WHAT WE ARE KNOWN FOR
82
Contracts
Solved problems New problems
● ???● Deliver customer value faster
Copyright © DiUS 2017
![Page 83: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/83.jpg)
83
dius.tech/contrca4apact.io
@pact_up
Test SMART not HARDand deliver customer value fast
Beth Skurrie (DiUS)@bethesque
![Page 84: Test SMART not HARD - YOW! Conferences83 dius.tech/contrca4a pact.io @pact_up Test SMART not HARD and deliver customer value fast Beth Skurrie (DiUS) @bethesque](https://reader033.vdocument.in/reader033/viewer/2022052020/6034c6c27a11ba29fe74b734/html5/thumbnails/84.jpg)
Copyright © DiUS 2017
Copyright
1. The copyright to all content in this presentation including graphics, images, layouts and text belongs to DiUS or we have a licence to use those materials.
2. All trademarks, brands and logos generally identified either with the symbols TM or ® which are used in this presentation are either owned by us or we have a licence to use them. Your access to this presentation does not license you to use those marks in any commercial way without our prior written permission.