Test Scope

Test scope is the agreed boundary of testing for one project, release or sprint: which test items are tested (applications, services and their versions), which features and quality characteristics, at which test levels, on which platforms and in which languages — and, just as explicitly, what is not tested. The ISTQB Foundation syllabus (v4.0) lists test scope as part of the context of testing in a test plan, next to the test objectives and the test basis.

For example, release 4.2 of Bustan Market, the fictional marketplace from the test strategy guide, adds payment in instalments through an external provider. In scope: the new payment option on web and both apps in Arabic and English, eligibility rules, refunds, and regression of the payment methods that share its code. Out of scope: the provider’s own credit decision, which the provider tests.

Why it matters

Unclear scope fails in two directions. Gaps appear when everyone assumes someone else tests an area — refunds, the Arabic receipt, the older app version customers still use — and its first test happens in production. Waste appears when the team spends days on areas that did not change or that another team owns.

Scope is also the input to the estimate, the schedule, the environments and the exit criteria. When scope grows and nobody adjusts them, the team either misses the date or releases with tests silently skipped. For the tester, a written, agreed scope is protection as well as a duty: a defect in an area excluded for a reason the product owner accepted leads to a discussion about that decision, not about blame — and you are expected to say what each exclusion risks.

What a test scope defines

A useful scope statement is specific enough that two people give the same answer to "is this tested?": it names items by ID and version, not by words such as "checkout" or "the app". Start from the default scope in the test strategy and apply it to what changed, across these dimensions:

  • Test items: the parts of the test object to be tested, such as applications and services, each with its version, for example web 4.2, the iOS and Android apps 4.2 and payments API v3.
  • Features and changes: stories, requirements or change requests by ID, plus the existing features the change affects.
  • Quality characteristics and test types: functional, performance, security, accessibility, compatibility — and which apply this time.
  • Test levels: for example system and system integration testing by QA, component testing by developers in CI.
  • Platforms, browsers, devices, languages and regions that will actually be used.
  • Interfaces: where our testing stops, such as "our side of the payment provider integration, in its sandbox".
  • Depth: in scope is not a yes/no flag. In the ISTQB syllabus, product risk analysis determines both the test scope and its thoroughness: each item gets a risk level and the depth that follows from it.

Try it: Risk-Based Test Generator

Out of scope: a decision with a reason

An out-of-scope list is a list of decisions, not of things you forgot. Each exclusion records the item, the reason, who covers it instead and who agreed; if it leaves a risk, the person who owns the release, usually the product owner, accepts that risk explicitly. ISO/IEC/IEEE 29119-3, the test documentation standard, asks for the core of this in a test plan’s test scope: the features excluded from testing and the rationale for excluding them.

An exclusion is agreed explicitly: when the scope is agreed before testing starts, or later as a recorded scope change. A planned test that was not executed — blocked environment, no time left — is not "out of scope": it is a coverage gap that the progress and completion reports must show as residual risk.

Reasons that usually hold up in a scope review:

  • Unchanged and not affected by the change; the regression suite covers it.
  • Owned by another team or a vendor: they test it; you test your side of the interface and ask for their evidence.
  • Not part of this release.
  • Not testable in the available environments: state what replaces it, such as mocked responses or a check after deployment.
  • Low risk, explicitly accepted by the product owner.
In scope vs out of scope for Bustan Market 4.2: an in-scope item carries its ID, risk and depth; an exclusion carries a reason, who covers it instead and who agreed, with any residual risk accepted by the product owner.

In scope

Tested in this release, at an agreed depth

Each entry records:
Item ID, version, risk level and depth
Typical reason:
New or changed, or affected by the change
Example: Bustan Market 4.2:
Instalment option at checkout, web and apps, Arabic and English
Who decides:
QA proposes; product owner and dev lead agree
If it changes:
Removing it or cutting its depth is a scope change: it needs a decision
At test completion:
Coverage, results and open defects reported

Out of scope

Deliberately not tested by this team in this release

Each entry records:
Reason, who covers it instead, who agreed
Typical reason:
Unchanged, owned by another team or vendor, or not in this release
Example: Bustan Market 4.2:
Provider’s credit decision: the provider tests it; we test our side in its sandbox
Who decides:
QA proposes; the product owner accepts the residual risk
If it changes:
Bringing it in needs an impact estimate and a decision
At test completion:
Listed again as not tested, with the accepted risk

