Breaking Free from End-to-End Testing: Why Contract Testing is the Key to Microservices Success

 

Teams are increasingly moving towards microservices architecture, desiring short lead times with fast and independent deployments of their components. Still, they often struggle to see those desired benefits because they continue to rely too much on traditional end-to-end testing strategy. While end-to-end testing gives you maximum level of confidence, it can hamper your deployment frequency and lead time significantly, create coupling between teams, and make teams less autonomous. This is exactly the problem we went through at Discover Financial Services when we started modernizing our systems to microservices architecture. In this talk, I will share our experiences including the challenges we faced, our end-to-end testing obsession, how contract testing came to the rescue, various contract testing strategies and tools, the journey we went through in embracing contract testing, and how it helped remove bottlenecks in our CI/CD pipeline.


Speaker

Praveen Erode Mohanasundaram

Senior Principal Software Engineer @ Discover

Praveen Erode Mohanasundaram is hands-on engineering leader with almost two decades of experience in the financial services industry. He is a certified Kubernetes Application Developer and an AWS certified Solutions Architect. He currently builds new technology capabilities for Discover® and contributes to open source in his spare time. Praveen has a deep understanding of the Payments landscape and recently played a significant role in building, driving, and scaling contract testing practices at Discover. In his free time, Praveen enjoys playing tennis and cricket

Read more

Session Sponsored By

Discover Technology represents the people, processes, and technology behind the products that help our customers achieve a brighter financial future.  

Date

Monday Mar 27 / 11:50AM BST ( 50 minutes )

Location

Westminster (4th Fl.)

Share

From the same track

Session

Raising the Bar on Resilience: Designing Systems for Resilience at Scale Using Feature Flags

Monday Mar 27 / 10:35AM BST

Recent years have demonstrated that the scale required of our systems is anything but predictable. Moreover, when systems become overwhelmed they often fail spectacularly rather than discreetly.

Speaker image - Alex Hardman
Alex Hardman

Inventor, Technologist, and Engineer @LaunchDarkly

Session

Escape Queue Abyss With Durable Execution

Monday Mar 27 / 04:10PM BST

 

Speaker image - Maxim Fateev
Maxim Fateev

CEO & Cofounder @Temporal Technologies

Session

Building Better Software: Lessons from Construction

Monday Mar 27 / 02:55PM BST

Software development and construction may seem like completely different worlds, and yet we use similar terminology to describe concepts in both: infrastructure, architects, frameworks, scaffolding, foundations, builds, … Are these two processes really so similar?

Speaker image - Uroš Trebec
Uroš Trebec

Senior Software Engineer @Sleuth

Session

Debugging Cloud Applications: From Static to Dynamic

Monday Mar 27 / 05:25PM BST

As developers, we encounter various issues from the early stages of coding to the final production. Solving production issues can be challenging due to limited accessibility and tools. Therefore, it is crucial to detect and prevent production issues as early as possible.

Speaker image - Nathan Shain
Nathan Shain

Software Engineer @Rookout