SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
Managing the Test Activities

ISTQB CTFL Test Planning: Test Plans, Entry/Exit Criteria, Estimation and Prioritization

16 min readCTFL · Managing the Test ActivitiesUpdated

Test planning is the activity of defining the test objectives and the means and schedule for achieving them, recorded in a test plan. This CTFL lesson covers the purpose and content of a test plan, how testers contribute to release and iteration planning, the difference between entry and exit criteria (including the Definition of Ready and Definition of Done), the four test estimation techniques with worked calculations, test case prioritization including additional coverage and dependencies, the test pyramid and the testing quadrants.

What you’ll learn
  • Explain the purpose of a test plan and list its typical content, including what belongs in the test approach
  • Recognize how testers add value to release planning and to iteration planning
  • Compare entry criteria and exit criteria, classify examples of each, and relate them to the Definition of Ready and Definition of Done
  • Calculate test effort with estimation based on ratios, extrapolation and three-point estimation, and recognize Wideband Delphi
  • Order test cases by risk-based, coverage-based, additional coverage and requirements-based prioritization, allowing for dependencies and resource availability
  • Recall the concepts of the test pyramid
  • Summarize the four testing quadrants and place test levels and test types in them

What is a test plan and what is it for?

A test plan is a document that describes the objectives, resources and processes for a test project: it records the means and schedule for achieving the test objectives. It is a forward-looking document — it says how and when testing will be done, not what testing has already happened.

A test plan serves three purposes:

  • Documents the means and schedule for achieving the test objectives.
  • Helps ensure that the test activities performed will meet the established criteria.
  • Communicates with team members and other stakeholders.

It also demonstrates that testing will adhere to the organization's existing test policy and test strategy — or explains why it deviates from them. The plan works within the test strategy; it does not replace it.

The planning activity has value beyond the document it produces. Planning guides testers' thinking and forces them to confront future challenges related to risks, schedules, people, tools, costs and effort before those challenges arrive. Planning is also not a one-off: the plan is refined as the project progresses and feedback comes in from monitoring and control.

Work productWhat it describesWhen it is produced
Test planHow and when the test objectives will be met (means, schedule, approach)Test planning
Test cases and test proceduresInput values, expected results and execution steps for individual testsTest design and test implementation
Test progress reportProgress of ongoing testing against the planTest monitoring and control
Test completion reportSummary of the testing performed and residual risksTest completion

Progress and completion reporting are covered in the Test Monitoring, Test Control and Test Completion lesson.

What does a test plan typically contain?

A typical test plan covers the context of testing, the people and risks involved, the test approach, and the budget and schedule. The CTFL syllabus lists this content:

  • Context of testing — scope, test objectives, constraints and test basis.
  • Assumptions and constraints of the test project.
  • Stakeholders — roles, responsibilities, relevance to testing, and hiring and training needs.
  • Communication — forms and frequency of communication, documentation templates.
  • Risk register — product risks and project risks.
  • Test approach — see below.
  • Budget and schedule.

The test approach is the part most often confused with the others. It contains the:

  • test levels and test types
  • test techniques
  • test deliverables
  • entry criteria and exit criteria
  • independence of testing
  • metrics to be collected
  • test data requirements and test environment requirements
  • deviations from the organizational test policy and test strategy

What a test plan does not contain is the detail of individual tests — specific input values, expected results and step-by-step procedures are testware created later, during test design and implementation. A useful check: if an item describes how testing will be organized, it belongs in the plan; if it describes exactly what one test does, it does not.

Scope and objectives sit in the context section, not the approach; risks themselves sit in the risk register (how risks are identified and assessed is taught in the Risk Management lesson).

How does a tester add value to release and iteration planning?

In iterative SDLCs there are two kinds of planning — release planning and iteration planning — and testers contribute to both, but at different levels of detail.

