Why We Test the Platform
Platform tests verify that the integrated system works correctly for a real user doing real work — from the moment an account is provisioned to the moment it is torn down.
At a high level, every platform test run follows this lifecycle:
- Provision test account — a fresh user identity is created with the roles needed for the test
- Provision test workspace — a workspace is spun up and platform services are connected to it
- End-to-end service tests — capabilities are exercised across the full stack
- Tear down workspace — the workspace and its associated resources are deprovisioned
- Tear down account — the test identity is removed
This lifecycle is what makes platform tests different from unit or component tests. Every run starts from a clean state and ends with nothing left behind.
The Problem With Testing in Isolation
Every service on the platform has its own internal tests. But integration failures rarely happen inside a single service. They happen at the seams — between identity, permissions, data access, and the API layer — where no single service's tests can see the full picture.
What Platform Tests Are
Platform tests run against a live environment. They authenticate as real users, call real APIs, and assert on outcomes the same way a real tenant would experience them.
They are not a replacement for unit tests. They are a safety net at the system boundary.
What They Are Not For
- Replacing unit tests inside individual services
- Testing infrastructure provisioning
- Performance benchmarking — that is covered by the load test suite
The Contract We're Protecting
The core contract is: a user with a given role should be able to do exactly what that role permits, and nothing more, across every surface of the platform.
No single service owns this contract. Only a platform-level test can verify it end-to-end.
Go Deeper
- What We Test
- Security → Data Access and Token Exchange