1. Introduction
This question evaluates your ability to order test execution based on both test priority and logical dependencies between test cases in a web application.
이 문제는 웹 애플리케이션 테스트에서 우선순위(priority)와 논리적 의존성(dependencies)을 동시에 고려하여 테스트 실행 순서를 올바르게 결정할 수 있는지 평가합니다.
2. Key Concepts
✔ Priority (우선순위)
Priority tells us how important it is to run a test (1 = highest priority in this question).
우선순위는 해당 테스트를 얼마나 빨리/중요하게 실행해야 하는지 나타냅니다 (이 문제에서는 1이 가장 높은 우선순위입니다).
✔ Logical Dependencies (논리적 의존성)
Here we have the following dependencies:
- SEARCH must be tested before VIEW
- VIEW must be tested before ADD
- ADD must be tested before ORDER
이 문제에서 주어진 의존성:
- 검색(SEARCH) → 이후에 조회(VIEW) 가능
- 조회(VIEW) → 이후에 장바구니 추가(ADD) 가능
- 장바구니 추가(ADD) → 이후에 주문(ORDER) 가능
So for each product we must follow:
SEARCH → VIEW → ADD → ORDER (optional, 마지막에)
각 상품에 대해 최소한 아래 순서를 지켜야 합니다:
검색 → 조회 → 장바구니 추가 → (마지막에) 주문
3. Practice Question
❓ Question
You are testing a web application with the following features: SEARCH, VIEW details, ADD to shopping cart, and ORDER placement.
Seven test cases (TC1~TC7) have been prepared with priorities (1 = highest priority):
| Test Case | Description | Priority (1 = higher) |
|---|---|---|
| TC1 | SEARCH for product A | 4 |
| TC2 | SEARCH for product B | 4 |
| TC3 | VIEW product A details | 3 |
| TC4 | VIEW product B details | 2 |
| TC5 | ADD product A to a shopping cart | 3 |
| TC6 | ADD product B to a shopping cart | 1 |
| TC7 | place an ORDER | 5 |
Dependencies:
- SEARCH must be tested before VIEW.
- VIEW must be tested before ADD.
- ADD must be tested before ORDER.
Question: Which test case should be executed as the fourth one?
- a) TC3
- b) TC1
- c) TC7
- d) TC2
✅ Correct Answer: b) TC1
📘 Explanation (EN/KR)
Step 1 — Respect dependencies
For each product, the dependency chain is:
SEARCH → VIEW → ADD → (ORDER at the end)
각 상품마다 반드시 아래 순서를 지켜야 합니다:
검색 → 조회 → 장바구니 추가 → (마지막에 주문)
This means:
- TC1 (SEARCH A) must be before TC3 (VIEW A) and TC5 (ADD A)
- TC2 (SEARCH B) must be before TC4 (VIEW B) and TC6 (ADD B)
- All ADD (TC5, TC6) must be before TC7 (ORDER)
Step 2 — Consider priorities
Look at the priorities (1 = highest):
- TC6 (ADD B) → priority 1
- TC4 (VIEW B) → priority 2
- TC3, TC5 → priority 3
- TC1, TC2 → priority 4
- TC7 → priority 5 (lowest)
우선순위(1이 가장 높음)를 보면:
- TC6 (B 장바구니) → 1
- TC4 (B 조회) → 2
- TC3, TC5 → 3
- TC1, TC2 → 4
- TC7 (주문) → 5 (가장 낮음)
We want to test the most important flow first, while respecting dependencies. Since product B has higher priority tests (TC6, TC4) than product A, we start with B’s chain first.
의존성을 지키면서도 높은 우선순위의 기능부터 검증해야 하므로, 우선순위가 더 높은 상품 B 관련 테스트(특히 TC6, TC4)를 먼저 수행하는 것이 자연스럽습니다.
Step 3 — Determine the actual execution order
For product B, we must follow:
SEARCH B (TC2) → VIEW B (TC4) → ADD B (TC6)
So an optimal early sequence is:
1st: TC2 (SEARCH B) 2nd: TC4 (VIEW B) 3rd: TC6 (ADD B)
상품 B에 대해서는 다음 순서를 따라야 합니다:
검색 B (TC2) → 조회 B (TC4) → 장바구니 B (TC6)
따라서 앞 3개의 실행 순서는:
1번째: TC2 2번째: TC4 3번째: TC6
Next, we handle product A, respecting its own chain:
SEARCH A (TC1) → VIEW A (TC3) → ADD A (TC5)
So the full recommended order is:
TC2 → TC4 → TC6 → TC1 → TC3 → TC5 → TC7
이제 상품 A에 대해서도 의존성을 지키면서 실행하면 전체 순서는:
TC2 → TC4 → TC6 → TC1 → TC3 → TC5 → TC7
Therefore, the 4th test to execute is:
👉 TC1 (SEARCH for product A)
Why the other options are wrong
a) TC3 – Not correct.
TC3 (VIEW A) depends on SEARCH A (TC1), so TC1 must be before TC3.
TC3은 A 조회이므로, 먼저 A 검색(TC1)이 수행되어야 합니다. 따라서 4번째로 나올 수 없습니다.
c) TC7 – Not correct.
TC7 (ORDER) must come after all relevant ADD operations (TC5, TC6).
In the derived order, TC7 is the last test.
주문(TC7)은 모든 장바구니 추가(ADD) 이후에만 가능합니다. 따라서 마지막에 실행되어야 하며 4번째가 될 수 없습니다.
d) TC2 – Not correct.
TC2 (SEARCH B) is already the first test in the sequence, not the fourth.
TC2는 우리가 결정한 순서에서 이미 1번째 테스트입니다. 4번째 자리에 올 수 없습니다.
📊 Summary Table
| Execution Order | Test Case | Description | 설명 (KR) |
|---|---|---|---|
| 1st | TC2 | SEARCH for product B | 상품 B 검색 |
| 2nd | TC4 | VIEW product B details | 상품 B 상세 조회 |
| 3rd | TC6 | ADD product B to cart | 상품 B 장바구니 추가 |
| 4th | TC1 | SEARCH for product A | 상품 A 검색 |
| 5th | TC3 | VIEW product A details | 상품 A 상세 조회 |
| 6th | TC5 | ADD product A to cart | 상품 A 장바구니 추가 |
| 7th | TC7 | place an ORDER | 주문 생성 |
4. Summary & Call to Action
When scheduling tests, you must always respect logical dependencies first, then optimize the order using priorities. In this question, product B’s flow (higher priority) is executed before product A’s flow. FL-5.1.5
테스트 실행 순서를 결정할 때는 1) 먼저 의존성(SEARCH → VIEW → ADD → ORDER)을 지키고, 2) 그 안에서 우선순위를 고려해 최적 순서를 잡아야 합니다. 이 문제에서는 우선순위가 더 높은 상품 B 흐름을 먼저 수행한 뒤, 상품 A를 테스트합니다.
Final Answer: b) TC1 should be executed as the fourth test.
Related: More ISTQB Posts | 다음 문제
