The common test-management vocabulary -- test cases, the suites that group them, the test runs that execute them and the results each run records -- distilled from the APIs that already exist. Part of Schema Commons, published by the API Commons.
Built from the providers tagged Testing, Software Testing, Test Automation, QA, Quality Assurance, Test Management, API Testing, Load Testing in APIs.io that publish their own OpenAPI. Only harvested contracts count -- nothing API Evangelist generated. Every number below is a count of providers.
| Concept | Expose it | Readable schema | Core properties (share) | Collection named |
|---|---|---|---|---|
| test_case | 21 | 20 | id 75%, name 70%, description 55% | tests 14, testcases 4, cases 3, case 1 |
| test_suite | 4 | 4 | id 75%, name 75%, parent_id 75% | folders 2, sections 1, suite 1, suites 1 |
| test_run | 23 | 22 | id 82%, status 64% | runs 12, run 8, executions 5, test_runs 1 |
| test_result | 8 | 6 | id 67%, status 50% | results 4, result 4 |
Cohort: 95 providers with harvested OpenAPI, 32 crosswalks. Of the providers exposing a test_case: 62% create, 81% list, 62% fetch, 38% update, 33% delete. Generated 2026-11-11 by build.py.
Shares are of the providers with a readable resource schema for that concept. The extended tier and the long tail of every concept are in profile.yml.
- Test cases agree on id, name and description; steps reach 30%, because step-by-step manual cases and automated tests share one resource name. Test runs agree on id and status, with started_at at 36%.
- Suites (sections, folders) agree on id, name and parent_id: a tree that cases hang from. Results agree on id and status.
- openapi.yml -- OpenAPI 3.1 of the shared operations. No one serves it; it is the shape to map to. Lints clean against the naming ruleset.
- schema/ -- JSON Schema 2020-12 per concept; each property carries
x-commons-tier,x-commons-share,x-commons-providersand the spellings seen. - crosswalk/ -- one per provider, common name -> their name, with the harvested spec and operations each mapping was read from.
- adopters.yml -- who exposes which concept, linked to their APIs.io page.
- concepts.yml -- the only hand-written input: concepts, path segments and their qualifiers, aliases, reviewed exclusions, merged duplicates, and the decisions below.
- census/ -- the cohort and the raw census the profile is built from.
These are calls, not measurements, recorded so they can be revisited as the method matures.
- The concepts carry the test_ prefix, because case, run, suite and result are used in legal, ci-cd and elsewhere.
../schema-commons/scripts/run.sh .Artifacts CC BY-NC-SA 4.0 (LICENSE); code Apache 2.0 (LICENSE-CODE).