Test Plans · Schema

TestPlan

A structured document defining the objectives, scope, approach, schedule, and resources for a software testing effort.

DocumentationQuality AssuranceSoftware DevelopmentTest ManagementTesting

Properties

Name Type Description
id string Unique identifier for the test plan.
name string Name of the test plan.
description string High-level description of the testing effort.
project_id string Identifier of the project this test plan covers.
status string Current status of the test plan.
objectives string Goals and objectives of the testing effort.
scope object What is in and out of scope for this test plan.
approach string The testing approach and methodology to be used.
entry_criteria array Conditions that must be met before testing can begin.
exit_criteria array Conditions that must be met before testing is considered complete.
test_types array Types of testing to be performed.
environments array Environments in which testing will be performed.
start_date string Planned start date for testing.
end_date string Planned end date for testing.
owner string Test lead or owner responsible for this test plan.
created_at string ISO 8601 timestamp when the plan was created.
updated_at string ISO 8601 timestamp when the plan was last updated.
test_cycle_ids array References to test cycles associated with this plan.
View JSON Schema on GitHub

JSON Schema

test-plans-test-plan-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/test-plans/refs/heads/main/json-schema/test-plans-test-plan-schema.json",
  "title": "TestPlan",
  "description": "A structured document defining the objectives, scope, approach, schedule, and resources for a software testing effort.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the test plan."
    },
    "name": {
      "type": "string",
      "description": "Name of the test plan."
    },
    "description": {
      "type": "string",
      "description": "High-level description of the testing effort."
    },
    "project_id": {
      "type": "string",
      "description": "Identifier of the project this test plan covers."
    },
    "status": {
      "type": "string",
      "enum": ["draft", "active", "completed", "archived"],
      "description": "Current status of the test plan."
    },
    "objectives": {
      "type": "string",
      "description": "Goals and objectives of the testing effort."
    },
    "scope": {
      "$ref": "#/$defs/TestScope",
      "description": "What is in and out of scope for this test plan."
    },
    "approach": {
      "type": "string",
      "description": "The testing approach and methodology to be used."
    },
    "entry_criteria": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Conditions that must be met before testing can begin."
    },
    "exit_criteria": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Conditions that must be met before testing is considered complete."
    },
    "test_types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": ["functional", "regression", "performance", "security", "usability", "integration", "acceptance", "smoke"]
      },
      "description": "Types of testing to be performed."
    },
    "environments": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Environments in which testing will be performed."
    },
    "start_date": {
      "type": "string",
      "format": "date",
      "description": "Planned start date for testing."
    },
    "end_date": {
      "type": "string",
      "format": "date",
      "description": "Planned end date for testing."
    },
    "owner": {
      "type": "string",
      "description": "Test lead or owner responsible for this test plan."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the plan was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the plan was last updated."
    },
    "test_cycle_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "References to test cycles associated with this plan."
    }
  },
  "required": ["id", "name", "status"],
  "$defs": {
    "TestScope": {
      "type": "object",
      "properties": {
        "in_scope": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Features and components included in the testing scope."
        },
        "out_of_scope": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Features and components excluded from the testing scope."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/test-plans-test-plan"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.