# 핵심 용어 한눈에

> Specnote를 쓰다 보면 만나는 용어들 — 워크스페이스, 영역, 시나리오, 단계, 검증, 크레딧 — 을 어려운 말 없이 풀어서 정리했어요. 헷갈릴 때 돌아와 찾아보세요.

## 워크스페이스

Specnote에 무언가를 처음 등록하면 그 단위가 **워크스페이스**입니다. 검증하려는 서비스나 앱 하나가 워크스페이스 하나예요. 만들고 있는 쇼핑몰, 사내 도구, 주말에 혼자 만드는 사이드 프로젝트 — 그 한 덩어리가 워크스페이스입니다.

한 워크스페이스 안에는 그 서비스의 테스트, 규칙(정책), 테스트할 주소 같은 환경 정보, 그리고 (연결해 두었다면) 실제 코드 정보가 한곳에 모입니다. 흩어져 있는 게 아니라 워크스페이스 하나로 묶여 있어서, 워크스페이스를 지우면 그 안의 모든 것이 같이 정리돼요.

크레딧 사용량도 워크스페이스 단위로 셉니다. 워크스페이스는 요금제와 상관없이 계정당 1개예요 — 다른 서비스를 확인하려면 쓰던 워크스페이스를 정리하고 새로 만듭니다.

## 영역 · 테스트(시나리오) · 단계

워크스페이스 안의 검증은 세 층으로 나뉩니다. 큰 묶음에서 작은 동작 순서예요.

- **영역** — 비슷한 목적을 가진 테스트를 한데 모은 묶음입니다. 예를 들어 "회원가입·로그인"이 한 영역이고, "장바구니·결제"가 또 다른 영역이에요. 화면에서는 테스트들이 이 영역 아래로 정리됩니다.
- **테스트(시나리오)** — 사용자가 앱에서 처음부터 끝까지 완료하는 하나의 흐름입니다. "이메일로 로그인하기" 같은 한 줄짜리 일이에요. 검증은 이 테스트 단위로 돌아갑니다. 제품 안에서는 같은 것을 **시나리오**라고도 부릅니다.
- **단계** — 테스트 안의 한 동작입니다. "이메일 입력하기", "로그인 버튼 누르기"처럼 사람이 화면에서 하는 행동 하나하나가 단계예요.

이 모든 걸 모아 보는 곳이 **작업실(보드)**입니다. 내 작업 공간이라고 생각하면 돼요. 보드에 들어가면 기본 화면인 **대시보드**에 영역과 테스트가 정리돼 보입니다. 어떤 영역에 어떤 테스트가 들어 있는지 한눈에 보이죠. 그 옆에는 **테스트 실행**(검증을 돌리고 이력을 보는 곳), **CI**(코드 올릴 때마다 자동 검증하는 곳), **테스트 환경**(주소·테스트 계정) 같은 탭이 함께 있어요.

같은 화면을 **관점**으로 바꿔 볼 수도 있어요. **전체**, **방문자**(로그인 안 한 사람), **회원**(로그인한 사람) — 셋 중 하나를 골라 그 입장에서 어떤 흐름이 있는지 따로 볼 수 있습니다.

## 검증과 결과

**검증**은 곧 **테스트**입니다. Specnote가 테스트를 실제 브라우저로 한 번 재생해 보는 일이에요. 사람이 손으로 클릭하듯, 화면을 열고 입력하고 버튼을 누르며 끝까지 따라갑니다.

결과는 다음 세 가지 상태로 표시됩니다.

- **통과** — 테스트가 의도대로 끝까지 잘 돌아갔습니다.
- **실패** — 중간에서 막혔습니다. 몇 번째 단계에서, 어떤 화면에서 멈췄는지도 함께 남아요.
- **검증 중** — 지금 재생하고 있는 상태입니다.

판정은 통과 아니면 실패, 둘 중 하나로만 갈립니다. 애매한 중간 판정은 없어요. 예를 들어 "로그인 버튼을 눌렀는데 다음 화면으로 안 넘어갔다"면 그 테스트는 실패로 남고, 멈춘 지점이 표시됩니다. 그리고 검증을 돌릴 때마다 화면 영상과 단계별 스크린샷이 저장됩니다. 결과 한 줄만 보고 끝나는 게 아니라, "그래서 화면에서 무슨 일이 있었나"를 영상으로 되돌려 볼 수 있어요.

검증은 언제나 **하나의 실행 묶음**으로 남아요. 테스트 하나만 돌려도, 여러 개를 한꺼번에 돌려도 그 한 번이 실행 묶음 하나(회차)로 쌓입니다. 그래서 "이번 회차에서 뭐가 통과하고 뭐가 막혔는지"를 되짚어 볼 수 있어요. 어떻게 통과·실패를 가르는지는 [검증은 어떻게 작동하나요](/ko/docs/how-verification-works)에서 자세히 다룹니다.

## 검증 묶음은 사람이 승인한 다음에 돌아가요

새로 검증 묶음(회차)을 시작할 때는, AI가 곧바로 검증을 돌리지 않아요. 먼저 **무엇을 어떤 규칙으로 검증할지 정리한 기획 검토안(PRD)**을 실제 코드를 근거로 만들어 옵니다. 그걸 **사람이 한 번 승인**해야 그 검토안대로 테스트가 제출되고 첫 검증이 자동으로 돌기 시작해요. "무엇을 검증할지"를 사람이 확인한 뒤에만 검증이 시작된다는 원칙이에요 — AI가 마음대로 돌리지 않습니다. (승인은 사람만 할 수 있어요. AI에게 "승인해 줘"라고 시켜도 거부하고 승인 화면 주소만 돌려줍니다.)

