SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
Test Analysis and Design

ISTQB CTFL Test Techniques Overview: Black-box vs White-box vs Experience-based

10 min readCTFL · Test Analysis and DesignUpdated

Test techniques are systematic procedures that help a tester decide what to test (test analysis) and how to test it (test design), deriving a small but sufficient set of test cases instead of an impossible exhaustive one. This CTFL lesson explains what techniques help you define, the syllabus's three categories — black-box (specification-based), white-box (structure-based) and experience-based — and how they differ in basis, timing, sensitivity to change and dependence on tester skill. It also shows how to classify named techniques, where collaboration-based approaches fit, and how to choose a category for a given situation.

What you’ll learn
  • Explain how test techniques support test analysis (what to test) and test design (how to test)
  • State why techniques derive a small but sufficient set of test cases systematically, and what they help define: test conditions, coverage items and test data
  • Name the three categories of test technique and their aliases: black-box (specification-based), white-box (structure-based) and experience-based
  • Distinguish the categories by basis, earliest creation time, reaction to implementation change and dependence on tester skill
  • Classify named techniques such as equivalence partitioning, branch testing and checklist-based testing into their category
  • Explain why experience-based techniques are complementary and why collaboration-based approaches are not a technique category
  • Choose the appropriate category from what is available in a given situation

What are test techniques and why use them?

A test technique is a systematic procedure for deciding what to test and how to test it. Techniques support the tester in two activities of the test process: test analysis, which answers what to test by identifying test conditions, and test design, which answers how to test by elaborating those test conditions into test cases.

The reason techniques exist is that exhaustive testing is impossible: no team can try every combination of inputs and preconditions. A technique gives a systematic way to derive a relatively small but sufficient set of test cases, so effort goes into the tests that matter instead of random or duplicated ones. The point is method, not guarantees: a technique narrows the input space in a repeatable way, while deciding which tests run first remains a test management decision.

During analysis and design, techniques help the tester define three things:

  • Test conditions — testable aspects of the test object (what to test).
  • Coverage items — the attributes the technique says must be exercised, such as equivalence partitions, boundary values, decision table columns, transitions, statements or branches. Coverage is measured against them.
  • Test data — the concrete input values needed to exercise those items.

Other work products of the test process belong to planning, monitoring and completion activities rather than to applying a technique.

What are the three categories of test technique?

The CTFL syllabus classifies test techniques into exactly three categories: black-box, white-box and experience-based. Each category is defined by the source the tests are derived from.

CategoryAlso calledDerives tests fromTypical test basisExample techniques
Black-boxSpecification-basedThe specified behavior of the test object, without reference to its internal structureRequirements, specifications, user stories, acceptance criteriaEquivalence partitioning, boundary value analysis, decision table testing, state transition testing
White-boxStructure-basedThe internal structure and processing of the test objectSource code, detailed design, control flowStatement testing, branch testing
Experience-based—The knowledge and experience of the testersKnowledge of the application, the domain, typical failures and past defectsError guessing, exploratory testing, checklist-based testing

The aliases are paired in this order: black-box = specification-based, white-box = structure-based. A common slip is to reverse them, or to treat "experience-based" as another name for one of the first two — it is its own category.

What makes a technique black-box?

A black-box technique is one based on an analysis of the specified behavior of the test object without reference to its internal structure. The tester treats the object as a box whose inside is not looked at: tests come from what the object is supposed to do, as described in requirements, specifications, user stories or acceptance criteria.

Two consequences follow, and both are tested:

  • Black-box test cases are independent of the implementation. If the implementation changes but the required behavior stays the same — a rewrite, a refactoring, a replaced algorithm — black-box test cases are still useful without change.
  • Black-box tests can be designed early. They need only the specification, so they can be written as soon as requirements are approved, before any design or code exists.

The flip side: when the required behavior changes — for example a new business rule is added — black-box tests must be added or revised for it, because their basis has changed. Black-box techniques also have defined coverage items taken from the specification (partitions, boundary values, decision table columns, transitions), so coverage can be measured. The individual techniques are taught in the black-box techniques lesson.

What makes a technique white-box?

A white-box technique is one based on an analysis of the test object's internal structure and processing. The tester looks inside the box: tests are derived from the code, the detailed design and its control flow — its statements, decisions and branches.

Because the test cases depend on how the software is designed, two consequences follow:

  • White-box test cases can only be created after the design or implementation exists. With approved requirements but no design or code, there are no branches or statements to analyse, so white-box tests cannot be written yet.
  • White-box test cases change when the implementation changes. If code is restructured or an algorithm replaced, tests derived from the old branches and statements need revision even though the behavior is the same.

White-box techniques also have their own coverage items (statements, branches), which only exist in the code. Statement and branch testing, and the value of white-box testing, are taught in the white-box techniques lesson.

What makes a technique experience-based?

An experience-based technique is one that uses the knowledge and experience of testers to design and implement test cases — knowledge of the application, the business domain, how similar systems have failed and which mistakes developers typically make. Predicting defects from mistakes the tester has met before is the classic example (error guessing); exploratory testing and checklist-based testing are the other two experience-based techniques in the syllabus.

The syllabus makes two statements about this category:

  • Effectiveness depends heavily on the tester's skills. Black-box and white-box techniques give a systematic procedure, so two testers working from the same specification or code tend to derive similar test cases. With experience-based techniques, results vary with the person: what one tester finds depends on what they know and have seen.
  • They are complementary to black-box and white-box techniques. They can detect defects that the systematic techniques may miss. Full coverage of partitions or branches shows that those coverage items were exercised, not that no defects remain; a tester's knowledge of likely mistakes can still find more.

Complementary means "in addition to", not "instead of": experience-based testing does not replace the other categories, because the systematic techniques in turn find defects an exploratory session may miss. Their coverage is less formally defined and harder to measure than for the systematic techniques, although checklist-based testing can still give some consistency and a degree of coverage. The individual techniques are taught in the experience-based techniques lesson.

How do the three categories compare?

The categories differ in their basis, when tests can be created, how they react to change and how much they depend on the individual tester. This comparison is the core of the learning objective.

QuestionBlack-boxWhite-boxExperience-based
What is analysed?Specified behaviorInternal structure and processingTester knowledge and experience
Earliest time tests can be createdOnce the specification exists — before design or codeOnly after the design or implementation existsDepends on the technique; in practice largely applied while testing the running object
Implementation changes, behavior unchangedTests stay usefulTests derived from the old structure need revisionTester adapts
Required behavior changesTests must be added or revisedFollow the code that implements the changeTester adapts
Dependence on tester skillLower — systematic procedureLower — systematic procedureHigh
Defined coverage itemsYes, from the specificationYes, from the codeLess formally defined; harder to measure

As a general rule, judge structural and behavioral changes separately: a structural change affects tests derived from the structure, a behavioral change affects tests derived from the specification.

How do you classify a named technique?

Classify a technique by asking what its tests are derived from: the specification, the code, or the tester's knowledge.

  • Black-box: equivalence partitioning, boundary value analysis, decision table testing, state transition testing.
  • White-box: statement testing, branch testing.
  • Experience-based: error guessing, exploratory testing, checklist-based testing.

Checklist-based testing is a frequent trap: a checklist looks systematic, but its items come from experience of what matters to users and why software fails, so it is experience-based. Decision table testing is another: "decision" refers to business rules in the specification, not to decisions in the code, so it is black-box — whereas branch testing uses the code's decisions and is white-box.

The same logic classifies a described activity. Designing tests from a requirements document without opening the code is black-box. Analysing a module's control flow is white-box. Relying on what the tester knows about how software typically fails is experience-based.

Where do collaboration-based approaches fit?

Collaboration-based test approaches are not a fourth category of test technique. The syllabus covers them in a separate section and calls them approaches: they focus on avoiding defects through collaboration and communication among testers, developers and business representatives — writing user stories collaboratively, agreeing acceptance criteria, and acceptance test-driven development (ATDD).

ATDD and agreeing acceptance criteria with the business are therefore collaboration-based approaches. Inside such an approach the team may still apply black-box or experience-based techniques to the acceptance criteria — the approach describes how the team works together, while the categories describe what tests are derived from. These approaches are taught in the collaboration-based test approaches lesson.

Other terms that sound like categories but are not: static and dynamic testing (and reviews) describe kinds of testing, functional and non-functional are test types, risk-based testing is a test management approach, requirements-based names a test basis, and exploratory testing is one individual technique inside the experience-based category, not a category itself.

How do you choose a category for a situation?

Choose a category by checking what is actually available and what the tests must achieve:

  • The test basis is a specification → black-box techniques apply, and they work before design or code exists. Their tests also survive changes to the implementation.
  • The basis is the code or detailed design → white-box techniques apply, once that structure exists.
  • The basis is people's knowledge → experience-based techniques; their value rises when documentation is weak and falls with less experienced testers.
  • Measurable coverage is required → prefer a category with defined coverage items (black-box or white-box), and note which of those items exist yet.
  • Systematic tests are done → experience-based testing still adds value, because coverage achieved is not the same as defects absent.

In practice the categories are combined over a project: black-box tests from the requirements first, white-box tests once the code exists, and experience-based testing alongside both. No single category is sufficient on its own.

Tip. This topic is tested with short K2 items that ask you to distinguish the three categories of test technique. Expect to identify a category from a description of what the tester analyses (a specification, the code's control flow, knowledge of past failures), to match the aliases specification-based and structure-based, and to classify named techniques individually or in roman-numeral sets. Other items ask which test activities techniques support, what they help define, and why they are used at all. Scenario items describe a change — an implementation rewritten, a new business rule, a missing specification or missing code — and ask which tests remain useful, which cannot yet be created or which category fits; some combine two such facts. Items on experience-based techniques test their dependence on tester skill and their complementary role, and some check that collaboration-based approaches are not a fourth category. The individual techniques are tested in their own topics.

Key takeaways
  • Test techniques support test analysis (what to test) and test design (how to test).
  • Because exhaustive testing is impossible, techniques derive a relatively small but sufficient set of test cases systematically.
  • Techniques help define test conditions, identify coverage items and identify test data.
  • The syllabus has three categories: black-box (specification-based), white-box (structure-based) and experience-based.
  • Black-box tests analyse specified behavior, can be designed before code exists and stay useful when only the implementation changes.
  • White-box tests analyse internal structure, can only be created after the design or implementation exists and change with it.
  • Experience-based effectiveness depends heavily on tester skill; these techniques complement, not replace, the systematic ones.
  • EP, BVA, decision tables and state transitions are black-box; statement and branch testing are white-box; error guessing, exploratory and checklist-based testing are experience-based.
  • Collaboration-based test approaches are a separate approach, not a fourth technique category.

Frequently asked questions

What are the three categories of test technique in ISTQB CTFL?

The ISTQB CTFL syllabus classifies test techniques as black-box (specification-based), white-box (structure-based) and experience-based. Black-box techniques analyse the specified behavior of the test object, white-box techniques analyse its internal structure and processing, and experience-based techniques use the knowledge and experience of testers.

What is the difference between black-box and white-box testing in CTFL?

In CTFL, black-box techniques derive tests from the specified behavior without looking at the internal structure, so their tests can be designed before code exists and remain useful when only the implementation changes. White-box techniques derive tests from the internal structure, such as statements and branches, so their tests can only be created after the design or implementation exists and must be revised when it changes.

Why are experience-based test techniques called complementary?

Experience-based test techniques are called complementary because they can detect defects that black-box and white-box techniques may miss. They are used in addition to the systematic techniques, not instead of them, and their effectiveness depends heavily on the skills of the tester applying them.

Is checklist-based testing a black-box technique?

No. In the ISTQB CTFL syllabus checklist-based testing is an experience-based test technique, alongside error guessing and exploratory testing. Its checklist items come from experience of what is important to users and of why and how software fails, not from a specification or the code.

Are collaboration-based test approaches a category of test technique?

No. ISTQB CTFL classifies test techniques into only three categories: black-box, white-box and experience-based. Collaboration-based test approaches, such as collaborative user story writing, acceptance criteria and acceptance test-driven development, are covered separately as approaches that focus on avoiding defects through collaboration.

What do test techniques help a tester define?

During test analysis and test design, test techniques help a tester define test conditions, identify coverage items and identify test data. They give a systematic way to derive a relatively small but sufficient set of test cases, because testing every input combination is impossible.

When can white-box test cases be created?

White-box test cases can only be created after the design or implementation of the test object exists, because they are derived from its internal structure, such as the statements and branches in the code. Black-box test cases, by contrast, can be created as soon as the specification is available.

Source

This lesson covers the "Test Analysis and Design" 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?