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

redis stubbing updated 1080p

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
Wiremock dirty little secrets

By Hari Krishnan

WireMock’s Dirty Secret: Ignoring API Specs & Letting Invalid Examples Slip Through 

Overcoming the Challenges of Hand-Rolled Mocks with Contract-Driven Development  APIs and microservices have transformed the way software systems are built and maintained. However, developing a
Read More
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
GraphQL API resiliency testing

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
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
testing 429 responses thumbnail

By Naresh Jain

When Dependencies Timeout, Does Your API Shed Load with 429 Responses?

When Dependencies Timeout: Engineering Tests that Produce a 429 response Simulating backend slowdowns and verifying that your API returns a proper 429 response is a
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
JDBC stubbing with Redis and Specmatic contract testing.

Break the Chains of Database Dependencies: Leveraging Specmatic for JDBC Stubbing

With Specmatic JDBC stub, you can easily test APIs without the need for a complex database setup. By switching out the real database with a
Read More

By Joel Rosario

Build Apps from API specs using AI: Self-Correcting Contract-Driven Agentic Workflows with Specmatic

Harnessing the Power of API Specifications for Robust Microservices  Modern microservice architecture hinges on precise and dependable communication between services. This is where API specifications
Read More
Google PubSub contract tests

Contract Testing Google Pub/Sub: Using AsyncAPI specs as Executable Contracts

Shift-Left the identification of integration issues in applications built with Event Driven Architecture (EDA) by leveraging AsyncAPI specs as Executable Contracts Introduction The surge in
Read More