QA Glossary
QA Testing Glossary
Clear definitions, real-world examples, and interview tips for every concept QA engineers and SDETs need to know. From testing fundamentals to chaos engineering.
Free to start · 7-day trial on paid plans
Testing Fundamentals
Flaky TestA flaky test is an automated test that produces inconsistent pass/fail results across multiple runs without any changes to the source code or test itself.
Test PyramidThe Test Pyramid is a testing strategy that prescribes a large base of fast, isolated unit tests, a smaller middle layer of integration tests, and a thin top layer of end-to-end tests.
Regression TestingRegression testing is the practice of re-running existing tests after code changes to verify that previously working functionality has not been broken by new commits.
Smoke TestingSmoke testing is a shallow, broad test run that verifies that the most critical features of an application are working after a new build or deployment, acting as a quick go/no-go decision.
Exploratory TestingExploratory testing is a testing approach where the tester simultaneously learns about the system, designs tests, and executes them in real time without predefined scripts.
Boundary Value AnalysisBoundary value analysis (BVA) is a test design technique that focuses on testing at the edges of input ranges, where defects are statistically most likely to occur.
Equivalence PartitioningEquivalence partitioning is a test design technique that divides input data into groups (partitions) where all values within a partition are expected to be treated the same way by the system.
Test CoverageTest coverage is a metric that measures the extent to which a test suite exercises the application, expressed as a percentage of code lines, branches, requirements, or features verified by tests.
Test CaseA test case is a documented set of preconditions, inputs, execution steps, and expected results designed to verify that a specific feature or behavior of the application works correctly.
Defect LifecycleThe defect lifecycle (also called the bug lifecycle) is the series of stages a defect passes through from initial discovery to final closure, typically including New, Assigned, Open, Fixed, Verified, and Closed.
Test OracleA test oracle is the mechanism a tester uses to determine whether the actual output of a system under test matches the expected output, effectively deciding whether a test has passed or failed.
Sanity TestingSanity testing is a targeted, narrow test pass performed after a specific bug fix or change to confirm that the affected functionality works correctly without testing the broader application.
Property-Based TestingProperty-based testing is an approach where the test framework automatically generates many input values to verify that a property (a general statement about correct behavior) holds true across all of them.
Pairwise TestingPairwise testing is a combinatorial test design technique that generates the minimum set of test cases needed to cover every possible combination of any two input parameters at least once.
Test AutomationTest automation is the practice of using software tools and scripts to execute tests, compare actual outcomes to expected outcomes, and report results — replacing or augmenting manual test execution.
End-to-End TestingEnd-to-end (E2E) testing validates complete user workflows from start to finish, simulating real user behavior across the entire application stack — frontend, backend, database, and external integrations.
Integration TestingIntegration testing verifies that individual software modules or components work correctly when combined, focusing on the interfaces and interactions between them rather than their internal logic.
Unit TestingUnit testing is the practice of testing individual units of code — typically functions, methods, or classes — in isolation from their dependencies to verify they produce correct outputs for given inputs.
Test-Driven Development (TDD)Test-driven development (TDD) is a software development methodology where tests are written before the production code, following a red-green-refactor cycle: write a failing test, write the minimum code to pass it, then refactor.
Automation
Page Object Model (POM)The Page Object Model (POM) is a design pattern in test automation where each web page or component is represented by a class that encapsulates its elements and interactions, separating test logic from UI details.
Test FixtureA test fixture is the fixed baseline state or environment used as a starting point for test execution, including setup logic that prepares the system and teardown logic that cleans up afterward.
Test HarnessA test harness is the collection of software, tools, and configuration that enables automated tests to execute, including the test runner, assertion libraries, reporting tools, and supporting infrastructure.
Data-Driven TestingData-driven testing is a test automation approach where the same test logic is executed multiple times with different input data sets, separating test data from test scripts.
Keyword-Driven TestingKeyword-driven testing is a test automation approach where test steps are represented as keywords (action words) in a table, abstracting the underlying automation code so that non-technical testers can design and maintain tests.
Mocking vs StubbingMocking and stubbing are both techniques for replacing real dependencies with test doubles, but stubs provide canned responses to calls while mocks additionally verify that specific interactions occurred.
Code CoverageCode coverage is a metric that measures which lines, branches, or paths of source code are executed by automated tests, typically expressed as a percentage and generated by instrumentation tools.
Mutation TestingMutation testing is a technique that evaluates the quality of a test suite by introducing small, deliberate changes (mutants) to the source code and checking whether the tests detect and fail on those changes.
PlaywrightPlaywright is an open-source browser automation framework developed by Microsoft that enables reliable end-to-end testing across Chromium, Firefox, and WebKit with a single API.
SeleniumSelenium is an open-source browser automation framework that uses the WebDriver protocol to control browsers programmatically, enabling automated testing of web applications across multiple browsers and programming languages.
CypressCypress is a JavaScript-based end-to-end testing framework that runs directly inside the browser, providing real-time reloading, automatic waiting, and a visual test runner for web application testing.
Strategy & Process
Shift-Left TestingShift-left testing is the practice of moving testing activities earlier in the software development lifecycle, catching defects during requirements, design, and development rather than after deployment.
Shift-Right TestingShift-right testing is the practice of extending testing activities into production and post-deployment phases, using monitoring, observability, and controlled rollouts to detect issues that pre-production testing cannot catch.
Test StrategyA test strategy is a high-level document that defines the testing approach, objectives, scope, types of testing, environments, tools, and risk mitigation for a project or organization.
Test PlanA test plan is a detailed document that describes the scope, approach, resources, schedule, and deliverables for testing a specific feature, release, or project.
Risk-Based TestingRisk-based testing is an approach that prioritizes testing efforts based on the probability of failure and the business impact of that failure, focusing resources on the highest-risk areas first.
Acceptance CriteriaAcceptance criteria are specific, testable conditions that a user story or feature must satisfy to be considered complete and accepted by the product owner.
Definition of DoneThe Definition of Done (DoD) is a shared checklist of quality conditions that every user story, feature, or increment must meet before it can be considered complete, covering aspects like testing, documentation, code review, and deployment readiness.
Quality GatesQuality gates are checkpoints in the software delivery process where predefined quality criteria must be met before work can proceed to the next stage, enforcing minimum standards at each phase.
Test Environment ManagementTest environment management is the practice of provisioning, configuring, maintaining, and monitoring the infrastructure where automated and manual tests execute, ensuring environments are consistent, available, and representative of production.
Mobile TestingMobile testing is the process of testing applications on mobile devices (smartphones and tablets) for functionality, usability, performance, security, and compatibility across different operating systems, screen sizes, and network conditions.
Security TestingSecurity testing is the process of identifying vulnerabilities, threats, and risks in a software application to ensure that data and resources are protected from potential attacks and unauthorized access.
Agile TestingAgile testing is a software testing approach that follows agile development principles — continuous testing throughout the sprint, collaboration between testers and developers, and fast feedback loops rather than a separate testing phase at the end.
DevOps & CI/CD
Continuous TestingContinuous testing is the practice of executing automated tests at every stage of the CI/CD pipeline, providing immediate feedback on the risk level of each code change as it moves toward production.
Test EnvironmentA test environment is the configured infrastructure (servers, databases, services, and network settings) where tests are executed, designed to simulate production conditions at the appropriate fidelity for each testing level.
Test Data ManagementTest data management is the practice of creating, maintaining, and governing the data used in testing, ensuring tests have reliable, realistic, and compliant data across all environments.
Canary DeploymentA canary deployment is a release strategy that rolls out changes to a small subset of users or servers first, monitors for issues, and gradually expands to the full user base only after confirming stability.
Blue-Green DeploymentBlue-green deployment is a release strategy that maintains two identical production environments (blue and green), deploys the new version to the inactive environment, and switches traffic from the active to the inactive environment once verification is complete.
Feature FlagsFeature flags (also called feature toggles) are conditional switches in code that allow teams to enable or disable features at runtime without deploying new code, supporting controlled rollouts, A/B testing, and quick rollback.
ObservabilityObservability is the ability to understand the internal state of a system from its external outputs, primarily through three pillars: structured logs, metrics (time-series data), and distributed traces.
TestOpsTestOps is the discipline of applying DevOps principles — automation, continuous delivery, infrastructure as code, and observability — specifically to the management, execution, and maintenance of test infrastructure and test pipelines.
Docker for TestingDocker for testing is the practice of using Docker containers to create isolated, reproducible, and disposable test environments that ensure tests run consistently across local machines, CI/CD pipelines, and team members.
GitHub Actions for TestingGitHub Actions for testing is the use of GitHub's built-in CI/CD platform to automatically run test suites on code changes — triggered by pushes, pull requests, or schedules — with support for parallel execution, artifacts, and environment management.
Specialized Testing
Contract TestingContract testing is a technique that verifies that two services (a consumer and a provider) can communicate correctly by testing each side independently against a shared contract that defines the expected request and response structure.
Chaos EngineeringChaos engineering is the discipline of deliberately injecting controlled failures into a system in production or pre-production to proactively discover weaknesses before they cause unplanned outages.
Performance BudgetA performance budget is a set of measurable limits on web performance metrics (such as page load time, bundle size, or Core Web Vitals) that a team commits to not exceeding, enforced through automated checks.
Accessibility TestingAccessibility testing is the practice of evaluating software to ensure it is usable by people with disabilities, including visual, auditory, motor, and cognitive impairments, typically measured against WCAG (Web Content Accessibility Guidelines) standards.
Visual Regression TestingVisual regression testing is the practice of capturing screenshots or visual snapshots of UI components or pages and comparing them against approved baselines to detect unintended visual changes.
API TestingAPI testing is the practice of verifying that application programming interfaces work correctly by sending requests directly to endpoints and validating responses for functionality, reliability, performance, and security.
Load TestingLoad testing is the practice of simulating expected or peak user traffic against a system to verify that it meets performance requirements (response time, throughput, error rate) under realistic load conditions.
Shadow TestingShadow testing is the practice of routing real production traffic to both the existing system and a new version simultaneously, comparing their outputs without the new version affecting the user experience.
Observability TestingObservability testing is the practice of verifying that a system produces sufficient, accurate, and actionable telemetry (logs, metrics, and traces) to enable engineers to understand its internal state and diagnose problems in production.
Database TestingDatabase testing is the practice of verifying that data stored in databases is accurate, consistent, and complete — checking schema structure, data integrity constraints, CRUD operations, stored procedures, and migration scripts.
Cross-Browser TestingCross-browser testing is the practice of verifying that a web application works correctly and looks consistent across different browsers (Chrome, Firefox, Safari, Edge), browser versions, and operating systems.
More Interview Prep Resources
Explore our role-specific interview prep guides.
Ready to Ace Your QA Interview?
Practice with AI that asks real questions about the concepts that matter.
Join 1,200+ QA engineers already practicing with AssertHired.
Start Your Free QA InterviewFree to start · 7-day trial on paid plans
Written by Aston Cook, Senior QA EngineerLast updated: March 2026