User Story–Based Test Case Design
1. Introduction
In agile development, test cases should be derived directly from user stories and their acceptance criteria.
This question checks whether you can identify a test case that validates what the user story actually requires, and not unrelated or out-of-scope behavior.
애자일 환경에서는 테스트 케이스가 사용자 스토리와 인수 기준(Acceptance criteria)을 직접 검증해야 합니다.
이 문제는 사용자 스토리의 요구사항에 가장 적합한 테스트 케이스를 고를 수 있는지를 묻습니다.
2. Practice Question
❓ Question
You have just started designing test cases for the following user story:
As a customer,
I want to be able to filter search results by price range,
so that I can find products within my budget more easily.
Acceptance criteria:
- The filter should work for all versions of the application from version 3.0 upwards
- The filter should allow the customer to set a price range with a minimum and a maximum price
- The search results should update dynamically as the customer adjusts the price range filter
Precondition for all test cases:
There are only two products available:
- Product A: $100
- Product B: $110
Which of the following is the BEST example of a test case for this user story?
- a) Enter webpage and set filter to show prices between $90 and $100. Expected result: results show product A only. Set maximum price to $110. Expected result: results now include both products A and B
- b) Enter webpage. Expected result: the default minimum and maximum prices are $100 and $110 respectively. Add product C to stock, with price $120. Refresh the client’s webpage. Expected result: the default maximum price changes to $120
- c) Enter webpage and set filter to show prices between $90 and $115. Expected result: results show both products A and B. Change currency from USD to EUR. Expected result: the filter range changes correctly to EUR values
- d) Enter webpage with three different browsers: Edge, Chrome and Opera. In each browser set filter between $90 and $110. Expected result: results include both products A and B and the results layout is the same in all three browsers
✅ Correct Answer: a)
3. Explanation
✔ a) Price range filtering with dynamic update — Correct
This test case directly validates the user story and its acceptance criteria:
- Acceptance criterion 2: The customer sets a minimum and maximum price
- Acceptance criterion 3: Search results update dynamically when the filter changes
By adjusting the price range and immediately observing updated results, this test case confirms the core behavior expected by the customer.
선택지 a는
- 가격 범위를 설정할 수 있는지 (인수 기준 2)
- 가격 범위를 조정할 때 결과가 즉시 변경되는지 (인수 기준 3)
를 직접 검증하므로, 이 사용자 스토리에 가장 적합한 테스트 케이스입니다.
❌ b) Default price range update — Incorrect
This test case checks how default filter values change when new products are added.
However, none of the acceptance criteria mention automatic adjustment of default price ranges.
기본 가격 범위 자동 변경은 이 사용자 스토리의 요구사항이 아닙니다.
❌ c) Currency conversion — Incorrect
Changing currency from USD to EUR is not mentioned in the user story or acceptance criteria.
This test case validates a different feature.
통화 변경 기능은 이 사용자 스토리의 범위를 벗어납니다.
❌ d) Cross-browser compatibility — Incorrect
This test case focuses on browser compatibility and layout consistency.
While important, these aspects are not part of this user story.
브라우저 호환성 테스트는 중요하지만, 이 사용자 스토리에서 요구하는 기능은 아닙니다.
4. Summary Table
| Option | What It Tests | Matches Acceptance Criteria? | 결론 |
|---|---|---|---|
| a | Price range setting & dynamic update | ✔ Yes | 정답 |
| b | Default filter values | ✖ No | 범위 외 |
| c | Currency conversion | ✖ No | 관련 없음 |
| d | Browser compatibility | ✖ No | 관련 없음 |
5. Final Takeaway
For the ISTQB exam, remember:
The best test case for a user story is the one that directly verifies its acceptance criteria and nothing beyond them.
시험 대비 핵심 문장입니다.
사용자 스토리 테스트 케이스는 인수 기준을 직접 검증하는 것이 가장 중요하다.
Related: More ISTQB Posts | Next Question