단, 이미 있는 묶음을 **다시 검증**하거나 실패한 것만 재실행하는 일, 그리고 CI로 도는 자동 회귀 검증은 이 승인 없이 그대로 돌아가요. 검토안 승인은 "새 검증 묶음을 처음 시작할 때" 거치는 관문이에요. 테스트를 만들거나 고치는 일 자체는 언제든 할 수 있고, 새로 만든 테스트의 첫 검증만 이 승인 흐름에 실려 돌아갑니다.

## 통과 조건 승인과 스스로 따라가기

테스트가 "무엇을 성공으로 볼지"를 **통과 조건**이라고 불러요. Specnote는 이 통과 조건을 마음대로 정하지 않습니다. **사람이 한 번 승인**해야 그 테스트가 "이제 이걸 기준으로 봅니다" 하고 확정돼요. AI는 테스트를 만들고 돌릴 수는 있어도, 통과 조건을 승인하는 일만큼은 대신하지 않습니다. 무엇을 합격으로 볼지는 사람이 정한다는 원칙이에요.

한 번 승인해 둔 테스트는 **화면이 조금 바뀌어도 스스로 따라갑니다.** 버튼 위치가 옮겨지거나 이름이 살짝 달라진 정도면, 테스트가 알아서 그 변화에 맞춰 자기 단계를 고쳐 잡아요(이걸 자동 복구라고 해요). 반대로 "무엇을 확인하려는지"라는 의도 자체가 바뀌면, 그건 다른 테스트로 보고 새 테스트로 갈아 끼웁니다. 이때는 통과 조건을 다시 승인해 달라고 알려 줘요.

그리고 이 도구는 **쓸수록 정확해집니다.** 검증을 돌릴 때마다 "이 화면의 이 버튼은 여기 있다"는 사실이 기억으로 쌓여서, 다음 검증은 헤매지 않고 더 빠르고 정확하게 진행돼요.

## 기획과 달라짐(drift)

코드가 처음 기획한 모습과 어긋난 상태를 **기획과 달라짐**이라고 부릅니다. 영어로는 **drift**예요.

만드는 동안 코드는 계속 바뀝니다. 버튼 위치가 옮겨지고, 입력 항목이 늘고, 흐름이 바뀌죠. 예컨대 처음엔 이메일만 받기로 했던 회원가입에 어느새 휴대폰 인증이 끼어들 수 있어요. 그러다 보면 "원래 이렇게 하기로 했던" 기획과 실제 화면이 조금씩 벌어집니다. 사람 눈으로는 그 차이를 매번 따라잡기 어려워요.

Specnote는 테스트를 실제 화면에 다시 비춰 봐서 이 어긋남을 찾아 줍니다. 검증이 실패로 떨어졌다면, 그건 대개 기획과 달라짐이 생겼다는 신호예요. 또 승인해 둔 통과 조건과 지금 테스트가 서로 어긋나면 "승인과 조건이 달라졌어요" 하고 짚어 주고, **다시 승인**할 수 있게 해 줍니다. 이 어긋남을 빨리 알아채는 것이 Specnote의 핵심입니다.

## CI 포함 — 자동 검증에 넣기

만든 테스트 중 "이건 배포 전마다 꼭 통과해야 해" 싶은 것은 **CI 포함**으로 켜 둘 수 있어요. 이렇게 켠 테스트는 코드를 올릴 때마다 자동으로 검증됩니다. 이 켜고 끄기도 **사람만** 할 수 있는 결정이에요(AI가 마음대로 넣지 않습니다). 자세한 연결 방법은 [CI 자동 검증 연결하기](/ko/docs/connect-ci)에서 다룹니다.

## Backward 검증과 Forward 기획

Specnote를 이해하는 데 도움이 되는 두 개념이 **Backward**와 **Forward**입니다. 이건 화면에 있는 버튼이나 켜고 끄는 스위치가 아니라, "지금 어느 방향으로 일하고 있나"를 가리키는 말이에요.

- **Backward 검증** — 이미 만들어 둔 코드에서 거꾸로 거슬러 올라가 테스트를 뽑아 검증하는 방향입니다. 이미 돌아가는 앱이 기획대로 작동하는지 확인할 때의 흐름이에요. Specnote의 주된 쓰임이 여기예요.
- **Forward 기획** — 테스트에 "이 기능이 왜 있는가"라는 기획 의도를 사람이 채워 넣는 층입니다. 누가, 무엇을, 왜 하는지를 적어 두면 검증의 기준이 더 또렷해져요.

다시 강조하면, 둘 다 **개념을 설명하는 말**이에요. 화면 어딘가에서 모드를 직접 바꾸는 게 아니라, 작업의 방향을 부르는 이름으로 알아 두면 됩니다.

## 크레딧과 플랜

**크레딧**은 AI가 일한 양을 세는 단위입니다. 테스트를 정리하거나 AI가 화면을 분석하는 것처럼 AI가 움직일 때 크레딧이 줄어들어요. (단계가 화면과 맞는지 먼저 대조하는 과정처럼, 크레딧을 쓰지 않는 작업도 있습니다.)

플랜은 세 가지예요.

- **무료** — 가볍게 시작해 보는 플랜.
- **Standard** — 본격적으로 쓰기 시작할 때.
- **Pro** — 더 많은 크레딧이 필요할 때.

결제는 **Paddle**로 안전하게 처리됩니다. 크레딧이 떨어지면 충전할 수 있어요. 크레딧이 어디에 얼마나 쓰이는지, 플랜이 어떻게 다른지는 [크레딧과 요금제](/ko/docs/billing-and-credits)에서 정리했습니다.

처음 테스트를 만드는 방법이 궁금하다면 [테스트 만들기](/ko/docs/creating-scenarios)를 보세요.

---

Source: https://specnote.io/ko/docs/key-concepts