Release planning looks ahead to the release of a product, defines and re-defines the product backlog, and may involve refining larger user stories into smaller ones. It also serves as the basis for the test approach and test plan across all iterations. Testers involved in release planning:

  • participate in writing testable user stories and acceptance criteria
  • participate in project and quality risk analyses
  • estimate test effort associated with user stories
  • determine the test approach
  • plan the testing for the release

Iteration planning looks ahead to the end of a single iteration and is concerned with the iteration backlog. Testers involved in iteration planning:

  • participate in the detailed risk analysis of user stories
  • determine the testability of user stories
  • break down user stories into tasks (particularly testing tasks)
  • estimate test effort for all testing tasks
  • identify and refine functional and non-functional aspects of the test object
Release planningIteration planning
HorizonThe whole releaseOne iteration
BacklogProduct backlogIteration backlog
Risk workProject and quality risk analysesDetailed risk analysis of individual stories
EstimationTest effort for user storiesTest effort for every testing task
Typical tester outputTest approach and release test plan; testable stories and acceptance criteriaTesting tasks, testability checks, refined functional and non-functional aspects

What is the difference between entry criteria and exit criteria?

Entry criteria define the preconditions for undertaking an activity; exit criteria define what must be achieved to declare an activity completed. In short: entry answers "can we start?", exit answers "are we done?". Both are part of the test approach, are defined for each test level, and differ according to the test objectives.

Entry criteriaExit criteria
Question answeredAre the preconditions in place to start?Has enough been achieved to stop?
Typical examplesAvailability of resources (people, tools, environments, test data, budget, time); availability of testware (test basis, testable requirements, user stories, test cases); initial quality of the test object (e.g. all smoke tests passed)Measures of thoroughness (achieved coverage, number of unresolved defects, defect density, number of failed test cases); completion criteria (planned tests executed, static testing performed, all defects found are reported, all regression tests automated)
If not metThe activity is likely to be more difficult, time-consuming, costly and riskyThe activity is not complete — unless stakeholders accept the risk of stopping (see below)
Agile nameDefinition of Ready (for a user story)Definition of Done

A quick classification rule: a criterion that is about having what you need (environments, data, tools, a stable build that passed smoke tests, a baselined test basis) is an entry criterion. A criterion that is about results achieved (coverage reached, defects resolved, defect density below a threshold, regression tests automated) is an exit criterion.

Starting an activity without meeting its entry criteria does not save time: the activity is likely to become more difficult, time-consuming, costly and risky.

Can testing stop before the exit criteria are met?

Yes — running out of time or budget can be a valid exit criterion, but only if the stakeholders have reviewed and accepted the risk of going live without further testing. That decision is what makes the early stop legitimate.

The key point is who decides: accepting the residual risk of stopping early is a stakeholder decision, taken openly with the facts about what has and has not been tested. The exit criteria themselves stay as planned; the stakeholders' informed acceptance of the risk is what allows the activity to end.

In Agile software development, exit criteria are often called the Definition of Done, which defines the team's objective metrics for a releasable item. Entry criteria that a user story must fulfil to start development and/or testing are called the Definition of Ready. Acceptance criteria are different again: they describe the conditions a particular story's implementation must satisfy to be accepted, rather than the team-wide start or finish conditions.

Which test estimation techniques does CTFL cover?

Test effort estimation predicts the amount of test-related work needed to meet the objectives of a test project. Estimates are always based on assumptions and are subject to estimation error; estimating small tasks is usually more accurate than estimating large ones, so a large task can be decomposed into smaller tasks that are estimated individually. CTFL covers four techniques, two metrics-based and two expert-based.

TechniqueTypeData usedHow it works
Estimation based on ratiosMetrics-basedThe organization's own previous projectsStandard ratios (e.g. development-to-test effort) from similar past projects are applied to the new project
ExtrapolationMetrics-basedMeasurements from early in the current projectOnce enough data exists, a model (e.g. the average of the last iterations) predicts remaining effort; very suitable in iterative SDLCs
Wideband DelphiExpert-basedExperts' experienceExperts estimate in isolation; results outside agreed boundaries are discussed; each re-estimates in isolation until consensus. Planning Poker is a variant
Three-point estimationExpert-basedExperts' optimistic, most likely and pessimistic estimatesA weighted mean of the three, with a measurement error

Ratios work best when they come from the organization's own historical data for similar projects — that is generally the best source, because it reflects the organization's own processes.

Planning Poker, common in Agile teams, is a Wideband Delphi variant: each team member privately picks a numbered card, the cards are revealed together, large differences are discussed, and the team estimates again until it converges. The defining pattern is independent estimates, discussion of outliers, and repeated rounds.

How do you calculate ratio, extrapolation and three-point estimates?

Each technique reduces to simple arithmetic once you know what data it uses.

Estimation based on ratios

If past projects had a development-to-test effort ratio of D:T, then test effort = development effort × T / D. Example: a ratio of 4:1 and development effort of 600 person-days give 600 × 1 / 4 = 150 person-days of test effort. Check the direction of the ratio: test effort is the smaller share here, so the result must be smaller than the development effort.

Extrapolation

Measure the current project and apply the model the team has chosen. If the last three iterations took 30, 36 and 33 person-hours and the model is "average of the last three", the next iteration is estimated at (30 + 36 + 33) / 3 = 33 person-hours. Always apply the model the stem or the team states.

Three-point estimation

Experts give three estimates: the most optimistic (a), the most likely (m) and the most pessimistic (b). In its most popular form, the final estimate E is their weighted arithmetic mean, with the most likely value weighted four times:

E  = (a + 4m + b) / 6
SD = (b - a) / 6
result = E ± SD

Example: a = 6, m = 9, b = 24 person-days. E = (6 + 36 + 24) / 6 = 66 / 6 = 11. SD = (24 − 6) / 6 = 3. The result is 11 ± 3 person-days, i.e. between 8 and 14 person-days.

Remember that both values use a divisor of six, and that the answer is the estimate together with its measurement error: E is the centre of the range and SD its half-width.

How should test cases be prioritized?

Test case prioritization decides the order in which test cases are executed so that the most important tests run first. CTFL names three common strategies:

StrategyExecution order is based onWho or what sets it
Risk-based prioritizationThe results of risk analysis — tests covering the most important risks run firstRisk levels (likelihood and impact)
Coverage-based prioritizationCoverage (e.g. statement coverage) — tests achieving the highest coverage run firstMeasured coverage
Requirements-based prioritizationThe priorities of the requirements traced back to the test casesStakeholders (e.g. a product owner ranking user stories)

Recognizing the strategy from a description is mostly a matter of finding what the order is derived from. Ordering by likelihood and impact is risk-based, because those are the two factors of a risk level (how risk levels are assessed is covered in the Risk Management lesson). Ordering by stakeholder-assigned priorities of requirements or user stories, with tests traced to them, is requirements-based. Ordering by coverage figures is coverage-based.

Additional coverage prioritization

A variant of coverage-based prioritization: the test with the highest coverage runs first, and each subsequent test is the one that adds the most coverage not yet achieved. It is not the same as ordering by total coverage.

Worked example — statements 1–8. T1 covers 1–5; T2 covers 1, 2, 6; T3 covers 6, 7, 8; T4 covers 2, 3, 4, 8.

  1. First: T1 (5 statements, the highest).
  2. Uncovered now: 6, 7, 8. T2 adds 1 (6), T3 adds 3 (6, 7, 8), T4 adds 1 (8). Next: T3, even though T4 has the larger total.
  3. Everything is covered; T2 and T4 add nothing, so they follow in any order (ties are broken by another rule, such as total coverage).

Ordering by total coverage instead would put T4 (4 statements) second although it adds only one new statement — a different and less efficient sequence.

When do dependencies and resources override priority order?

Priority sets the default execution order, but it is not absolute: if a higher-priority test case depends on a lower-priority one, the lower-priority test case must be executed first, and the order must also take into account the availability of resources such as tools, environments or people that may only be available in a specific time window.

