Join Lewis Prescott, coauthor of “Contract Testing in Action,” as he demystifies contract testing. Discover its role in software integration, differences between consumer-driven and provider-driven approaches, and practical implementation with tools like Pact. Learn about contract testing benefits, CI/CD integration, and getting team buy-in. Valuable insights for developers of all levels.
Read more
AI Summary
AI Chapters
Episode notes
auto_awesome
Podcast summary created with Snipd AI
Quick takeaways
Contract testing ensures shared expectations between systems, improving software reliability in complex architectures.
Consumer-driven contract testing tailors APIs for actual usage, focusing on user-centric API development.
Contract testing can be adapted for event-driven architectures, verifying message contracts for reliable communication.
Deep dives
Contract Testing Facilitates Communication and Debugging
Contract testing serves as a communication facilitator in software development, ensuring that changes and issues are captured early. It provides faster feedback by allowing control over code base and verifying contracts before they are even live. Contract testing helps in debugging issues and identifying breaking changes, supporting a more efficient software delivery lifecycle.
Consumer-Driven Approach in Contract Testing
In contract testing, consumers drive the creation of contracts, focusing on the needs of API consumers. Consumer-driven approach emphasizes aligning APIs based on consumer requirements, reducing unnecessary data points, and ensuring that APIs are tailored for actual usage. This approach shifts the focus to user-centric API development.
Support for Event-Driven Architectures
Contract testing can be applied in event-driven architectures, supporting message-driven communication systems. It enables verifying event message contracts, ensuring consistency and reliability in asynchronous communication. While terminology like producer and consumer may vary, the principles of contract testing can be adapted to event-driven environments.
Leadership Wisdom in Software Development
Key leadership wisdom for technical professionals includes prioritizing open communication channels, breaking down quality barriers between development and testing, and maintaining a holistic view of software development. Focusing on quality mindsets, removing silos, and fostering a comprehensive perspective are essential for effective leadership in software delivery.
Exploring Contract Testing and Author Information
Interested individuals can learn more about contract testing by checking out the book 'Contract Testing in Action' by searching on Manning's platform. Connect with author Lewis Prescott on LinkedIn or visit his website at patterman.co for more insights on contract testing. Additionally, co-author Marie Cruz is also available for discussions on LinkedIn, providing valuable resources and support for those interested in implementing contract testing.
“Contract testing is a form of testing where you are verifying two systems have the same shared understanding about the expectations."
Lewis Prescott is the coauthor of “Contract Testing in Action”. In this episode, join us to demystify contract testing and its critical role in modern software development. Discover how contract testing ensures reliable software integration, particularly in complex microservice architectures.
Lewis explains the core concepts, the difference between consumer-driven and provider-driven approaches, and how contract testing fits into your testing strategy and CI/CD pipeline. We also touch on the practicalities of implementing contract testing, including tool options like Pact, and how it can also be applied in event-driven architectures.
Whether you’re a seasoned developer or just starting, this episode offers valuable insights to help you level up your software development approach.
Listen out for:
Career Journey - [00:01:56]
Problems Contract Testing is Solving - [00:04:57]
Contract Testing Use Cases - [00:07:20]
Contract Testing Components - [00:09:52]
Shared Understanding of the Expectations - [00:11:42]
Benefits of Contract Testing - [00:15:02]
Contract Testing in Testing Pyramid - [00:18:29]
Contract vs Unit vs Integration Tests - [00:19:37]
Contract Testing for Public APIs - [00:21:28]
Types of Contract Testing - [00:22:46]
CI/CD Workflow with Contract Testing - [00:25:33]
Provider Workflow - [00:31:55]
Getting the Buy-In - [00:33:31]
Owning the Broker - [00:36:00]
Pact & Other Tooling - [00:37:19]
Versioning Contracts - [00:39:34]
Consumer-Driven Contract Testing - [00:42:15]
Contract Testing for Event-Driven Architecture - [00:46:53]
3 Tech Lead Wisdom - [00:49:40]
_____
Lewis Prescott’s Bio Lewis Prescott is a Test Specialist at IBM. He has 9 years experience in software testing, is a recognized champion of Contract Testing and course author at Test Automation University, as well as an active mentor in the testing community.
Enjoy an exceptional developer experience with JetBrains. Whatever programming language and technology you use, JetBrains IDEs provide the tools you need to go beyond simple code editing and excel as a developer. Check out FREE coding software options and special offers on jetbrains.com/store/#discounts. Make it happen. With code.
Manning Publications is a premier publisher of technical books on computer and software development topics for both experienced developers and new learners alike. Manning prides itself on being independently owned and operated, and for paving the way for innovative initiatives, such as early access book content and protection-free PDF formats that are now industry standard. Get a 40% discount for Tech Lead Journal listeners by using the code techlead24 for all products in all formats.
Like this episode? Show notes & transcript: techleadjournal.dev/episodes/184. Follow @techleadjournal on LinkedIn, Twitter, and Instagram. Buy me a coffee or become a patron.
Get the Snipd podcast app
Unlock the knowledge in podcasts with the podcast player of the future.
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode
Save any moment
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Share & Export
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode