Software testing glossary

Know the words behind every test.

Plain definitions of the testing terms used across this site, from mutation scores to step definitions. Each term links to the page that explains it in context.

Agentic software testing
Software testing in which an AI agent plans and runs checks toward a goal, using the tools and permissions people have approved. People keep control of the scope, the budget and the release decision.Read more: Agentic testing
AI testing agent
An AI system that plans, runs and reports software checks using your requirements and tools. Cue April is an AI testing agent for engineering and QA teams.Read more: Cue April
API testing
Testing a service through its programming interface: send requests and check each response against the expected status, body, schema and access rules.Read more: API testing
Behaviour-driven development (BDD)
A way of working in which a team describes expected behaviour as concrete examples, often written in Gherkin, and turns those examples into executable checks.Read more: Gherkin testing
Code coverage
The share of code, such as lines or branches, that a test suite executes. Coverage shows which code ran. Mutation testing shows whether the tests would notice a wrong result.Read more: Mutation testing
Computer-use exploration
Exploratory testing performed by an AI agent that operates a browser the way a person does, clicking, typing and reading the screen, within approved actions.Read more: Computer-use exploration
Continuous testing
Running automated tests throughout development, on every change and on a schedule, so feedback arrives while the change is still fresh.Read more: How it works
Counterexample
A concrete input that breaks a property in property-based testing. It gives your team a specific case to reproduce and investigate.Read more: Property-based testing
Cucumber
An open-source tool that runs Gherkin scenarios by matching each step to code, called a step definition.Read more: Gherkin testing
End-to-end testing
Testing a complete user journey through the running application, usually in a real browser, from the interface down to the services behind it.Read more: Playwright testing
Evidence pack
A downloadable record of a test run: the specification, source, tests, measured outcomes, native reports and file checksums.Read more: Sample evidence
Exploratory testing
Testing in which the tester designs and runs checks while learning how the application behaves, instead of following a fixed script.Read more: Computer-use exploration
fast-check
An open-source property-based testing library for JavaScript and TypeScript. It generates inputs for a stated property and reports counterexamples.Read more: Property-based testing
Flaky test
A test that passes and fails on the same code with no change in between, often because of timing, shared state or an external dependency.
Functional testing
Testing that checks a feature does what it should from the user’s point of view, by comparing actual behaviour with the requirements.Read more: Testing methods
Gherkin
A plain-language format for describing behaviour as scenarios made of Given, When and Then steps.Read more: Gherkin testing
Integration testing
Testing that checks how separate parts of a system work together, such as a service and its database, or two services talking through an API.Read more: API testing
Invariant
A rule that must stay true for every valid input or state, such as “a round trip preserves the value”. Property-based tests check invariants.Read more: Property-based testing
Jest and Vitest
Open-source JavaScript and TypeScript test runners, commonly used for unit tests.Read more: Unit testing
Mutant
A copy of your code with one small, deliberate change, such as a flipped comparison, used in mutation testing.Read more: Mutation testing
Mutation score
The share of generated mutants that the tests detected. It describes only the code and mutants that ran.Read more: Mutation testing
Mutation testing
A way to measure whether tests notice real changes in behaviour. It makes small, deliberate edits to the code and runs the tests against each one.Read more: Mutation testing
Playwright
An open-source browser automation and testing framework from Microsoft that drives Chromium, Firefox and WebKit.Read more: Playwright testing
Property-based testing
Testing that checks a stated rule across many generated inputs and reports a counterexample when the rule breaks.Read more: Property-based testing
Pull request
A request to merge a set of code changes into a shared branch. Reviewers examine it before the change joins the codebase.Read more: Pull request testing
Regression draft
A proposed regression test created from an approved finding, which your team reviews before it joins the suite.Read more: How it works
Regression testing
Re-running checks on existing behaviour after a code change to confirm that nothing that used to work has broken.Read more: Regression testing
Smoke testing
A quick set of checks that confirms the most important functions of a build work before deeper testing starts.
Source revision
The exact commit a test run used, recorded so each result can be traced to the code it tested.Read more: How it works
Step definition
The code that Cucumber runs for a Gherkin step. Undefined or pending steps leave a scenario incomplete.Read more: Gherkin testing
Stryker
An open-source mutation testing framework, with versions for JavaScript and TypeScript, C# and Scala.Read more: Mutation testing
Surviving mutant
A mutant that no test detected. It may reveal a missing assertion, an unclear requirement or a change that makes no behavioural difference.Read more: Mutation testing
Test automation
Using software to run tests and compare the results with expected outcomes, instead of performing each check by hand.Read more: How it works
Test coverage
A measure of how much of the code or the requirements a test suite exercises. High coverage shows what ran; mutation testing shows whether the tests would notice a fault.Read more: Mutation testing
Test oracle
The source of truth a test uses to decide whether a result is correct. For AI-generated code, the oracle should come from requirements your team agreed independently.Read more: Testing AI-generated code
Unit test
A test that checks the smallest piece of code, such as one function, in isolation.Read more: Unit testing
User acceptance testing (UAT)
Testing by the people who will use the software, or their representatives, to confirm that it meets their needs before release.Read more: Regression testing

Meet your AI testing workhorse

Bring your toughest code.
Set your highest bar.

See how the AI testing team would challenge your next release. We’ll scope the methods, automation and evidence around your software.

Request a walkthrough

Discuss an evaluation. No purchase commitment.