Applying this is a two-step process:

  1. Place the constrained tests. A test that can only run in a particular slot (because its lab, device or specialist is only available then) goes in that slot, whatever its priority. A test that a higher-priority test depends on (for example, one that creates the data or state the other needs) goes before it.
  2. Fill the rest by priority. All remaining tests follow their priority order.

Example (priority 1 = highest), five tests in five slots. R-1 has priority 1 and needs test data created by R-3 (priority 3). R-2 has priority 2 and R-4 has priority 4. R-5 has priority 5 but needs a security specialist who is available only in the third slot. Step 1 fixes R-5 in slot 3 and puts R-3 before R-1. Step 2 fills the free slots by priority, respecting that dependency: R-3 (slot 1), R-1 (slot 2), R-5 (slot 3), R-2 (slot 4), R-4 (slot 5). Pure priority order (R-1, R-2, R-3, R-4, R-5) fails twice: R-1 would run before its test data exists, and R-5 would miss the specialist's slot.

What is the test pyramid?

The test pyramid is a model showing that different tests may have different granularity: the lower the layer, the smaller, more isolated and faster the tests, and the more of them are needed; the higher the layer, the more complex, end-to-end and slower the tests, and the fewer of them are needed. It supports the team in test automation and in test effort allocation.

Bottom layersTop layers
Test size and scopeSmall, isolated; check a small piece of functionalityComplex, high-level, end-to-end; check a large piece of functionality
SpeedFastSlow
Number of testsMany — a lot are needed for reasonable coverageFew

The number and naming of the layers vary. The original model has three layers — unit tests, service tests and UI tests; another popular model uses unit (component) tests, integration (component integration) tests and end-to-end tests. Other test levels can also be used.

The pyramid is a guide to where automation effort should go. A suite dominated by slow end-to-end UI tests with few unit tests is effectively inverted; the pyramid points towards growing the base of component tests and keeping the end-to-end layer thin.

What are the testing quadrants?

The testing quadrants, defined by Brian Marick and used in Agile software development, group test levels and test types along two dimensions so that all appropriate types of testing are considered and the differences between them can be explained to stakeholders. In this model tests can be business-facing or technology-facing, and they can support the team (guide development) or critique the product (measure its behaviour against expectations).

QuadrantOrientationTypical testsExecution
Q1Technology-facing, supports the teamComponent tests and component integration testsShould be automated and included in the continuous integration (CI) process
Q2Business-facing, supports the teamFunctional tests, examples, user story tests, user experience prototypes, API testing, simulationsCheck acceptance criteria; manual or automated
Q3Business-facing, critiques the productExploratory testing, usability testing, user acceptance testingUser-oriented and often manual
Q4Technology-facing, critiques the productSmoke tests and non-functional tests (except usability tests)Often automated

The point most easily confused is usability. Usability is a non-functional quality characteristic, yet usability testing sits in Q3, with exploratory and user acceptance testing, because it is user-oriented and critiques the product from the business side. All other non-functional testing, such as performance and security testing, sits in Q4.

A practical way to place a test is to ask two questions: is it expressed in terms the business understands, or in technical terms? And does it help the team build the product right as it goes, or does it evaluate the finished behaviour? The test levels and test types themselves are explained in the test levels and test types lesson of the SDLC domain.

Tip. Test planning is tested at three levels. Recall items ask about tester contributions to release versus iteration planning, the Definition of Ready and Definition of Done, and the shape of the test pyramid. Understanding items ask for the purpose of a test plan, which content belongs in it (and in the test approach in particular), whether a criterion is an entry or an exit criterion, what happens when entry criteria are skipped or time runs out before exit criteria are met, which estimation technique a description shows, and where a test type sits in the testing quadrants — with usability as the usual trap. Application items are worked problems with every value in the stem: a ratio estimate, an extrapolated average, a three-point estimate with or without its measurement error, an additional-coverage execution order, and an execution order that must respect dependencies and resource windows. Many stems use ISTQB qualifiers such as BEST, MOST, NOT and CORRECT.