How to agree and document scope

Testing proposes the scope; the people who own the product and the release agree it, usually in a short scope review.

  • Collect the basis: release notes, stories and acceptance criteria, the change list and the strategy’s default scope.
  • Find what the change touches: ask developers which components, data and integrations are affected; traceability shows the linked requirements and tests.
  • Draft both lists — in scope with ID, risk and depth, out of scope with reason and owner — and mark open questions instead of guessing.
  • Review them with the product owner, the development lead and anyone covering an excluded item. Read the out-of-scope list aloud; misunderstandings surface there.
  • Record the result in the test plan’s scope section or the one-page sprint test plan, with version, date and approver.
  • Agree the change rule: who may request a change, who estimates its impact and who decides.

Try it: Requirements → Test Cases

Worked example: the scope of an instalment-payments release

The statement below is the agreed scope for Bustan Market 4.2 after a 30-minute review. Every out-of-scope line has a reason and an owner, the boundary with the provider is precise, and the one accepted risk is written down.

The depth column turns each risk level into concrete tests: BUS-902 lists the 2-value boundary values of the eligibility range, and the regression line brings the unchanged payment methods into scope because they share the changed checkout code.

TEST SCOPE - Bustan Market 4.2 "Pay in instalments" (fictional)          v1.0
Basis: BUS-901..905, test strategy v1.2     Agreed: PO, dev lead, QA lead (day 1)

IN SCOPE                                            Risk    Depth
BUS-901  Instalment option at checkout,             High    boundaries, negative,
         web + iOS + Android, ar/en                         exploratory, auto API
BUS-902  Eligibility: total 200.00 to 5,000.00      High    199.99 / 200.00 /
         SAR, signed-in customers only                      5,000.00 / 5,000.01
BUS-903  Instalment schedule in "My orders"         Medium  dates, amounts, ar/en
BUS-904  Refund, partial refund, cancellation       High    before and after the
         of instalment orders                               first instalment
BUS-905  Our handling of provider webhooks          Medium  approved, declined,
         (approved, declined, expired)                      expired, duplicate
Regr.    Card, mada, Apple Pay, cash on delivery    Medium  automated checkout
         (they share the checkout code)                     suite + 2 devices

OUT OF SCOPE                Reason                      Covered by
Provider credit decision    provider-owned service      provider; we test our
and the provider app                                    side in its sandbox
Seller portal               unchanged in 4.2            nightly regression suite
Load test of provider API   not ours to load-test       provider SLA (PO agreed)

Accepted risk  provider outage tested with mocked responses only (PO, day 1)
Assumptions    provider sandbox from day 1; synthetic customers only
Changes        request to PO -> QA impact note -> PO decides -> scope v1.1, v1.2

Scope creep: recognise it and control it

Scope creep is the growth of scope after it was agreed, without a matching change to time, people or exit criteria. It rarely arrives as a formal request: it looks like "while you are at it, can you also check…", acceptance criteria rewritten after test design (compare the old and new text to see exactly what changed), or a late change merged into the release branch.

Change itself is normal. The 2020 Scrum Guide says that during a Sprint, scope may be clarified and renegotiated with the Product Owner as more is learned, and that no changes are made that would endanger the Sprint Goal. The problem is change that bypasses the agreement.

In week 2 of the Bustan Market release a message arrives: "Can instalments also work for gift card orders? Small change." The tester replies with an impact note (a separate refund rule, gift card checkout regression, about three extra tester-days) and three options: extend testing, move it to 4.3, or reduce exploratory testing of the instalment option (BUS-901) with that risk accepted. The product owner chooses 4.3; scope v1.1 records it.

  • Assess: new tests, regression, effort and risk.
  • Offer options: more time, defer the change, or reduce something else with its risk accepted.
  • Decide and record: the owner chooses; update the scope version, the estimate and the exit criteria.
  • Watch the reverse: dropping planned tests at the end for lack of time also changes the agreed scope; it needs the same decision and is reported as residual risk, not relabelled as out of scope.

Try it: Regression Scenario Generator Try it: Text Diff

