“Easy Microservice Testing” – Specmatic featured on Continuous Delivery channel

Share this page

Why Contract Testing is important for microservices

Dave Farley is a respected author and widely recognised proponent of Continuous Delivery. In this video on his Continuous Delivery YouTube channel he discusses why Contract Testing is important for microservices.

Contract Tests are important because microservices architecture involves breaking down a system into independently deployable units of software developed by different teams. Each microservice has its own responsibilities and may communicate with other microservices to fulfill a larger system’s functionality.

In such a distributed system, it becomes crucial to ensure that the different microservices are compatible with each other and work together seamlessly. By using Contract Testing, teams can define and specify the contracts or interfaces between microservices. These contracts outline how the microservices should interact, including the data formats, communication protocols, and expected behaviors.

Contract Testing allows each microservice team to test their changes independently, based on the defined contracts, without the need for extensive integration testing involving all microservices. This decoupling of teams and testing efforts helps to speed up development and allows teams to work more independently.

Additionally, Contract Testing helps ensure backward compatibility when making changes to microservices. It allows teams to validate their changes against previous versions of the contracts to ensure that they are not breaking the contracts and causing compatibility issues with other microservices.

In summary, Contract Testing is important for microservices because it enables teams to independently test their changes, ensures compatibility between microservices, and helps maintain backward compatibility when making changes to the system.

Dave Farley identifies the following benefits of using Specmatic for Contract Testing:

  1. Contract Testing: Specmatic helps address the challenge of evaluating and ensuring the compatibility and correctness of independently deployable units of software (microservices) developed by different teams. It allows teams to determine the releasability of their changes independently without testing them with everyone else’s changes before release.
  2. Central Contract Repository: Specmatic enables the storage of contracts, which define the interactions between producers and consumers of services, in a central repository. This allows for easy comparison between different versions of contracts to determine their compatibility and prevent merging of broken or non-backwards compatible contracts.
  3. Zero-Code Approach: Specmatic offers a zero-code approach to contract testing for many use cases. By specifying contracts in a supported Interface Description Language (IDL) such as OpenAPI, Specmatic can automatically check compatibility, generate contract tests, and generate contract testing stubs that simulate an implementation of the contract for testing purposes.
  4. Decoupling of Teams: With Specmatic, teams can work independently and prioritize their work according to their own requirements. Each team can make progress without being tightly coupled to other teams, reducing dependencies and increasing the speed of development.
  5. Automation: Specmatic allows for automation of contract testing and adherence to contracts. Since contracts are clearly defined and specified in software, validating adherence to those contracts becomes a simpler task that can be automated, improving efficiency and reliability of the testing process.
  6. Potential for Further Development: Specmatic could potentially open the door for more support in facilitating coordination of work between teams without increasing coupling. For example, managing the parallel use of deprecated APIs could be a potential area of development.

Get started with Specmatic. Download it here.

Related Posts

Specmatic 2.0 is out! Now supports GraphQL and gRPC

We're thrilled to announce the release of Specmatic 2.0.x, a significant milestone release that is set to transform the way developers approach contract testing, intelligent
Read More

By Joel Rosario

TMForum ODA CTK API specification conformance testing with Specmatic

We recently discovered some major issues with the TMForum Conformance Test Kit (CTK) v5.0.0 and will demonstrate how using Specmatic can address these problems.
Read More

By Hari Krishnan

Specmatic Docker Image now available

Specmatic is now available as a Docker image! Turn your API specifications into executable contracts in seconds. Your favorite features such as contract tests, intelligent
Read More
Contract Testing with Specmatic - Markus Oberlehner

Stubbing an HTTP end-point with Specmatic

Markus Oberlehner gives a brief overview on the topic of Contract Testing with Specmatic and his experience using it for stubbing an HTTP end-point.
Read More

Contract vs. Approval Testing: Identifying Bugs in RESTfulBooker’s API with Specmatic and TextTest

Testing APIs: Specmatic vs TextTest Emily Bache wanted to compare TextTest with Specmatic and has published a video about her experience: The BEST way to
Read More

By Hari Krishnan

Types of Contracts Testing – Consumer Driven, Provider Driven and Contract Driven

The terms Contract Testing and "Consumer Driven Contract Testing" are often used interchangeably thereby making it seem like they are one and the same. However
Read More
api days revised 1920x1080

By John

New features and a BIG Announcement! Specmatic is bringing apidays to India!

In the past few months, we have launched a flurry of exciting features, presented at several global conferences and onboarded several new team members. We
Read More
specmatic challenge winners announced

By John

Specmatic Challenge – winners announced!

The Specmatic challenge is over and we are pleased to announce the winners! Congratulations to Mohd Zaid and Himanshu Singal for successfully completing the challenge
Read More

By Naresh Jain

Introduction to Contract Driven Development with Specmatic

Transcript Hi, welcome to this demo of contract-driven development where I'm going to use Specmatic, an open-source tool to turn your API specification into executable
Read More

By John

2023 year in review

The end of the year is nearly upon us and we have lots to celebrate! Specmatic just turned 4 and the release of version 1.0
Read More