Key takeaways
  • A test plan documents the means and schedule for achieving the test objectives and communicates them; reports describe testing already done.
  • The test approach holds test levels and types, techniques, deliverables, entry/exit criteria, independence, metrics, test data and environment needs, and deviations from policy or strategy.
  • Release planning: testable stories and acceptance criteria, project and quality risk analyses, test approach and release test plan. Iteration planning: detailed story risk analysis, testability, testing tasks and their estimates.
  • Entry criteria are preconditions to start; exit criteria are what must be achieved to finish. Skipping entry criteria makes testing more difficult, time-consuming, costly and risky.
  • Running out of time or budget is a valid exit only when stakeholders have reviewed and accepted the risk.
  • Agile: Definition of Ready = entry criteria for a user story; Definition of Done = exit criteria for a releasable item.
  • Ratios use the organization's own past projects; extrapolation uses the current project's early data; Wideband Delphi (and Planning Poker) iterates expert estimates to consensus.
  • Three-point estimation: E = (a + 4m + b) / 6, SD = (b − a) / 6, result E ± SD.
  • Additional coverage prioritization picks each next test by the new coverage it adds; dependencies and resource windows can override priority order.
  • Test pyramid: many small, fast, isolated tests at the bottom, few slow end-to-end tests at the top. Quadrants: Q1 component, Q2 functional/story, Q3 exploratory/usability/UAT, Q4 smoke and non-functional except usability.

Frequently asked questions

What is the purpose of a test plan in ISTQB CTFL?

A test plan describes the objectives, resources and processes for a test project. It documents the means and schedule for achieving the test objectives, helps ensure the test activities meet the established criteria, communicates with the team and other stakeholders, and shows adherence to (or deviation from) the organization's test policy and test strategy.

What is the difference between entry criteria and exit criteria?

Entry criteria are the preconditions for starting an activity, such as available environments, test data, testware and a test object that has passed smoke tests. Exit criteria define what must be achieved to declare the activity complete, such as achieved coverage, the number of unresolved defects, defect density and planned tests executed. Both are defined for each test level.

Can testing end when time or budget runs out?

Yes, running out of time or budget can be a valid exit criterion, but only when the stakeholders have reviewed and accepted the risk of going live without further testing. That informed risk acceptance is a stakeholder decision.

What are the Definition of Ready and the Definition of Done?

In Agile software development, the Definition of Ready is the set of entry criteria a user story must meet before development and/or testing of it starts. The Definition of Done is the set of exit criteria — the team's objective metrics for a releasable item.

How is three-point estimation calculated?

Experts give an optimistic (a), most likely (m) and pessimistic (b) estimate. In its most popular form, the estimate is the weighted mean E = (a + 4m + b) / 6 and the measurement error is SD = (b − a) / 6, so the result is E ± SD. For a = 6, m = 9 and b = 24, E = 11 and SD = 3, giving 11 ± 3.

What is the difference between estimation based on ratios and extrapolation?

Both are metrics-based. Estimation based on ratios applies standard ratios, such as development-to-test effort, taken from the organization's own previous similar projects. Extrapolation uses measurements made early in the current project, such as the average effort of recent iterations, and suits iterative development.

What is additional coverage prioritization?

It is a variant of coverage-based test case prioritization. The test with the highest coverage runs first, and each subsequent test is the one that adds the most coverage not yet achieved by the tests already chosen, rather than the one with the highest total coverage.

Which testing quadrant does usability testing belong to?

Usability testing belongs to quadrant Q3, business-facing and critiquing the product, together with exploratory testing and user acceptance testing. Although usability is a non-functional characteristic, it is the exception: all other non-functional tests, plus smoke tests, are in Q4.

Source

This lesson covers the "Managing the Test Activities" domain of the official CTFL exam guide. Vendors revise their guides — check the source for the current version.

Test yourself on this topic
Practice now

Sign up free to mark lessons complete, bookmark topics and track your exam readiness.

Spotted a mistake in this lesson?