ISTQB CTAL-TTA study materials
ISTQB CTAL-TTA study resources

ISTQB CTAL-TTA key terms

ISTQB CTAL-TTA · Get comfortable with the vocabulary.

Risk-based testing

A testing approach in which the identification, analysis and prioritisation of product risks guides test planning, design, execution and reporting, so effort concentrates where failure would hurt most.

Related: Product risk, Risk level, Risk mitigation
Product risk

The likelihood that a software product or system will suffer a failure-related harm, such as defects causing financial loss, safety issues, poor user experience or damage to reputation.

Related: Risk-based testing, Risk analysis, Risk level
Project risk

A risk affecting the management and control of a project, such as staffing shortages, unrealistic schedules, budget cuts or supplier delays, rather than the quality of the delivered product itself.

Related: Product risk, Risk analysis
Risk analysis

The activity of identifying risks and assessing each one's likelihood and impact, often using a matrix or scoring scheme, to determine its level and inform test prioritisation.

Related: Risk level, Risk identification, Risk-based testing
Risk level

The combined rating of a risk derived from its likelihood and impact, used to rank risks and decide how much and what kind of testing each area should receive.

Related: Risk analysis, Risk-based testing, Risk mitigation
Risk identification

The first step of risk analysis in which stakeholders, testers and developers brainstorm and collect potential product and project risks from requirements, architecture, past defects and domain knowledge.

Related: Risk analysis, Product risk
Risk mitigation

Actions taken to reduce either the likelihood or the impact of a risk, such as adding reviews, increasing test coverage, introducing redundancy or deferring a risky feature.

Related: Risk level, Risk-based testing
Risk register

A maintained record listing identified risks with their ratings, owners, mitigation actions and status, used to track and communicate risk throughout the project lifecycle.

Related: Risk analysis, Risk mitigation
Risk-based test prioritisation

Ordering test conditions, cases or suites so that higher-risk areas are tested earlier and more thoroughly, ensuring that if time runs out the most important coverage is already done.

Related: Risk level, Risk-based testing
Statement coverage

A white-box metric measuring the percentage of executable statements exercised by a test suite; it is weaker than decision coverage because it ignores untested branches.

Related: Decision coverage, Branch coverage, Code coverage
Decision coverage

A white-box metric requiring each decision (such as an if condition) to evaluate to both true and false at least once; it subsumes statement coverage and is also called branch coverage.

Related: Statement coverage, Branch coverage, Condition coverage
Branch coverage

Coverage requiring every possible transfer of control out of a decision point to be taken at least once; in most code it is equivalent to decision coverage.

Related: Decision coverage, Statement coverage
Condition coverage

A white-box metric requiring each individual boolean sub-expression in a compound decision to take both true and false values at least once, without guaranteeing the decision itself takes both outcomes.

Related: Decision condition coverage, Multiple condition coverage, Decision coverage
Decision condition coverage

A metric requiring both decision coverage and condition coverage to be achieved, so every decision takes both outcomes and every atomic condition takes both values.

Related: Condition coverage, Multiple condition coverage
Multiple condition coverage

A rigorous metric requiring every possible combination of truth values for the atomic conditions within each decision to be tested at least once, giving the strongest of the common condition metrics.

Related: Condition coverage, Decision condition coverage
Modified condition decision coverage

A metric requiring that each atomic condition be shown to independently affect the decision outcome, achieved by holding other conditions fixed while flipping the condition under test.

Related: Condition coverage, Multiple condition coverage, Decision coverage
Code coverage

The general measure of how much of a program's structure has been exercised by tests, expressed through metrics such as statement, decision, condition or path coverage.

Related: Statement coverage, Coverage tool
Control flow graph

A directed graph representing a program's possible execution paths, with nodes for basic blocks and edges for transfers of control, used to derive coverage and complexity measures.

Related: Cyclomatic complexity, Basis path testing
Cyclomatic complexity

A structural metric counting the number of linearly independent paths through a program, calculated as edges minus nodes plus two for a control flow graph; it indicates test effort and maintainability.

