Certified Tester Foundation Level Glossary

Definitions and pro-tips for the CTFL-v4.0 certification.

C

Checklist-based Review

A review technique where reviewers use a list of predefined questions or criteria to systematically guide their evaluation of a work product.

Checklist-Based Testing

An experience-based test technique in which the experienced tester uses a high-level list of items to be noted, checked, or remembered, or a set of rules or criteria against which a product has to be verified.

Component Testing

Component Testing, also known as unit testing, focuses on individual software modules or components that are independently testable. It primarily aims to verify functional behavior, performance, and robustness at the lowest level.

Condition (Decision Table)

A Condition in a decision table represents an input or a specific state of the software that affects its behavior. Conditions are typically listed in the top half of the table and evaluated as True or False.

Configuration Management

Configuration Management ensures the integrity of the testware and software under test by controlling changes and maintaining versions. It allows testers to know exactly which version of the software is being tested with which version of test scripts.

Confirmation Bias

Confirmation bias is the psychological tendency to search for, interpret, favor, and recall information in a way that confirms one's preexisting beliefs or hypotheses. In testing, developers may subconsciously test their code only to show it works, rather than trying to break it.

Confirmation Testing

Confirmation Testing, or re-testing, is performed after a defect has been fixed to ensure the original issue is resolved. It executes the test cases that previously failed due to the defect.

Continuous Integration (CI)

Continuous Integration is a development practice where code changes are automatically built, integrated, and tested frequently. CI tools orchestrate these pipelines to provide immediate feedback on code quality and integration issues.

Control Flow Graph

A visual representation of all paths that might be traversed through a program during its execution. Nodes represent statements or blocks of statements, and edges represent the control flow.

D

Data-Driven Testing

Data-Driven Testing is a scripting technique that stores test inputs and expected results in an external data source, such as a spreadsheet or database. A single test script iterates through this data to execute the same scenario with multiple values.

Debugging

Debugging is the process of finding, analyzing, and removing the causes of failures in software. Unlike testing, which focuses on showing that failures exist, debugging is performed by developers to fix the underlying defects.

Decision Table Testing

Decision Table Testing is a black-box test technique used to test systems with complex business rules. It involves creating a table that captures all possible combinations of conditions and their corresponding expected actions.

Defect (Bug)

A defect is an imperfection or deficiency in a work product where it does not meet its requirements or specifications. If executed, a defect may cause a failure in the system.

Defect (Fault/Bug)

An imperfection or deficiency in a work product where it does not meet its requirements or specifications. A defect, if executed, may cause a failure.

Defect Clustering

Defect clustering is the principle that a small number of modules usually contain most of the defects discovered during pre-release testing, or are responsible for the majority of operational failures. This is an application of the Pareto principle (80/20 rule) to software testing.

Defect Density

Defect Density is a metric calculated by dividing the total number of defects by the size of the software component or system. It is used to identify unreliable components and guide targeted testing.

Defect Management

Defect Management is the systematic process of recognizing, recording, classifying, investigating, and resolving defects. It ensures that identified issues are tracked from discovery to closure.

Defect Management Tool

A Defect Management Tool tracks the lifecycle of anomalies or bugs from discovery to resolution. It facilitates workflow routing, status reporting, and communication between developers and testers.

Defect Report

A Defect Report is a formal document detailing a discovered flaw, designed to provide developers with enough information to reproduce and fix the issue. It includes steps to reproduce, expected results, and actual results.

Defect Triage

Defect Triage is the process of reviewing, prioritizing, and assigning newly reported defects. A triage committee evaluates the severity and impact of defects to decide which ones should be fixed and when.

Dynamic Testing

Dynamic Testing is the process of evaluating a component or system by executing its software code. It requires the software to be compiled and run to observe its behavior and compare it against expected results.

E

Entry Criteria

Entry Criteria are the set of conditions for officially starting a defined task. They ensure that testing does not begin before the necessary prerequisites, such as a stable test environment and available test data, are met.

Equivalence Partitioning (EP)

Equivalence Partitioning (EP) is a black-box test technique that divides input data into classes expected to be treated similarly by the software. Test cases are designed to execute at least one representative value from each partition.

Error (Mistake)

A human action that produces an incorrect result. Errors often occur due to time pressure, complex code, misunderstanding of requirements, or fatigue.

Error Guessing

A test technique in which tests are derived on the basis of the tester's knowledge of past failures, or general knowledge of software failure modes. Testers anticipate errors, defects, and failures based on their experience.

Event

An Event is an occurrence that causes a system to evaluate a transition and potentially change its state. Events are the inputs or triggers in state transition models.

Exhaustive Testing

Exhaustive testing is a testing approach in which all possible combinations of inputs and preconditions are tested. According to the principles of testing, exhaustive testing is impossible except for trivial cases.

Exit Criteria

Exit Criteria are the set of conditions for officially completing a defined task. In testing, they determine when to stop testing activities, such as when a certain level of coverage is achieved or all critical defects are resolved.

Experience-Based Testing Technique

A test technique where the tester's knowledge, skills, and intuition play a central role in designing and executing tests. It often complements black-box and white-box techniques.

Exploratory Testing

An approach to testing where the tester dynamically designs and executes tests based on their knowledge, exploration of the test item, and the results of previous tests. Test design, execution, and learning happen simultaneously.

I

Impact Analysis

Impact Analysis is the process of evaluating changes to identify the parts of a system that could be unintentionally affected. It helps determine the appropriate scope of regression testing required after a modification.

