1. Introduction
This question evaluates your ability to decide the best execution order of test cases when both priority (1 = higher priority) and logical dependencies must be respected.
이 문제는 우선순위(숫자가 작을수록 우선순위 높음)와 논리적 의존성을 동시에 고려하여 테스트 케이스 실행 순서를 결정하는 능력을 평가합니다.
2. Key Concepts
✔ Priority vs Dependency (EN/KR)
Even if a test has a high priority, it cannot be executed before its dependencies are satisfied. So the correct order is usually:
1) Respect dependencies → 2) Optimize by priority
우선순위가 높은 테스트라도, 의존 관계가 충족되지 않으면 먼저 실행할 수 없습니다.
따라서 일반적인 순서는:
1) 의존성 먼저 만족 → 2) 그 안에서 우선순위 고려
3. Practice Question
❓ Question
You are testing a mobile application that allows users to find a nearby restaurant based on the type of food they want to eat. Below are the test cases, their priorities (smaller number = higher priority), and logical dependencies.
| Test case | Test condition covered | Priority (1 = higher) |
Logical dependency |
|---|---|---|---|
| TC 001 | Select type of food | 3 | none |
| TC 002 | Select restaurant | 2 | TC 001 |
| TC 003 | Get direction | 1 | TC 002 |
| TC 004 | Call restaurant | 2 | TC 002 |
| TC 005 | Make reservation | 3 | TC 002 |
Question: Which test case should be executed as the third one?
- a) TC 003
- b) TC 005
- c) TC 002
- d) TC 001
✅ Correct Answer: a) TC 003
📘 Explanation (EN/KR)
Step 1 — Respect logical dependencies
From the table:
- TC 001 has no dependency → it can be first.
- TC 002 depends on TC 001.
- TC 003, TC 004, TC 005 all depend on TC 002.
Therefore:
TC 001 must be before TC 002 TC 002 must be before TC 003, TC 004, TC 005
의존성을 보면:
- TC 001: 의존성 없음 → 가장 먼저 실행 가능
- TC 002: TC 001 이후에만 실행 가능
- TC 003, 004, 005: 모두 TC 002 이후에만 실행 가능
따라서 다음 순서는 반드시 지켜야 합니다:
TC 001 → TC 002 → (그 다음에야 TC 003/004/005 가능)
Step 2 — Apply priorities after dependencies
Now consider priorities (1 = highest):
- TC 003 → priority 1
- TC 002, TC 004 → priority 2
- TC 001, TC 005 → priority 3
우선순위를 보면:
- TC 003: 우선순위 1 (가장 높음)
- TC 002, TC 004: 우선순위 2
- TC 001, TC 005: 우선순위 3
But remember: even though TC 003 has the highest priority, it cannot run before TC 002, and TC 002 cannot run before TC 001.
TC 003의 우선순위가 가장 높더라도, 반드시 TC 001 → TC 002 이후에야 실행할 수 있습니다.
So the best execution order that respects both dependencies and priorities is:
1st: TC 001 (no dependency) 2nd: TC 002 (depends on TC 001) 3rd: TC 003 (highest priority among tests that depend on TC 002) 4th: TC 004 5th: TC 005
의존성과 우선순위를 모두 고려한 최적 실행 순서는:
1번째: TC 001 2번째: TC 002 3번째: TC 003 4번째: TC 004 5번째: TC 005
Therefore, the third test case to execute is:
👉 TC 003 → option a)
Why other options are incorrect
b) TC 005 – Not correct.
TC 005 has lower priority than TC 003, and like TC 003, it also depends on TC 002.
After TC 001 and TC 002, TC 003 (priority 1) should be executed before TC 005 (priority 3).
TC 005는 TC 003보다 우선순위가 낮고, 마찬가지로 TC 002 이후에야 실행할 수 있습니다. 따라서 3번째로 실행되는 테스트는 우선순위 1인 TC 003이어야 합니다.
c) TC 002 – Not correct.
TC 002 should be executed as the second test (right after TC 001),
not as the third.
TC 002는 TC 001 이후 2번째로 실행되어야 합니다. 3번째 테스트가 될 수 없습니다.
d) TC 001 – Not correct.
TC 001 must be executed first, since everything else depends directly or indirectly on it.
TC 001은 어떤 의존성도 없고, 다른 테스트의 선행 조건 역할을 하므로 가장 먼저(1번째) 실행되어야 합니다.
📊 Summary Table
| Execution Order | Test Case | Description | 설명 (KR) |
|---|---|---|---|
| 1st | TC 001 | Select type of food | 음식 종류 선택 |
| 2nd | TC 002 | Select restaurant | 레스토랑 선택 |
| 3rd | TC 003 | Get direction | 길 찾기(경로 안내) |
| 4th | TC 004 | Call restaurant | 레스토랑 전화 걸기 |
| 5th | TC 005 | Make reservation | 예약하기 |
4. Summary & Call to Action
When ordering test execution, always:
- Respect logical dependencies first
- Then use priorities to choose among available tests
테스트 실행 순서를 정할 때는:
- 먼저 의존성(선행 관계)을 지키고
- 그 다음 우선순위를 기준으로 선택해야 합니다.
In this question, that leads to TC 001 → TC 002 → TC 003 as the third test.
이 문제에서는 그 결과,
TC 001 → TC 002 → TC 003 순서가 되며,
정답은 a) TC 003입니다.
FL-5.1.5
Related: More ISTQB Posts | 다음 문제
