ATDD and Acceptance Criteria (AC3)
1. Introduction
Acceptance Test-Driven Development (ATDD) focuses on defining acceptance tests before implementation, based directly on acceptance criteria.
This question checks whether you can select the test case that BEST verifies a specific acceptance criterion.
ATDD(인수 테스트 주도 개발)는 구현 전에 인수 기준(Acceptance Criteria)을 기반으로 테스트를 먼저 정의하는 접근 방식입니다. 이 문제는 특정 인수 기준을 가장 잘 검증하는 테스트 케이스를 고를 수 있는지를 묻습니다.
2. User Story and Acceptance Criteria
User Story
As a Regular or Special user, I want to be able to use my electronic floor card, to access specific floors.
Acceptance Criteria
- AC1: Regular users have access to floors 1 to 3
- AC2: Floor 4 is only accessible to Special users
- AC3: Special users have all the access rights of Regular users
인수 기준 요약:
- AC1: 일반 사용자는 1~3층 접근 가능
- AC2: 4층은 특별 사용자만 접근 가능
- AC3: 특별 사용자는 일반 사용자의 모든 접근 권한을 가진다
3. What Does AC3 Really Mean?
AC3 states that Special users inherit all access rights of Regular users.
Therefore, to test AC3, we must:
- use a Special user, and
- verify access to floors that are explicitly available to Regular users (floors 1–3)
AC3의 핵심은 특별 사용자가 일반 사용자의 권한을 모두 포함한다는 점입니다. 따라서 테스트는 반드시 특별 사용자를 기준으로, 일반 사용자에게 허용된 층(1~3층)에 대한 접근을 검증해야 합니다.
4. Practice Question
❓ Question
Which test case is the MOST reasonable one to test AC3?
- a) Check that a Regular user can access floors 1 and 3
- b) Check that a Regular user cannot access floor 4
- c) Check that a Special user can access floor 5
- d) Check that a Special user can access floors 1, 2 and 3
✅ Correct Answer: d)
5. Explanation (EN / KR)
✔ d) Special user can access floors 1, 2 and 3 — Correct
This test case directly verifies that a Special user has the same access rights as a Regular user.
Since floors 1 to 3 are explicitly defined as accessible to Regular users (AC1), confirming that a Special user can access these floors directly validates AC3.
이 테스트 케이스는 특별 사용자가 일반 사용자가 접근 가능한 1~3층에 모두 접근할 수 있는지를 확인합니다. 이는 AC3(권한 상속)를 가장 직접적으로 검증하는 테스트입니다.
❌ a) Regular user access to floors 1 and 3 — Incorrect
This test case verifies AC1, not AC3. AC3 is about Special users, not Regular users.
이 선택지는 일반 사용자 권한을 검증하는 것으로, AC1에 해당하며 AC3와는 관련이 없습니다.
❌ b) Regular user cannot access floor 4 — Incorrect
This test case is related to AC2, not AC3, and again focuses on a Regular user.
이 테스트는 4층 접근 제한(AC2)을 확인하는 내용으로, AC3 검증과는 맞지 않습니다.
❌ c) Special user can access floor 5 — Incorrect
Floor 5 is not mentioned in the acceptance criteria. Test cases should not extend the scope of the user story.
Even as negative testing, this test is not directly related to AC3.
5층은 인수 기준에 정의되어 있지 않으므로 테스트 범위를 벗어납니다. 또한 AC3와 직접적인 연관도 없습니다.
6. Summary Table
| Option | User Type | Validated AC | 판단 |
|---|---|---|---|
| d | Special | AC3 | 정답 |
| a | Regular | AC1 | 오답 |
| b | Regular | AC2 | 오답 |
| c | Special | None | 범위 초과 |
7. Final Takeaway
For ISTQB exams, remember:
To test an acceptance criterion, design a test case that directly targets that criterion—no more, no less.
시험에서는 이렇게 기억하세요.
인수 기준 테스트는 해당 기준을 가장 직접적으로 검증하는 시나리오를 선택해야 한다.
Related: More ISTQB Posts | Next Question