If you fail the CTFL v4.0 exam by a small margin, there is a very high chance you lost those marks on Chapter 4. And if you lost marks on Chapter 4, there is a very high chance you lost them on one of three specific techniques: equivalence partitioning, boundary value analysis, or decision table testing.
These three techniques typically generate 6 to 8 questions on the exam, which is 15% to 20% of your total marks. Many of those questions are K3 (apply), meaning you cannot pass them by recognising a concept; you must actually perform the technique under time pressure on a scenario you have not seen before.
This article walks through each technique in the depth the exam requires. For each, you will see the definition, a worked example, the common pitfalls, and a sample exam question with a full explanation. If you work through this article once slowly and then re-attempt the practice questions in a week, you should be able to handle any question these three techniques throw at you.
If you are new to Chapter 4 as a whole, start with our CTFL v4.0 syllabus deep dive first, then come back here.
Why These Three Techniques Matter So Much
Chapter 4 (Test Analysis and Design) carries about 27% of the exam, the largest chapter weight. Within Chapter 4, black-box techniques dominate the question count, and among black-box techniques, these three appear most often:
- Equivalence partitioning: usually 1 to 2 questions
- Boundary value analysis: usually 2 to 3 questions
- Decision table testing: usually 2 questions
That is 5 to 7 marks from just these three techniques. If you also add state transition testing (1 to 2 questions) and white-box coverage (1 to 2 questions), Chapter 4 alone can swing the exam result.
The critical feature of these questions is that they are almost always K3 (apply). You will be given a scenario and asked to produce or identify the correct test cases, the correct decision table, or the correct number of partitions. Reading about these techniques is not enough. You must practise them.
Technique 1: Equivalence Partitioning
The definition
Equivalence partitioning is a black-box test design technique in which the input data (or output, or internal values, or time-related values) is divided into partitions where all values in the same partition should be processed the same way by the system.
If the system handles one value in a partition correctly, it should handle all other values in that partition correctly. So you only need to test one value per partition.
Valid and invalid partitions
Every input has at least two types of partition:
- Valid partition(s): values the system should accept
- Invalid partition(s): values the system should reject
For most inputs, you will have one valid partition and two invalid partitions (below the range and above the range).
Worked example
Requirement: A system accepts an age input as an integer. Valid age is 18 to 65 inclusive. Values below 18 should be rejected with “Too young.” Values above 65 should be rejected with “Too old.” Non-integer values should be rejected with “Invalid format.”
Partitions:
| Partition | Range | Type |
|---|---|---|
| P1 | 18 to 65 | Valid |
| P2 | Below 18 (for example, 0 to 17) | Invalid (too young) |
| P3 | Above 65 (for example, 66 upward) | Invalid (too old) |
| P4 | Non-integer values | Invalid (format error) |
Test cases derived:
| Test Case | Input | Partition | Expected Result |
|---|---|---|---|
| TC1 | 30 | P1 | Accept |
| TC2 | 10 | P2 | Reject: “Too young” |
| TC3 | 70 | P3 | Reject: “Too old” |
| TC4 | “abc” | P4 | Reject: “Invalid format” |
Four partitions, four test cases. Any single value from each partition works.
Common pitfalls
Pitfall 1: Missing invalid partitions Candidates identify the valid partition and forget that invalid inputs also form one or more partitions that must be tested.
Pitfall 2: Treating every value as its own partition If you test 10, 20, 30, 40, 50, 60 as six test cases for the 18-to-65 range, you have misunderstood the technique. These are all in the same partition. One test case is enough.
Pitfall 3: Missing partitions for different rejection reasons In the example above, “Too young” and “Too old” are different invalid partitions because they trigger different system behaviour. Combining them into a single “invalid” partition loses a test case.
Pitfall 4: Forgetting non-numeric inputs If the system is supposed to reject non-integer values, that is a separate invalid partition, even though it is not numerically part of the range.
Sample exam question
A system accepts a customer’s account balance as a positive decimal value. Balances from 0.00 to 999.99 trigger a “Standard” account. Balances from 1000.00 to 9999.99 trigger a “Gold” account. Balances of 10000.00 or above trigger a “Platinum” account. Negative balances are rejected.
How many equivalence partitions are there for the account balance input?
A) 3 B) 4 C) 5 D) 6
Correct answer: B
Four partitions: (1) negative values, invalid; (2) 0.00 to 999.99, Standard; (3) 1000.00 to 9999.99, Gold; (4) 10000.00 and above, Platinum.
Option A (3) misses the invalid partition for negative values. Option C (5) and D (6) would suggest additional partitions that the requirement does not describe. The key insight is that each distinct system behaviour defines a partition, and an invalid rejection is one of those behaviours.
Technique 2: Boundary Value Analysis
The definition
Boundary value analysis (BVA) tests the values at the edges of equivalence partitions. The principle: defects tend to cluster at boundaries. A programmer writing if age >= 18 instead of if age > 18 creates an off-by-one error exactly at the boundary. BVA finds those defects.
BVA works together with equivalence partitioning. You first identify partitions, then test at the boundaries between them.
2-value vs 3-value boundary analysis (v4.0 emphasis)
The v4.0 syllabus explicitly covers two approaches, and the exam tests the distinction:
2-value boundary value analysis Test two values at each boundary: the boundary itself and the value immediately on the other side.
For the lower boundary of 18 (valid age):
- 18 (boundary, valid side)
- 17 (just below, invalid side)
For the upper boundary of 65 (valid age):
- 65 (boundary, valid side)
- 66 (just above, invalid side)
Total: 4 test values for both boundaries.
3-value boundary value analysis Test three values at each boundary: the boundary itself, the value immediately before, and the value immediately after.
For the lower boundary of 18:
- 17 (just below, invalid)
- 18 (boundary, valid)
- 19 (just inside, valid)
For the upper boundary of 65:
- 64 (just inside, valid)
- 65 (boundary, valid)
- 66 (just above, invalid)
Total: 6 test values for both boundaries.
When to use which
The v4.0 syllabus does not force you to always use one or the other. The 2-value approach is cheaper and usually sufficient. The 3-value approach is more thorough and is recommended when the consequences of boundary defects are severe, such as in safety-critical or financial systems.
For exam purposes: know both approaches, know how many values each produces, and be able to identify the correct test values for a given range.
Worked example
Requirement: A discount applies to purchase amounts between 100 and 500 (inclusive).
Partitions:
- P1: below 100 (no discount)
- P2: 100 to 500 (discount applies)
- P3: above 500 (different pricing tier)
Boundaries: 100 (between P1 and P2), 500 (between P2 and P3).
2-value BVA test values:
- At 100: 99 and 100
- At 500: 500 and 501
Total: 4 values (99, 100, 500, 501).
3-value BVA test values:
- At 100: 99, 100, 101
- At 500: 499, 500, 501
Total: 6 values (99, 100, 101, 499, 500, 501).
Notice that 501 appears in both boundary sets when using 3-value, but you still count it once. And 501 is already in the 2-value set, but its role differs: in 2-value it is the “just outside” for boundary 500; in 3-value it is also the “just outside” for boundary 500.
Common pitfalls
Pitfall 1: Confusing 2-value and 3-value Candidates memorise “test the boundary plus one value on each side” and apply it regardless of which approach the question asks for. If the question specifies 2-value, stick to 2-value.
Pitfall 2: Using the wrong increment For integers, the increment is 1 (17, 18, 19). For decimals with 2 decimal places, the increment is 0.01 (99.99, 100.00, 100.01). For percentages with 1 decimal place, 0.1. The increment depends on the data type and precision.
Pitfall 3: Forgetting that boundaries exist at both ends A range 18 to 65 has two boundaries. Some candidates test only the lower boundary and forget the upper.
Pitfall 4: Applying BVA without partitioning first BVA only makes sense once you have identified partitions. If you cannot identify partitions, you cannot identify boundaries.
Sample exam question
A system accepts integer passenger ages. Child fare applies for ages 2 to 11 inclusive. Using the 3-value boundary value analysis approach, which of the following sets of test values correctly covers all boundaries for the child fare range?
A) 1, 2, 11, 12 B) 1, 2, 3, 10, 11, 12 C) 2, 11 D) 0, 2, 11, 13
Correct answer: B
The 3-value approach requires three values at each boundary: just below, the boundary itself, and just inside (or just outside, for the opposite direction).
At the lower boundary (2): values 1 (just below, invalid), 2 (boundary, valid), 3 (just inside, valid). At the upper boundary (11): values 10 (just inside, valid), 11 (boundary, valid), 12 (just above, invalid).
Total: 1, 2, 3, 10, 11, 12. That is option B.
Option A is the 2-value approach, not 3-value. Option C tests only the boundaries with no surrounding values. Option D uses incorrect increments (0 and 13 are not adjacent to the boundaries).
Technique 3: Decision Table Testing
The definition
Decision table testing is used when system behaviour depends on combinations of conditions. Each combination produces a specific action. The decision table makes all combinations explicit and ensures no combination is missed in testing.
Decision tables are particularly valuable when business rules get complex, such as loan approval, insurance pricing, or access control.
The structure of a decision table
A decision table has four sections:
- Conditions (top left): the inputs or states that affect behaviour
- Condition alternatives (top right): the possible values of each condition, usually True/False or Yes/No
- Actions (bottom left): the possible system responses
- Action entries (bottom right): which actions apply for each combination
Each column is one rule or test case.
Worked example
Requirement: A library late-return system charges a fee based on two conditions:
- Is the book overdue? (Yes/No)
- Is the user a premium member? (Yes/No)
Rules:
- Not overdue: no fee, regardless of membership
- Overdue and not premium: 5 USD fee
- Overdue and premium: 2 USD fee (premium discount)
Full decision table (all combinations):
| Conditions | Rule 1 | Rule 2 | Rule 3 | Rule 4 |
|---|---|---|---|---|
| Book overdue? | Yes | Yes | No | No |
| Premium member? | Yes | No | Yes | No |
| Actions | ||||
| Charge 5 USD | – | X | – | – |
| Charge 2 USD | X | – | – | – |
| No fee | – | – | X | X |
Two conditions with two possible values each give 2^2 = 4 combinations, so 4 rules.
Collapsing (or reducing) a decision table
Rules 3 and 4 have the same action (no fee). The “premium member” condition does not matter when the book is not overdue. These rules can be collapsed:
| Conditions | Rule 1 | Rule 2 | Rule 3 (collapsed) |
|---|---|---|---|
| Book overdue? | Yes | Yes | No |
| Premium member? | Yes | No | – (don’t care) |
| Actions | |||
| Charge 5 USD | – | X | – |
| Charge 2 USD | X | – | – |
| No fee | – | – | X |
The “-” (dash) in the collapsed rule indicates “don’t care.” Three rules, three test cases, same coverage.
Full coverage vs minimum coverage
- Full decision table coverage: test every rule. Maximum thoroughness, maximum test count.
- Minimum decision table coverage (collapsed): test every distinct combination that produces a distinct outcome. Fewer test cases, but all actions are still tested.
ISTQB typically expects you to understand the full table first, then recognise when collapsing is appropriate.
Common pitfalls
Pitfall 1: Miscounting combinations For N binary conditions, there are 2^N combinations. Two conditions = 4 rules. Three conditions = 8 rules. Four conditions = 16 rules. A question asking “how many rules are in the full table” requires this arithmetic.
Pitfall 2: Collapsing too aggressively Rules can only be collapsed if they produce identical actions and the collapsed condition truly does not affect the outcome. Collapsing without checking this produces an incomplete table.
Pitfall 3: Forgetting impossible combinations Sometimes a combination of conditions is logically impossible (for example, “full-time student” and “full-time employee” may be mutually exclusive depending on the business rule). These should be marked as impossible, not tested.
Pitfall 4: Treating a decision table as a flowchart A decision table lists combinations of conditions. A flowchart shows the order of evaluation. They are different artefacts.
Sample exam question
A flight booking system charges a cancellation fee based on three conditions:
- The ticket is refundable (Yes/No)
- The cancellation happens within 24 hours of booking (Yes/No)
- The passenger has traveller insurance (Yes/No)
How many rules are there in the full (uncollapsed) decision table?
A) 3 B) 6 C) 8 D) 9
Correct answer: C
Three binary conditions produce 2^3 = 8 combinations. The full decision table therefore has 8 rules.
Option A (3) confuses the number of conditions with the number of rules. Option B (6) adds the conditions (2+2+2). Option D (9) squares the condition count (3^2). The correct formula is 2 to the power of the number of binary conditions.
When to Use Which Technique
These three techniques are complementary, not interchangeable.
- Equivalence partitioning: use when input can be grouped into ranges or categories where all values behave the same way. Best for range-based inputs.
- Boundary value analysis: use on top of equivalence partitioning to test the edges between partitions. Best for numeric ranges where off-by-one defects are common.
- Decision tables: use when output depends on combinations of conditions. Best for complex business rules.
Typical combined usage: for a single system, you might use equivalence partitioning and boundary value analysis on the numeric inputs, and a decision table for the business rules that depend on multiple conditions.
Decision flowchart
A simple way to choose:
- Is the input a range of values? → Equivalence partitioning.
- Are there boundaries between ranges? → Boundary value analysis at those boundaries.
- Does behaviour depend on combinations of conditions? → Decision table.
- Does behaviour depend on sequence of events? → State transition testing (not covered in this article; see our syllabus deep dive).
How These Three Combine in Real Test Design
A practical example. Imagine testing a loan application system:
- Input 1: Applicant income (number). Income below 20,000 USD rejects the application. Income 20,000 to 100,000 USD qualifies for standard loans. Income above 100,000 qualifies for premium loans. → Equivalence partitioning gives 3 partitions. Boundary value analysis gives 4 values (2-value: 19999, 20000, 100000, 100001) or 6 values (3-value).
- Input 2: Credit score (number). Similar range treatment, more partitions and boundaries.
- Business rule: Loan approval. Approval depends on income tier (3 options), credit score tier (3 options), and whether the applicant already holds a loan (Yes/No). → Decision table with 3 × 3 × 2 = 18 rules, likely collapsible.
This is the real power of the three techniques: they address different aspects of the system and together produce systematic coverage.
State Transition Testing: A Quick Note
State transition testing is the fourth technique that commonly appears on the CTFL exam alongside the three above. It applies when system behaviour depends on the current state and an input event triggers a transition to another state. Examples: an ATM card (active, blocked, expired), a login session (logged out, logged in, locked), an order lifecycle (placed, paid, shipped, delivered, cancelled).
Key ideas to know:
- States, transitions, events, and actions are the four components
- You can test valid transitions, invalid transitions (attempted transitions that should be blocked), and full state coverage
- State transition diagrams and state tables are the two common representations
State transition testing typically generates 1 to 2 questions on the exam. We cover it more fully in the syllabus deep dive.
Five Practice Questions
Work through these without notes and without a calculator. Cover the answers until you have finished all five.
Practice 1
A banking system requires a PIN to be a 4-digit integer between 1000 and 9999 inclusive. Using equivalence partitioning, identify the minimum number of partitions for valid and invalid inputs.
A) 2 B) 3 C) 4 D) 5
Practice 2
For the PIN range 1000 to 9999 inclusive, using 2-value boundary value analysis, which of the following is the correct set of test values?
A) 999, 1000, 9999, 10000 B) 1000, 9999 C) 999, 1000, 1001, 9998, 9999, 10000 D) 1000, 5000, 9999
Practice 3
A web form has three conditions:
- User is logged in (Yes/No)
- User has verified email (Yes/No)
- User has completed profile (Yes/No)
How many rules are in the full decision table?
A) 3 B) 6 C) 8 D) 9
Practice 4
A temperature sensor accepts readings in Celsius. Readings below -50 are rejected as “Sensor fault.” Readings from -50 to 100 inclusive are valid. Readings above 100 trigger “Overheat alarm.”
Using 3-value boundary value analysis and assuming 1-degree precision, what is the correct set of test values at the upper boundary (100)?
A) 99, 100 B) 100, 101 C) 99, 100, 101 D) 100, 101, 102
Practice 5
A library system calculates fees based on:
- Book type: regular or reference
- Overdue: yes or no
- Member type: standard or premium
Assuming all combinations are valid and produce different actions, how many rules are in the full decision table?
A) 4 B) 6 C) 8 D) 12
Answers
1: B (3 partitions). One valid partition (1000 to 9999) plus two invalid partitions (below 1000 and above 9999). Non-integer inputs could be a fourth partition, but the question asks about the range itself, so 3 is the correct minimum for the numeric input.
2: A (999, 1000, 9999, 10000). 2-value BVA tests the boundary and the value just outside. For integers, the increment is 1. Option B tests only the boundaries with no outside values. Option C is the 3-value approach. Option D includes an arbitrary middle value that is not part of BVA.
3: C (8 rules). Three binary conditions = 2^3 = 8 combinations.
4: C (99, 100, 101). 3-value BVA at boundary 100 tests one value just inside (99), the boundary itself (100), and one value just outside (101). Option A is 2-value. Option B is partial 2-value. Option D is missing the “just inside” value.
5: C (8 rules). Three binary conditions (book type, overdue, member type) = 2^3 = 8 combinations.
How to Practise These Techniques Effectively
Reading about these techniques once is worth about 20% of the effort. The other 80% is practice. A realistic practice plan:
- Day 1: work through each worked example in this article by hand, recreating the tables from scratch without looking.
- Day 2: apply the techniques to three new scenarios of your own invention. For example, partition and boundary analysis for a user registration age check, a parking fee calculator, and a shipping cost calculator.
- Day 3: build decision tables for three different business rules (loan approval, insurance pricing, discount eligibility).
- Day 4: take the five practice questions above under a 5-minute time limit.
- Day 5: take a topic-focused mock exam with 10 to 15 questions on just these techniques.
If you can consistently score 80% or higher on topic-focused practice and complete each question in under 90 seconds, you are ready for these questions in the real exam.
Common Exam Question Wordings
Train your eye for these phrasings. They all ask you to apply the techniques, but the specific wording tells you which approach and how many values.
- “How many equivalence partitions are there for X?”
- “Which of the following is a valid partition for X?”
- “Using 2-value boundary value analysis, which test values are required at the boundary?”
- “Using 3-value boundary value analysis, how many test values are required for both boundaries?”
- “In the decision table for the given requirements, how many rules are there?”
- “Which action is triggered by the following combination of conditions?”
- “Which rule in the decision table can be combined (collapsed) with another?”
When you see these wordings, slow down and work through the technique step by step. Do not try to eyeball the answer.
Next Steps
If these three techniques are still shaky, do not take the exam yet. The single largest lever you have on your exam score is confident, practised application of Chapter 4 techniques.
Our CTFL v4.0 Study Guide includes 50+ practice questions focused on Chapter 4 techniques alone, with full worked solutions. If you want to test yourself under realistic conditions first, try a timed topic-focused mock exam.
For the wider context of how Chapter 4 fits into the full exam, see our chapter-by-chapter syllabus deep dive. And if you are worried about common failure patterns, read 7 Reasons Candidates Fail the ISTQB CTFL Exam.
This article reflects the ISTQB CTFL v4.0 syllabus, mandatory from 9 May 2024. It was last reviewed in April 2026.
Discover more from ISTQB Guru
Subscribe to get the latest posts sent to your email.
Have a question? Ask here.