Markdown Editor

Test Design Specification Template (ISO/IEC/IEEE 29119-3)

Feature sets, test conditions, coverage items and worked technique tables (partitions, boundaries, decision table, state transitions)

Testing & QualityStandardISO/IEC/IEEE 29119-3testdesignspecificationmath

How to use: Use it to show how test cases were derived for one feature set. Start with feature sets and test conditions traced to requirements, then derive coverage items with a named technique. The main pitfall is jumping to test cases without coverage items, which hides gaps.

Preview

Test Design Specification: [Feature set or test item]

Test design specification for one feature set. The structure follows the test design concepts of ISO/IEC/IEEE 29119-3 and the techniques of ISO/IEC/IEEE 29119-4: feature sets, test conditions, test coverage items and the techniques used to derive them. Replace every [bracketed] value and every row marked Example.

FieldValue
Document ID[TDS-FEATURE-001]
Test plan[TP-PROJECT-001]
Feature set[Feature set name]
Test basis[SRS sections, user stories, API contract version]
Version[0.1]
Status[Draft / In review / Approved]
Author[@tester]
Reviewer[@reviewer]
Last updatedYYYY-MM-DD

1. Feature sets

IDFeature setObjectiveTest basisRisk linkPriority
FS-01Example: Order quantity and discountVerify quantity validation and promotion rules at checkoutSRS-FR-021 to SRS-FR-026PR-01High
FS-02Example: Order lifecycleVerify state changes from created to delivered or cancelledSRS-FR-030 to SRS-FR-034PR-02High
[FS-nn][Feature set][Objective][Basis][Risk ID][High / Medium / Low]

2. Test conditions

IDFeature setTest conditionTraces toPriority
TCOND-01FS-01Quantity accepts whole numbers from 1 to 99SRS-FR-021High
TCOND-02FS-01Quantity rejects zero, negatives, decimals and values above 99 with a messageSRS-FR-022High
TCOND-03FS-01Discount depends on membership tier and order totalSRS-FR-024High
TCOND-04FS-02Only allowed order transitions succeed; others are rejectedSRS-FR-031High
[TCOND-nn][FS-nn][Condition][Requirement][Priority]

3. Test coverage items

IDTest conditionTechniqueCoverage itemCovered by test case
TCI-01TCOND-01Equivalence partitioningValid partition 1-99TC-ORD-001
TCI-02TCOND-02Equivalence partitioningInvalid partition: below 1TC-ORD-002
TCI-03TCOND-02Equivalence partitioningInvalid partition: above 99TC-ORD-003
TCI-04TCOND-02Equivalence partitioningInvalid partition: non-integerTC-ORD-004
TCI-05TCOND-01, TCOND-02Boundary value analysisBoundaries 0, 1, 99, 100TC-ORD-005 to TC-ORD-008
TCI-06TCOND-03Decision tableRules R1 to R4TC-ORD-010 to TC-ORD-013
TCI-07TCOND-04State transitionValid transitions T1 to T6, invalid T7 and T8TC-ORD-020 to TC-ORD-027

Coverage achieved is reported as

Coverage=coverage items exercised by passed teststotal coverage items×100%\text{Coverage} = \frac{\text{coverage items exercised by passed tests}}{\text{total coverage items}} \times 100\%

4. Techniques applied

4.1 Equivalence partitioning

The quantity field is split into classes the software should treat the same way. One representative value per class is enough.

PartitionRange or classValid?Representative value
P1Integer 1 to 99Valid12
P2Integer below 1Invalid-3
P3Integer above 99Invalid150
P4Non-integer numberInvalid2.5
P5Non-numeric textInvalid"ten"
P6EmptyInvalid""

4.2 Boundary value analysis

Defects cluster at edges. Using two-value boundary analysis, test each boundary and its nearest neighbour on the other side.

BoundaryValues testedExpected
Lower edge of P10, 10 rejected; 1 accepted
Upper edge of P199, 10099 accepted; 100 rejected

4.3 Decision table testing

Discounts combine two conditions. Each column is a rule and becomes at least one test case.

R1R2R3R4
Condition: Member is Gold tierYesYesNoNo
Condition: Order total >= 100YesNoYesNo
Action: Discount applied15%10%5%0%
Action: Free shippingYesYesYesNo
Test caseTC-ORD-010TC-ORD-011TC-ORD-012TC-ORD-013

4.4 State transition testing

Orders follow a lifecycle. Valid transitions must succeed; invalid ones must be refused without changing state.

TransitionFromEventToValid?Test case
T1CreatedPayment capturedPaidYesTC-ORD-020
T3PaidDispatchedShippedYesTC-ORD-022
T7CreatedDispatched(unchanged)NoTC-ORD-026
T8DeliveredCustomer cancels(unchanged)NoTC-ORD-027
[Tn][From][Event][To][Yes / No][TC-ID]

4.5 Other techniques

[List any experience-based techniques (exploratory charters, error guessing, checklists) or structure-based coverage used for this feature set, with the reason and the session or coverage target.]

5. Traceability summary

RequirementTest conditionsCoverage itemsTest casesStatus
SRS-FR-021TCOND-01TCI-01, TCI-05TC-ORD-001, TC-ORD-005 to TC-ORD-008Designed
SRS-FR-024TCOND-03TCI-06TC-ORD-010 to TC-ORD-013Designed
SRS-FR-031TCOND-04TCI-07TC-ORD-020 to TC-ORD-027Designed
[Requirement][Conditions][Items][Cases][Designed / Reviewed / Gap]

6. Assumptions, exclusions and open questions

  • Excluded: [condition] because [reason, for example covered by unit tests in module X].
  • Assumption: [for example, rounding of discounts follows banker's rounding as stated in SRS-FR-025].
  • Open question: [question], owner [@name], due YYYY-MM-DD.

7. Approval

RoleNameDecisionDate
Test lead[@name][Approved / Changes requested]YYYY-MM-DD
Requirement owner[@name][Decision]YYYY-MM-DD

Standard and licence note

Structure aligned with ISO/IEC/IEEE 29119-3, Software testing, Part 3: Test documentation (test design concepts), with techniques named as in ISO/IEC/IEEE 29119-4. This template is original text written for this collection and reproduces no text from the standards; obtain them for their normative requirements. Template licence: MIT.

Related templates