Common mistakes

  • Writing only the in-scope list, so every stakeholder assumes their area is covered.
  • Excluding items without a reason or an owner: "not tested" is not a decision.
  • Describing scope with vague words ("checkout", "the app") instead of IDs, versions, platforms and languages.
  • Giving everything in scope the same effort, so a high-risk payment rule and a label change both get one quick pass.
  • Absorbing "small" additions without an impact assessment, then missing the date or cutting tests silently.
  • Deciding exclusions alone: accepting a risk on behalf of the business is the product owner’s decision.

The QA perspective

On a real team, scope is drafted in test planning, right after release or sprint planning, and revisited at every change. You settle with the product owner what matters, with developers what the change touches, and with vendors and owners of shared components who tests what at each interface. The questions that pay off most: "what changed, and what depends on it?", "who else tests this, and with what evidence?" and "what happens if we do not test this?".

Version the scope statement and report against it: status reports show coverage of the agreed scope, and the test completion report repeats the exclusions and the accepted residual risks, so the release decision is taken with the full picture. The ISTQB syllabus lists scope creep among project risks: when it repeats, log it in the risk register.

Practice exercise

Scope a clinic booking release and handle a change request

Your task

Release 3.1 of Shifa Clinics, a fictional booking app on web, Android and iOS in Arabic and English, contains: (1) booking and card payment for video consultations; (2) a cancellation link in the reminder SMS sent 24 hours before an appointment; (3) a weekly schedule view for doctors in the admin portal.

Context: the video call runs on an external service embedded in the app and tested by its vendor. Patient records and lab results are unchanged. The SMS gateway is shared with the pharmacy app and owned by another team. You have two testers and ten working days. Write the scope statement. On day 6 the product owner writes in chat: "Can you also check paying with insurance for video consultations? Small change."

Steps
  1. Put each changed item, with what it touches, in scope (with a depth note) or out of scope (with a reason and an owner).
  2. Write at least three questions to settle before the scope is agreed.
  3. Handle the day-6 request as a scope change.
Show the model answer
Model answer

In scope: video booking and card payment on all platforms in both languages, high risk (slots, time zones, payment failure, double booking, refunds); our side of the video integration (starting the call, denied camera permission, the service being down); the SMS cancellation link (valid, expired and already used links; ar/en text) and the weekly view (week start and end, appointments across midnight), medium risk; and regression of in-clinic booking and existing payments, which share the code.

Out of scope, each agreed by the product owner: the video service and call quality (vendor-owned; ask for their evidence), patient records and lab results (unchanged; the existing regression suite), SMS gateway delivery (messaging team; we check only our text and link).

Questions: Which older app versions must work with the new booking API? Is a paid consultation refunded automatically when cancelled through the SMS link? Will the video vendor share test results or a sandbox?

Day 6: do not start quietly. Estimate the impact (new payment path, eligibility rules, insurer integration, refunds: roughly three to four tester-days plus payment regression) and offer the options: more time, defer to 3.2, or less depth elsewhere with the risk accepted. Ask for a story with acceptance criteria, record the decision as scope v1.1, and update the estimate and exit criteria.

Frequently asked questions

What is the difference between test scope and project scope?

Project scope is the work the project must do to deliver its product features and other outputs. Test scope is what testing covers. They overlap but are not equal: a feature can be in the release while part of it is out of test scope (a vendor component), and test scope can reach beyond what the release changes: regression of unchanged areas that depend on the change, and every supported platform.

Who decides what is out of scope?

The tester or QA lead proposes. The person who owns the release risk, usually the product owner or project manager, agrees, and the development lead and the owners of excluded components confirm who covers them. A tester does not drop items alone or accept risk on behalf of the business.

Is every scope change scope creep?

No. Change is expected, especially in agile teams; the 2020 Scrum Guide allows scope to be clarified and renegotiated with the Product Owner during the Sprint. It becomes creep when it bypasses the agreement: added without an impact assessment and without adjusting time, people or criteria.

Where do I document scope in an agile team?

In a one-page sprint or release test plan, or in the scope section of the test plan. The stories in the Sprint Backlog with their acceptance criteria are the core of the in-scope list; add the regression areas and platforms they affect, and put the exclusions on the same page with their reasons, linked from the team board.

References

Practise with Mutqan tools

Score features by likelihood and impact, then generate a prioritised risk-based test plan.

Test Design

Convert a list of numbered requirements into traceable test cases with a requirement-to-test matrix.

Test Design

Compare two texts line by line or word by word and highlight differences.

Formatting

Go deeper

Your progress on this topic

Part of the QA Roadmap