Skip to main content

Core concepts

Lashtest Lab has a small number of concepts that fit together in a fixed hierarchy. Understanding this shape makes everything else in the product predictable.

The hierarchy​

Organisation ← your company or team; owns the plan and billing
└── Project ← one body of testing work
├── Suites (nested) ← folders for organising cases
│ └── Test cases
├── Test runs ← cases executed together, with results
├── Test plans ← groups of runs reported on together
├── Run templates ← saved sets of cases for starting runs quickly
├── API keys ← for CI and automation
└── Webhooks ← outbound notifications

In one paragraph​

An organisation holds everything and owns the plan. Inside it, a project is one body of testing work — one product or service. Within a project you write test cases and organise them into a tree of suites. To execute testing you create a test run, which is a snapshot of selected cases that you work through and mark with results. If you want to report on several runs as one unit of work, you group them into a test plan.

Concepts at a glance​

ConceptWhat it isNotes
OrganisationThe top-level tenantOwns members, roles, plan, and integrations
ProjectA container for one body of testingHas a unique slug; scopes runs, plans, and API keys
SuiteA folder for test casesNests without limit; cases can also sit outside any suite
Test caseA single test to performSteps or Gherkin, with priority, status, and tags
Test runA set of cases executed togetherThe unit you mark pass/fail
Test planA group of runsFor reporting across several runs
ReportsTrends and flakinessComputed across runs

Two things that surprise people​

A test case is not a copy inside a run. When you add a case to a run, the run references the case and holds your result for it. Editing the case later changes the case — the result you recorded stays attached to the run. This is what lets flakiness and trends be computed: the same case, measured across many runs.

A completed run is immutable. Once you close a run, its results are frozen. That is what makes it a trustworthy record of what happened. If you need to test again, create a new run — and if you want it to contain the same cases, use a run template.

Where to go next​