Skip to main content

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