ISTQB 연습문제 풀이 - Exam A : Q#33



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 | 다음 문제

다음 이전