Related: Control flow graph, Basis path testing
Basis path testing

A white-box technique that uses cyclomatic complexity to select a set of linearly independent paths through the code so that each path introduces at least one new edge.

Related: Cyclomatic complexity, Control flow graph
Data flow testing

A white-box technique that examines where variables are defined and used, looking for anomalies such as define-use paths that are never exercised or uses before definitions.

Related: Control flow graph, Code coverage
Static analysis

Examination of source code, models or other artefacts without executing them, typically by tools that detect coding standard violations, suspicious patterns, unreachable code or potential security flaws.

Related: Static analysis tool, Dynamic analysis
Static analysis tool

A tool that parses code or models and reports issues such as complexity hotspots, unused variables, null dereferences or rule violations, often integrated into build pipelines for early feedback.

Related: Static analysis, Code review
Dynamic analysis

Analysis performed while the software executes, using instrumentation to observe runtime behaviour such as memory use, thread activity, pointer errors or performance bottlenecks.

Related: Static analysis, Runtime error detection
Runtime error detection

A dynamic analysis activity in which instrumented code or tools detect defects during execution, for example memory leaks, buffer overflows, uninitialised variables or race conditions.

Related: Dynamic analysis, Memory leak detection
Memory leak detection

A dynamic analysis technique that monitors allocation and release of memory during execution to find blocks that are no longer reachable but never freed, which can degrade or crash long-running systems.

Related: Runtime error detection, Dynamic analysis
Code review

A systematic manual examination of source code by one or more people to find defects, improve maintainability and check adherence to standards, often supported by static analysis findings.

Related: Static analysis, Static analysis tool
Non-functional testing

Testing of quality attributes other than functional behaviour, such as performance, security, usability, reliability and portability, verifying how well the system behaves rather than what it does.

Related: Performance testing, Load testing, Usability testing
Performance testing

Testing to determine how a system's responsiveness, throughput and resource use behave under specified conditions, covering load, stress, spike and endurance variants.

Related: Load testing, Stress testing, Endurance testing
Load testing

Performance testing that exercises the system at or near expected peak workload levels to verify it meets response time and throughput requirements under realistic demand.

Related: Performance testing, Stress testing, Scalability testing
Stress testing

Performance testing that pushes the system beyond expected limits to find the point of failure and observe how it degrades and recovers, revealing robustness problems.

Related: Load testing, Endurance testing, Performance testing
Endurance testing

Performance testing that sustains a typical or elevated load over a long period to expose problems such as memory leaks, resource exhaustion or gradual degradation.

Related: Load testing, Memory leak detection, Performance testing
Usability testing

Evaluating how effectively, efficiently and satisfactorily users can achieve goals with the product, often through observation of representative users performing realistic tasks.

Related: Non-functional testing
Test automation

The use of tools and scripts to execute tests, compare actual and expected results, and report outcomes, with the aim of repeatability, speed and freeing testers for higher-value work.

Related: Test automation framework, Test harness, Return on investment
Test automation framework

An organised set of guidelines, libraries, abstractions and tooling that structures automated tests, supporting maintainability and reuse; common types include data-driven, keyword-driven and behaviour-driven.

Related: Test automation, Test harness, Page object pattern
Test harness

The collection of tools, drivers, stubs and scripts that support automated test execution, including the means to invoke the system under test and capture its outputs.

Related: Test automation framework, Test automation, Stub
Page object pattern

A design pattern in UI automation where each page or screen is represented by a class encapsulating its elements and actions, reducing duplication and making tests resilient to interface changes.

Related: Test automation framework, Test automation
Return on investment

The comparison of benefits gained from automation, such as reduced execution time and earlier defect detection, against its costs, including tooling, scripting and maintenance effort.

Related: Test automation, Test automation framework
Stub

A simplified stand-in for a called component that returns fixed or predefined responses, used in test harnesses to isolate the component under test when the real dependency is unavailable or unsuitable.

Related: Test harness, Test automation