Testing Glossary

Browse 148 testing terms defined in plain English, from the cultural dictionary of computing.

148 Testing Terms

A/B Testing
A/B Testing is an experimental method where two variants of a product, webpage, or feature are shown to different segments of users simultaneously to determine...
Acceptance Testing
Acceptance Testing is a quality, testing, or engineering-practice concept used to validate software behavior. It is commonly used for maintaining reliability...
Adversary Simulation
A controlled exercise that simulates attacker behavior to test detection, response, and resilience. It can overlap with adversary emulation, though simulation...
AI Simulation
The use of AI within a simulated environment, or the use of simulation to test AI behavior before real deployment. AI simulations are common in robotics,...
AI Test
A single test case or evaluation scenario used to check whether an AI system behaves acceptably on a specific input or requirement. AI tests can cover...
AI Testing
The broader practice of validating AI system behavior through test sets, scenario runs, regression suites, manual review, and production monitoring. AI testing...
Alpha Release
A formal release of an early-stage version intended for limited testing, feedback, and internal validation before beta or general availability. Alpha releases...
API Testing
The practice of verifying that an API behaves correctly across success paths, edge cases, failures, authentication scenarios, and contract expectations. API...
Assertion
Assertion is a quality, testing, or engineering-practice concept used to validate software behavior. It is commonly used for maintaining reliability as systems...
Assertion Library
A testing library that provides expressive helpers for checking expected values, errors, object shapes, and other conditions in unit or integration tests....
Attack Emulation
A controlled security exercise that recreates attacker actions and techniques to test whether detections, controls, and responders behave as expected. It...
Attack Simulation
A controlled exercise that simulates attack conditions to measure whether preventative and detective controls work as intended. It may be automated, manually...
Automated Testing
The use of scripts and test frameworks to run checks on code behavior automatically rather than relying only on manual verification. Automated testing enables...
BDD
BDD is behavior-driven development, a testing and collaboration style centered on executable behavior examples. It is commonly used for turning user scenarios...
Benchmark
A standardized test or dataset used to evaluate and compare AI model performance. MMLU, HellaSwag, HumanEval — the SATs of the AI world. Models are optimized...
Benchmark Suite
Benchmark Suite is a quality, testing, or engineering-practice concept used to validate software behavior. It is commonly used for maintaining reliability as...
Beta
A pre-release stage where software is more complete than alpha but still being tested by selected users or the public before full release. In casual tech...
Beta Launch
The release of a product or feature to a limited audience while it is still being validated and improved. A beta launch usually seeks feedback, usage data, and...
Beta Program
A structured process for giving selected users early access to a product or feature in exchange for feedback and validation. Good beta programs manage...
Beta Tester
A user who tries a product, feature, or release before general availability in order to provide feedback and uncover issues. In software culture beta testers...
Black Box Fuzzing
Fuzz testing performed without internal knowledge of the target's source code or structure, relying instead on observed inputs and outputs. It is useful for...
Black Box Testing
Black Box Testing is a security testing approach that evaluates a target without internal design knowledge, using only external behavior and exposed...
Breakpoint
Breakpoint is a quality, testing, or engineering-practice concept used to validate software behavior. It is commonly used for maintaining reliability as...
Browser Automation
The programmatic control of a web browser to simulate user actions such as navigation, clicking, typing, screenshot capture, or DOM inspection. Browser...
Bug Bounty Program
Bug Bounty Program is a coordinated vulnerability-disclosure program that rewards external researchers for responsibly reporting valid security issues....
Build Matrix
A set of build or test combinations run across different dimensions such as operating systems, runtimes, architectures, database versions, or feature flags....
Burp Suite
Burp Suite is an application security testing platform for intercepting traffic, manipulating requests, and auditing web behavior. Security teams use it to...
Chaos Budget
The amount of risk a team is willing to take with chaos experiments, analogous to error budgets. When reliability is high (error budget surplus), the chaos...
Chaos Engineering
The discipline of intentionally injecting failures into production systems to verify they can withstand turbulent conditions. Netflix's Chaos Monkey randomly...
Chaos Monkey
A tool created by Netflix that randomly terminates production instances to ensure that engineers build resilient services that can tolerate unexpected...
Chaos Testing
Deliberately injecting failures (network partitions, server crashes, disk full, clock skew, high latency) into a system to verify it handles them gracefully....
CI
CI, or Continuous Integration, is a software development practice where developers frequently merge their code changes into a shared repository, with each...
Clock
A source of time used by software for timestamps, scheduling, timeouts, ordering, and measurement. Clocks can represent wall time, monotonic time, or mocked...
Cloud Penetration Testing
Penetration testing focused on cloud environments, including identity layers, exposed services, storage, network controls, and cloud-native misconfigurations....
Code Coverage
A metric that measures the percentage of source code executed during automated testing. While high coverage does not guarantee correctness, low coverage...
Code Review Bot
Code Review Bot is a quality, testing, or engineering-practice concept used to validate software behavior. It is commonly used for maintaining reliability as...
Code Testing Culture
The shared norms and expectations a team has around writing, maintaining, and trusting tests. Strong code testing culture means tests are part of everyday...
Compiled It In My Head
A joking way to admit that code was not actually run or tested and was only mentally checked for correctness. It usually signals overconfidence right before a...
Component Test
A test that exercises a single component in relative isolation, often verifying rendering, props handling, state changes, and user interactions without...
Contract Testing
A testing approach where API consumers and providers independently verify that they conform to a shared contract (expected request/response format). Tools like...
dark launch
A deployment technique where new code is released to production and executed in the background without exposing results to users. Dark launches allow teams to...
DAST
Dynamic Application Security Testing — testing a running application by sending crafted requests to discover vulnerabilities from the outside (black-box...
Dependency Injection
Dependency Injection is a design pattern where an object receives the other objects it depends on from an external source rather than creating them internally....
Dogfood
Dogfood, or dogfooding, is the practice of a company using its own products internally before or alongside releasing them to customers. The term comes from the...
Dogfooding
The practice of a company using its own products internally before releasing them to customers. Derived from the aphorism 'eating your own dog food.'
Dogfooding (slang)
Informal variant: 'We're eating our own dogfood this quarter.' Means using your own product internally. If it's good enough to sell, you'd better be willing to...
Dry Run
A rehearsal or simulation of an action without applying the full real-world effects. In engineering slang, dry runs are how teams learn whether a deployment or...
Dynamic Analysis
The examination of software by running it and observing its behavior, such as system calls, network activity, memory use, and file changes. Dynamic analysis is...
Dynamic Application Security Testing
Dynamic Application Security Testing is runtime testing of a running application by sending requests and observing behavior from the outside. Security teams...
E2E Testing
End-to-end (E2E) testing validates the entire application stack by simulating real user interactions from the UI through backend services to the database and...
Edge Case
An input or condition at the extreme boundary of expected parameters — the empty string, the null value, the list with exactly one element, the date February...
End-to-End Test
An End-to-End Test is a development concept used to shape how software is built, executed, or maintained in real systems. Developers rely on it to make code...
Ethical Hacking
Ethical Hacking is authorized offensive testing performed to identify weaknesses before they are exploited maliciously. Security teams use it to enforce trust,...
Eval Suite
A collection of automated tests, tasks, or scoring scripts used to evaluate model quality across multiple behaviors.
Experiment
A deliberate test used to learn something under controlled or at least interpretable conditions. In tech culture experiments are valuable because they turn...
Eye Tracking
A method of measuring where people's eyes move and focus while they look at screens, interfaces, or physical environments. In design culture eye tracking is...
Fake Data
Artificial or simulated data used for testing, demos, prototyping, or development instead of real production data. In engineering culture fake data is useful,...
False Negative
A case where a malicious or noncompliant condition exists but the security control fails to detect or flag it. False negatives are dangerous because they...
Fault Injection
Fault Injection is the deliberate induction of abnormal conditions such as voltage, timing, or input faults to study system behavior. Security teams use it to...
Feature Flag
A feature flag (also called a feature toggle) is a configuration mechanism that enables or disables application functionality at runtime without deploying new...
Feature Testing Culture
The shared habits a team has around testing features before and after release, including edge cases, rollout checks, and real-user impact. Strong feature...
Field Test
A test conducted in real or realistic operating conditions rather than only in controlled lab or staging environments. In engineering culture field tests...
Flake
A test, build, or job that passes and fails intermittently without a meaningful code change, usually because of timing, environment variance, hidden...
Flaky Test
A test that intermittently passes and fails without any code change, typically due to race conditions, time dependencies, shared state, or network calls. Flaky...
Fuzzer
A tool that automatically feeds large volumes of malformed, unexpected, or randomly varied input into software to uncover crashes, hangs, memory corruption, or...
Fuzzing
An automated testing technique that bombards a program with random, malformed, or unexpected input to discover bugs and vulnerabilities. The computational...
Fuzz Testing
Fuzz Testing is automated testing that feeds malformed or unexpected input to software to expose crashes and logic flaws. Security teams use it to enforce...
Golden File Test
A test that compares program output against a saved reference file ('golden file' or 'snapshot'). On first run or with an update flag, it saves the output. On...
Gray Box Testing
Gray Box Testing is security testing performed with partial knowledge of the target such as architecture, credentials, or API documentation. Security teams use...
Happy Path
The ideal expected flow through a system where inputs are valid, dependencies behave, and nothing unusual goes wrong. Teams often contrast it with edge cases...
Integration Test
Integration Test is an automated test that verifies the interaction between two or more components, modules, or services to ensure they work correctly...
Integration Testing
Integration testing verifies that separate components or services work correctly when connected together, catching bugs that emerge only from interactions...
It Compiles Ship It
A mocking phrase for treating successful compilation as enough evidence that code is ready to release. In engineering slang, it criticizes teams that confuse...
Jest
A JavaScript testing framework that provides test execution, assertions, mocking, snapshot testing, and parallelized runs out of the box. It is commonly used...
JUnit
A unit testing framework for Java used to define test cases, assertions, fixtures, and automated test execution as part of the build. Modern JUnit versions...
Load Testing
Simulating expected or peak traffic patterns against a system to verify performance under load. Measures response times, throughput, error rates, and resource...
Matrix Build
A CI configuration that runs the same test suite across multiple combinations of parameters -- OS versions, language versions, dependency versions, or...
Mocking
Mocking is a testing technique where fake objects or functions stand in for real dependencies, allowing code to be tested in isolation without hitting...
Mock Object
A test double that simulates the interface of a real dependency — such as a database client or HTTP service — and records the calls made against it so that a...
Mock the Clock
To replace real time with controlled test time so time-dependent logic becomes predictable and testable. In engineering slang, mocking the clock is one of the...
Model Test
A test case or testing process used to check model behavior, quality, safety, or performance. Model tests are often included in regression suites before...
Mutation Testing
A technique that evaluates test suite quality by introducing small changes ('mutations') to the source code — flipping operators, changing constants, removing...
Nightly
Describing builds or releases generated frequently, often every night, from the latest state of development rather than from a stable release branch. In...
Nightly Build
An automated build compiled from the latest source code every night, providing the most current (and least stable) version of software. For people who prefer...
Nightly Build
An automated build produced from the latest source code every night (or continuously), containing bleeding-edge features and changes. Used by early adopters,...
Offensive Security
Offensive Security is the practice of simulating attacker behavior to identify, validate, and communicate security weaknesses. Security teams use it to enforce...
Package Test
A test that verifies a package builds, installs, or behaves correctly in its packaged form rather than only in source-tree development mode. In release...
Performance Testing
A category of testing that evaluates a system's speed, scalability, and stability under expected and peak workloads. Subtypes include load testing, stress...
PHPUnit
The standard unit testing framework for PHP, inspired by JUnit. Provides assertions, test fixtures, mocking, and code coverage analysis. If you write PHP...
Playwright
A browser automation and end-to-end testing framework used to script user flows across modern browsers.
Prerelease
A release published before official stable release, often marked alpha, beta, rc, or preview, to gather testing and feedback. In release culture, prereleases...
Prompt Testing
The practice of testing prompts against known cases, edge conditions, and regression suites to verify behavior before release. Prompt testing is necessary...
Property-Based Testing
A testing approach where you define properties that should always hold true (invariants), and the framework generates hundreds of random inputs to try to find...
Prototype
Prototype is a preliminary version of a product, system, or feature built to test concepts, validate assumptions, and gather feedback before investing in full...
Proving Ground
A context, customer segment, or early market where a company can test whether its product and execution hold up under real conditions. Startups often use one...
Puppeteer
A Node.js library developed by Google that provides a high-level API to control headless (or headful) Chrome/Chromium via the DevTools Protocol. Commonly used...
Pure Function
A function that always returns the same output for the same input and has no side effects — it does not modify external state, perform I/O, or depend on...
pytest
pytest is the most popular testing framework for Python, known for its simple syntax, powerful features, and extensive plugin ecosystem. Unlike the standard...
Quality Gate Slang
Informal language around the checks and rules a change must pass before moving forward. In engineering slang, quality-gate talk often reveals whether the team...
Red Bar
A failing test state, often shown visually in red, especially in TDD workflows where failure is expected before the implementation is written. More broadly it...
Regression Test
A test specifically written or retained to verify that a previously fixed bug does not reappear — or more broadly, that new changes have not broken existing...
Release Candidate
A software version that is potentially the final release, pending last-round testing. Labeled RC1, RC2, etc. In theory, no new features are added — only...
Sad Path
The error or failure path through a system, as opposed to the happy path where everything works as intended. Good testing covers sad paths, not just ideal...
Safety Testing
Testing focused on unsafe behavior, policy violations, prompt injection, abuse scenarios, and other safety-relevant failure modes. Safety testing is often done...
SAST
Static Application Security Testing — analyzing source code or compiled binaries for security vulnerabilities without executing the program. Finds issues like...
Seed Data
An initial dataset loaded into a database to establish baseline records needed for the application to function — such as default roles, country codes, or test...
Setup Teardown
The paired lifecycle hooks in test frameworks (e.g., `beforeEach`/`afterEach`, `setUp`/`tearDown`) that run code before and after each test case to establish...
Shift Left
Moving activities (testing, security scanning, performance validation) earlier in the development lifecycle — from production leftward to development. Finding...
Smoke Test
Smoke Test is a preliminary, broad-but-shallow test run performed to verify that the most critical functions of a software system work before committing to...
Smoke Test Slang
Informal talk for a quick high-level check that verifies something basically works after a change. In engineering slang, smoke tests are about fast confidence,...
Snapshot Slang
Informal usage of snapshot for a saved moment-in-time copy of data, output, or system state. In engineering slang, snapshots are useful until teams mistake...
Snapshot Test
An automated test that captures the serialized output of a component or function (such as rendered HTML or a JSON structure), saves it to a file, and on...
Snapshot Testing
A testing technique that captures the output of a component or function and compares it against a stored reference ('snapshot'). If the output changes...
Software Testing
The practice of executing software under controlled conditions to verify that it behaves as expected and to discover defects. Encompasses multiple levels —...
Spec File
A file that defines a specification — either a test specification (e.g., user.spec.ts in Jest/Vitest, user_spec.rb in RSpec) containing test cases for a...
State Explosion
A rapid growth in the number of possible states or interactions a system can enter, making reasoning, testing, and verification much harder. It often appears...
Stub
A minimal, hard-coded stand-in for a real dependency that returns predetermined data when called, used in testing to isolate the unit under test from external...
Suite
A named group of related test cases that are executed together, typically defined by a `describe` block (Jest, Mocha), a test class (JUnit, pytest), or a...
System Test
An end-to-end test that validates the complete, integrated system against its specified requirements — exercising the full stack including UI, APIs, databases,...
TDD
Test-Driven Development (TDD) is a software development discipline built on a short, repeating cycle called red-green-refactor. First, write a failing test...
Testability
The degree to which a software component can be effectively and efficiently tested, determined by factors like dependency injection, separation of concerns,...
Test Assertion
A statement within a test that declares an expected condition — such as assertEquals(actual, expected) or expect(result).toBe(true) — which either passes...
Test Case
A single, self-contained specification of inputs, execution steps, and expected outcomes designed to verify one specific behavior or requirement of the system...
Test Container
A library (most commonly Testcontainers for Java, Python, Node, Go, and .NET) that programmatically spins up lightweight Docker containers for dependencies...
Test Coverage
A metric — typically expressed as a percentage — that measures how much of a codebase's lines, branches, functions, or statements are exercised by the test...
Test Data
Predefined or generated input values, database records, and fixture files used to exercise a system during testing — crafted to cover typical scenarios, edge...
Test Double
A generic term for any object that stands in for a real dependency in tests. Types: dummy (passed but never used), stub (returns canned answers), spy (records...
Test-Driven Development
A software development methodology where you write a failing test before writing the production code that makes it pass. The cycle is red (fail), green (pass),...
Test Environment
An isolated deployment — separate from production and often from development — where the application and its dependencies (databases, queues, third-party...
Test Fixture
The fixed state used as a baseline for running tests — test data, mock objects, configuration, database records, and environment setup. Fixtures run before...
Test Framework
A library that provides the scaffolding for writing, organizing, and running tests — including test discovery, lifecycle hooks (setup/teardown), assertion...
Test Harness
The infrastructure code that surrounds and drives a test suite — handling test discovery, execution orchestration, environment setup and teardown, result...
Test Hook
A lifecycle callback — such as beforeEach, afterAll, setUp, or tearDown — provided by a test framework that runs code at specific points before or after tests...
Testing Library
A family of testing utilities (most notably @testing-library/react) that encourages testing UI components the way users interact with them — querying by...
Testing Pyramid
A testing strategy model shaped like a pyramid: a broad base of fast, cheap unit tests, a middle layer of integration tests, and a narrow top of slow,...
Testing Standard
A standard or shared convention describing how tests should be written, organized, named, or enforced. In engineering organizations, testing standards reduce...
Test in Production
To rely on real users or live systems as the proving ground for a change, intentionally or by neglect. In engineering slang, testing in production can be...
Test Mock
A test double that replaces a real dependency with a programmable stand-in, pre-configured to return specific responses and capable of verifying that expected...
Test Plan
A document that specifies the scope, approach, resources, schedule, and pass/fail criteria for testing a particular feature or release, serving as the contract...
Test Runner
A program that discovers test files, executes them in a controlled environment, captures pass/fail results, and reports outcomes — examples include Jest,...
Test Spy
A test double that wraps a real implementation, allowing the actual behavior to execute while silently recording calls, arguments, return values, and...
Test Strategy
A high-level document or decision framework that defines which types of testing (unit, integration, E2E, performance, etc.) a project will employ, the ratio...
Test Suite
A collection of related test cases grouped together, typically organized by feature, module, or test type, that can be executed as a single unit by a test...
Test Utility
A shared helper function, factory, or fixture builder used across multiple test files to reduce duplication — such as a function that creates a fully-populated...
Unit Test
Unit Test is an automated test that verifies the behavior of a small, isolated piece of code, typically a single function, method, or class, in isolation from...
Unit Testing
Unit testing is the practice of writing automated tests that verify individual functions, methods, or classes in isolation from the rest of the system. Each...
Usability Testing
Usability Testing is a user experience research method where real users attempt to complete specific tasks with a product while researchers observe their...
Visual Regression Test
An automated test that captures screenshots of a UI component or page and compares them pixel-by-pixel (or perceptually) against approved baseline images to...

Related Topics