Test First website screenshot

Test First

A software development approach where tests are written before the implementation code, ensuring code quality and driving design decisions through test requirements. Test-first development is the foundational principle behind test-driven development (TDD) and behavior-driven development (BDD), where the specification of expected behavior is captured in executable tests before any production code is written.

Test First publishes 1 API on the APIs.io network: Pact Broker API. Tagged areas include Behavior-Driven Development, Best Practices, Methodology, Software Design, and Software Development.

The Test First catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.

Test First’s developer surface includes documentation and 7 more developer resources.

41.5/100 thin ▬ flat Agent 19/100 agent aware Full breakdown ↓
scored 2026-08-05 · rubric v0.9.1
AccessFreemium
5 APIs 6 Features 5 Use Cases
Behavior-Driven DevelopmentBest PracticesMethodologySoftware DesignSoftware DevelopmentTesting

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-05 · rubric v0.9.1
Composite quality — 41.5/100 · thin
Contract Quality 11.3 / 25
Developer Ergonomics 1.7 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 4.1 / 13
Governance 8.3 / 12
Discoverability 8.2 / 10
Agent readiness — 19/100 · agent aware
Machine-Readable Contract 18 / 18
Agentic Access Contract 0 / 10
MCP Server 0 / 12
Machine-Readable Auth 0 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/test-first: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

Cucumber API

REST API and tooling for Cucumber BDD framework supporting test-first development with Gherkin feature files, scenario definitions, and step implementations.

Pact Broker API

REST API for Pact Broker contract testing service, enabling consumer-driven contract testing where consumer tests define the API contract before providers implement it.

Stoplight API

API design-first platform enabling teams to write API specifications before implementation, supporting test-first development with mock servers, contract testing, and API style ...

Microcks API

Open-source cloud-native tool for API mocking and contract testing, supporting test-first development by generating mocks from OpenAPI, Postman, and gRPC specifications.

Dredd API

Command-line HTTP API testing framework that validates API implementations against API Blueprint or OpenAPI descriptions, enabling test-first API development.

Pricing Plans 1

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Test First Rate Limits

5 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Features 6

Notable capabilities this provider offers.

Specification Before Implementation

Write executable test specifications that define expected behavior before writing any production code.

API Contract Definition

Define the API contract through tests before the implementation exists, ensuring design clarity.

Mock-First Development

Use mock servers generated from specifications to enable parallel frontend and backend development.

Living Documentation

Tests serve as up-to-date documentation of how the system is expected to behave.

Fail Fast Feedback

Discover design issues early by specifying tests before implementation reveals constraints.

Consumer-Driven Contracts

Let API consumers define their expectations as tests that the API provider must satisfy.

Semantic Vocabularies 1

JSON-LD contexts and semantic vocabularies used across these APIs.

Test First Context

3 classes · 37 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

Test First API Rules

6 rules · 5 warnings 1 info

SPECTRAL

JSON Schema 3

Standalone JSON Schema definitions for this provider's data models.

TestFirstContract

6 properties

JSON SCHEMA

MockServer

9 properties

JSON SCHEMA

TestFirstSpecification

11 properties

JSON SCHEMA

JSON Structure 3

JSON Structure definitions describing this provider's data shapes.

Test First Contract Structure

6 properties

JSON STRUCTURE

Test First Mock Structure

9 properties

JSON STRUCTURE

Test First Specification Structure

11 properties

JSON STRUCTURE

Examples 3

Example request and response payloads for these APIs.

Test First Mock Example

9 fields

EXAMPLE

Security Posture 1

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Test First Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Use Cases 5

What developers build with this provider.

API-First Design

Write OpenAPI specifications and generate tests from them before building the implementation.

Consumer-Driven Contract Testing

API consumers publish test expectations that API providers must verify in their CI pipelines.

Behavior-Driven Development

Use Gherkin feature files to define expected system behavior before writing implementation.

Parallel Development

Enable frontend and backend teams to develop in parallel using mock servers from specifications.

Specification Compliance

Validate that API implementations comply with their published specifications using test-first assertions.

Integrations 4

Pre-built integrations with other platforms and tools.

OpenAPI

Generate test-first stubs and mocks directly from OpenAPI specifications.

Cucumber

Use Gherkin scenarios as the test-first specification for behavior-driven development.

Pact

Apply consumer-driven contract testing where consumer tests define provider expectations.

Prism

Use Stoplight Prism to mock APIs from OpenAPI specs enabling test-first development.

Resources

Documentation 5

Reference material describing how the API behaves

Design & Contract 2

Pagination, idempotency, versioning, errors, and events

Access & Security 1

Authentication, authorization, and security posture

Source (apis.yml)

apis.yml Raw ↑
accessModel:
  pricing: freemium
  onboarding: unknown
  trial: false
  try_now: false
  public: false
  label: Freemium
  confidence: medium
  source:
  - plans
  generated: '2026-07-22'
  method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/test-first.png
name: Test First
description: A software development approach where tests are written before the implementation code, ensuring code quality
  and driving design decisions through test requirements. Test-first development is the foundational principle behind test-driven
  development (TDD) and behavior-driven development (BDD), where the specification of expected behavior is captured in executable
  tests before any production code is written.
