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

Share this page
The BEST way to find BUGS in an API | Contract vs Approval Testing – Emily Bache

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 find BUGS in an API | Contract vs Approval Testing

She observes, “Specmatic works best when the spec is defined independently in an ongoing discussion about expectations between the service developers and the service consumers. Specmatic is not so much about finding bugs as agreeing expectations about an API.”

  • Emily looks into the best ways to find bugs in an API by exploring the use of Contract vs Approval Testing.
  • She takes us through an in-depth comparison of using TextTest and Specmatic to test and expose bugs in the RESTfulBooker API.
  • She explores the concept of contract testing as a means to ensure seamless communication between different teams working on services that communicate via APIs.
  • Observe the power of leveraging API specifications as executable contracts and maintaining them in a central Git repository to ensure that both providers and consumers are working with the correct version of the specification.
  • Check out her video to get a detailed breakdown of the benefits and functionalities of both TextTest and Specmatic in identifying, documenting, and preventing bugs in API development.

Key Takeaways from the video

1. Exploring API Bugs: Emily demonstrates how RESTfulBooker, intentionally filled with bugs, provides a playground for discovering issues through manual testing and automated tools like Specmatic and Text Test.

2. Contract Testing with Specmatic: Emily reveals how Specmatic facilitates contract testing by creating and running tests based on API specifications, ensuring alignment with the expected behaviors. She goes on to explain how this enables teams working on different services to independently verify if their respective services / components comply with the agreed API contract. Emily also discusses how Specmatic is able to use the examples in the OpenAPI specification for generating tests.

3. Approval Testing with Text Test: Emily discusses the features and benefits of Text Test, emphasizing its capacity for approval testing by comparing the actual API responses with previously approved outputs. This tool aids in exposing bugs and ensuring proper functionality through meticulous testing and validation.

4. Effective Bug Identification: The video sheds light on the significance of thorough bug identification through a combination of manual exploratory testing and automated testing tools, showcasing how both approaches contribute to comprehensive bug detection.

Elevating API Testing with Contract Driven Development

In the evolving landscape of microservices and API-driven architectures, Contract Driven Development (CDD) emerges as a game-changer. By leveraging API specifications as executable contracts, CDD enables seamless collaboration between service providers and consumers, fostering a robust and reliable API ecosystem.

Explore the power of Contract Driven Development in API testing by embracing Specmatic and TextTest. These tools provide indispensable support for developers and testers, ensuring the robustness and reliability of your API infrastructure.

Related Posts

arazzo openapi asyncapi demo with specmatic

By Hari Krishnan

Authoring & Leveraging Arazzo Spec for OpenAPI & AsyncAPI Workflow Testing

Seamlessly test both synchronous and asynchronous APIs in realistic workflows before they ever hit production! Discover how combining OpenAPI and AsyncAPI specs can simplify complex
Read More
api resiliency testing

By Naresh Jain

Why APIs Fail and How No-Code, Intelligent API Resiliency Testing Can Prevent the Next Outage

Ensuring Reliability in an API-Driven World APIs have become the backbone of today’s digital landscape, connecting applications, services, and countless user experiences. With microservices architectures
Read More

OpenAPI Examples Simplified: Visualize and Generate Domain-Specific Test Data​

Streamlining API Development: An Interactive Guide to Example Generation and Validation using Specmatic  A robust, streamlined approach to API development is crucial for maintaining efficiency,
Read More

By Naresh Jain

OpenAPI’s Broken Tooling: Roundtrip Fidelity Failure with CodeGen and DocGen​

Exploring the Strengths and Weaknesses of Automated API Development  Maintaining well-documented and reliable APIs is essential for any microservices development pipelines. At the heart of
Read More

By Jaydeep Kulkarni

JMS Mocking with AsyncAPI using Specmatic

The JMS mock is wire compatible and can be controlled entirely from within the test. This means you can run the test locally or also
Read More

By Hari Krishnan

Pact’s Dependency Drag​: Why Consumer-Driven Contracts Don’t Support Parallel Development

Exploring the challenges and limitations of using Pact for contract testing in a microservices environment.  In the domain of microservices, ensuring seamless communication between different
Read More

By Naresh Jain

Contract Testing using OpenAPI Specs as Executable Contracts

Demonstration video showing OpenAPI specifications being leveraged as executable contracts with Specmatic
Read More
Specmatic vs WireMock

By Hari Krishnan

Comparison: Specmatic vs WireMock

API mocking is only effective if the mocks are truly representative of the provider / services they are emulating. Deviations between mocks and providers can
Read More

By Naresh Jain

gRPC Flaws​ – The Illusion of Safety & Frustrating DevEx in Proto3’s Type-Safe Contracts​

Understanding the Shortcomings of gRPC and How Contract Testing Can Bridge the Gap  In the ever-evolving world of API design, development, and testing, the pursuit
Read More

By Yogesh Nikam

Contract Testing using gRPC Specs as Executable Contracts

Transform your gRPC API specs into executable contracts in seconds Now you can easily leverage your gRPC APIs for contract testing, intelligent service virtualisation and
Read More