Incremental Development Model

An Incremental Development Model is a lifecycle approach where the software is built and delivered in distinct, usable pieces called increments. Each increment adds new functionality to the system, allowing for partial deployment of the product before it is entirely finished.

Informal Review

A widely used type of review that is not based on a formal procedure. It typically does not require a documented review process or formal roles.

Inspection

The most formal type of review, characterized by documented procedures, strict roles, metrics collection, and a formal entry and exit criteria. It is led by a trained moderator.

Integration Testing

Integration Testing evaluates the interactions and interfaces between integrated components or systems. It is divided into component integration testing and system integration testing.

Invalid Equivalence Class

An Invalid Equivalence Class is a partition containing values that should be rejected by the component or system. Testing these ensures the software handles errors gracefully and prevents malformed data processing.

Invalid Transition

An Invalid Transition is an attempted state change triggered by an event that is not allowed or not defined from the current state. Testing invalid transitions helps ensure the system handles unexpected inputs gracefully.

Iterative Development Model

An Iterative Development Model is an approach where the software is developed in a series of repeated cycles or iterations. Each iteration involves a complete development loop, resulting in a refined and expanded version of the software until the final product is achieved.

S

Scribe

A participant in a formal review who is responsible for recording anomalies, open points, and decisions made during the meeting. Also known as a recorder.

Sequential Development Model

A Sequential Development Model is an SDLC approach where each phase of the development process must be completed before the next one begins. The V-model and Waterfall model are classic examples, characterized by their linear progression and distinct, non-overlapping stages.

Software Development Lifecycle (SDLC)

The Software Development Lifecycle (SDLC) is a conceptual framework describing all activities in a software development project from initial planning to retirement. It provides structure to the development process by defining phases such as requirements analysis, design, coding, testing, and deployment.

State

A State is a recognizable condition or mode that a system, component, or object remains in while waiting for an event to occur. The system's response to an event depends heavily on its current state.

State Transition Testing

State Transition Testing is a black-box test technique based on a state machine model. It verifies that a system correctly transitions from one state to another when triggered by specific events and guard conditions.

Statement Coverage

The percentage of executable statements in the source code that have been exercised by a test suite. It is calculated by dividing the number of executed statements by the total number of executable statements.

Statement Testing

A white-box test technique in which test cases are designed to execute specific statements in the source code. The goal is typically to increase statement coverage.

Static Analysis Tool

A Static Analysis Tool evaluates source code or models without executing the software. It identifies defects such as syntax violations, security vulnerabilities, and non-conformance to coding standards early in the development lifecycle.

Static Testing

Testing of a software work product without executing the code. This typically involves manual reviews or automated static analysis to find defects early in the software development lifecycle.

System Testing

System Testing evaluates the behavior and capabilities of a complete, integrated system against its specified requirements. It takes an end-to-end perspective, simulating real-world scenarios and environments.

T

Technical Review

A peer review led by a trained moderator or technical expert to evaluate a product against technical specifications. The primary goal is achieving consensus on the technical approach.

Test Basis

The Test Basis is the body of knowledge or documentation used as the foundation for test analysis and design. It includes any information, such as requirements specifications, architecture diagrams, or user stories, from which test cases and test conditions are derived.

Test Control

Test Control involves taking corrective actions when test monitoring indicates that testing is deviating from the test plan. This can include reprioritizing tests, adjusting schedules, or adding resources.

Test Estimation

Test Estimation is the calculated approximation of a result related to various aspects of testing, such as effort, time, and cost. It involves predicting the resources required to execute a test plan based on metrics or expert judgment.

Test Execution Tool

A Test Execution Tool executes test scripts automatically, comparing actual results against expected results. These tools often utilize capture/playback features, though programmatic scripting is preferred for maintainability.

Test Management Tool

A Test Management Tool provides support to the test management and control part of a test process. It often encompasses testware management, scheduling, defect tracking, and reporting capabilities.

Test Metric

A Test Metric is a quantitative measurement used to assess the efficiency, effectiveness, or progress of testing activities. Examples include test case execution rate, defect discovery rate, and test coverage.

Test Monitoring

Test Monitoring is the continuous activity of gathering and evaluating test metrics to track progress against the test plan. It provides visibility into testing activities and enables informed decision-making.

Test Objective

The reason or purpose for designing and executing a test. Objectives vary based on the context, such as finding defects, building confidence, or providing information for decision-making.

Test Plan

A Test Plan is documentation describing the test objectives to be achieved and the means and schedule for achieving them. It guides testing activities and communicates the scope, approach, resources, and schedule of intended test activities.

Test Progress Report

A Test Progress Report is generated at regular intervals during testing to communicate current status, metrics, and deviations from the plan. It helps stakeholders understand the ongoing health of the test effort.

Test Strategy

A Test Strategy is a generalized description of the test process, usually at the organizational or program level. It defines how testing is performed and sets the standards for test processes across multiple projects.

Test Summary Report

A Test Summary Report is created at the end of a test level or project to evaluate whether exit criteria were met. It summarizes the testing activities, defect data, and lessons learned.

Testing

Testing is the process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation, and evaluation of a component or system. Its goal is to determine that the software satisfies specified requirements, demonstrate that it is fit for purpose, and detect defects.

Transition

A Transition is a change from one state to another (or back to the same state) triggered by an event. It defines the allowed paths a system can take through its lifecycle.