url: https://en.wikipedia.org/wiki/Test-driven_development
tags:
- Behavior-Driven Development
- Best Practices
- Methodology
- Software Design
- Software Development
- Testing
created: '2025'
modified: '2026-05-03'
apis:
- name: Cucumber API
  description: REST API and tooling for Cucumber BDD framework supporting test-first development with Gherkin feature files,
    scenario definitions, and step implementations.
  humanURL: https://cucumber.io
  baseURL: https://cucumber.io
  tags:
  - Behavior-Driven Development
  - Gherkin
  - Test Automation
  - Testing
  properties:
  - type: Documentation
    url: https://cucumber.io/docs/cucumber/
  - type: GitHubRepository
    url: https://github.com/cucumber/cucumber-js
- name: Pact Broker API
  description: REST API for Pact Broker contract testing service, enabling consumer-driven contract testing where consumer
    tests define the API contract before providers implement it.
  humanURL: https://docs.pact.io
  baseURL: https://your-pact-broker.example.com
  tags:
  - Consumer-Driven Contracts
  - Contract Testing
  - Microservices
  - Test-First
  properties:
  - type: Documentation
    url: https://docs.pact.io
  - type: GitHubRepository
    url: https://github.com/pact-foundation/pact_broker
  - type: OpenAPI
    url: https://raw.githubusercontent.com/pact-foundation/pact_broker/master/lib/pact_broker/api/pact_broker.json
- name: Stoplight API
  description: API design-first platform enabling teams to write API specifications before implementation, supporting test-first
    development with mock servers, contract testing, and API style guides.
  humanURL: https://stoplight.io
  baseURL: https://api.stoplight.io
  tags:
  - API Design
  - Contract Testing
  - Mock Servers
  - Test-First
  properties:
  - type: Documentation
    url: https://meta.stoplight.io/docs/platform
  - type: APIReference
    url: https://meta.stoplight.io/docs/stoplight-api
- name: Microcks API
  description: Open-source cloud-native tool for API mocking and contract testing, supporting test-first development by generating
    mocks from OpenAPI, Postman, and gRPC specifications.
  humanURL: https://microcks.io
  baseURL: https://your-microcks.example.com/api
  tags:
  - API Mocking
  - Contract Testing
  - Open Source
  - Test-First
  properties:
  - type: Documentation
    url: https://microcks.io/documentation/
  - type: GitHubRepository
    url: https://github.com/microcks/microcks
- name: Dredd API
  description: Command-line HTTP API testing framework that validates API implementations against API Blueprint or OpenAPI
    descriptions, enabling test-first API development.
  humanURL: https://dredd.org
  baseURL: https://dredd.org
  tags:
  - API Testing
  - Contract Testing
  - OpenAPI
  - Test-First
  properties:
  - type: Documentation
    url: https://dredd.readthedocs.io
  - type: GitHubRepository
    url: https://github.com/apiaryio/dredd
common:
- type: DomainSecurity
  url: security/test-first-domain-security.yml
- type: Documentation
  url: https://en.wikipedia.org/wiki/Test-driven_development
- type: Documentation
  url: https://www.agilealliance.org/glossary/tdd/
- type: Features
  data:
  - name: Specification Before Implementation
    description: Write executable test specifications that define expected behavior before writing any production code.
  - name: API Contract Definition
    description: Define the API contract through tests before the implementation exists, ensuring design clarity.
  - name: Mock-First Development
    description: Use mock servers generated from specifications to enable parallel frontend and backend development.
  - name: Living Documentation
    description: Tests serve as up-to-date documentation of how the system is expected to behave.
  - name: Fail Fast Feedback
    description: Discover design issues early by specifying tests before implementation reveals constraints.
  - name: Consumer-Driven Contracts
    description: Let API consumers define their expectations as tests that the API provider must satisfy.
- type: UseCases
  data:
  - name: API-First Design
    description: Write OpenAPI specifications and generate tests from them before building the implementation.
  - name: Consumer-Driven Contract Testing
    description: API consumers publish test expectations that API providers must verify in their CI pipelines.
  - name: Behavior-Driven Development
    description: Use Gherkin feature files to define expected system behavior before writing implementation.
  - name: Parallel Development
    description: Enable frontend and backend teams to develop in parallel using mock servers from specifications.
  - name: Specification Compliance
    description: Validate that API implementations comply with their published specifications using test-first assertions.
- type: Integrations
  data:
  - name: OpenAPI
    description: Generate test-first stubs and mocks directly from OpenAPI specifications.
  - name: Cucumber
    description: Use Gherkin scenarios as the test-first specification for behavior-driven development.
  - name: Pact
    description: Apply consumer-driven contract testing where consumer tests define provider expectations.
  - name: Prism
    description: Use Stoplight Prism to mock APIs from OpenAPI specs enabling test-first development.
- type: JSONSchema
  url: json-schema/test-first-specification-schema.json
- type: JSONSchema
  url: json-schema/test-first-contract-schema.json
- type: JSONSchema
  url: json-schema/test-first-mock-schema.json
- type: JSONLD
  url: json-ld/test-first-context.jsonld
- type: Vocabulary
  url: vocabulary/test-first-vocabulary.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
  url: https://apievangelist.com