"Contract testing is a methodology for ensuring that two separate systems (such as two microservices) are compatible with one other. It captures the interactions that are exchanged between each service, storing them in a contract, which can then be used to verify that both parties adhere to it."
The idea is that if you're making changes to the provider, it should pass all the contracts that are given by all the consumers
If you're making changes to the consumer and you're making tests that produce contracts, if those contracts are invalid with the provider, then you're notified
Contract Testing
Resources: