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

kafka+jms

By Hari Krishnan

Contract Testing using AsyncAPI Specs as Executable Contracts

Sample projects with AsyncAPI Sample project with Kafka & AsyncAPI: https://github.com/znsio/specmatic-order-bff-nodejs Sample project with JMS and AsyncAPI: https://github.com/znsio/specmatic-order-bff-jms Sample project with Google Pub/Sub and AsyncAPI: https://github.com/znsio/specmatic-google-pubsub-sample Available in Pro
Read More

Redis Stubbing with Specmatic Contract Testing

Instead of using an actual instance of Redis, we'll stub it out and have the contract test set expectations so that the Redis stub knows
Read More
api genie thumb

By Naresh Jain

Achieving Seamless DevEx: API Specification and Code Generation with API Genie

Imagine turning a plain-English business requirement into a working API without writing a single line of code. That is the promise of modern natural-language driven
Read More

API Resiliency and Contract Testing for GraphQL

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

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
Specmatic vs Microcks comparison

By Hari Krishnan

Specmatic vs Microcks

When evaluating tools for API testing and mocking, the choice often comes down to understanding not just what each tool can do, but how their
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
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
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
jaydeep aws lambda

By Jaydeep Kulkarni

AWS Lambda Data Pipeline Testing using LocalStack with Specmatic

Table of Contents Mastering Testing AWS Lambda Functions with LocalStack and Specmatic With fast-evolving data ecosystems, building reliable and scalable data products is essential. One
Read More