무엇을 테스트할지 정하기
이 단계에서 두 가지를 정합니다. 내 앱이 어느 트랙에 속하는지, 그리고 그 앱에서 깨지면 사업이 멈추는 흐름이 무엇인지입니다. 이 둘이 다음 단계에서 그대로 테스트가 됩니다.
Claude Code에서 이 단계는 /3-analyze-target 스킬이 맡습니다. 앞 단계에서 정한 호흡(novice/experienced)에 따라 질문이 한 번에 하나씩 오거나 묶여서 옵니다.
1) 내 앱은 어느 트랙인가
섹션 제목: “1) 내 앱은 어느 트랙인가”세 트랙 중 하나 이상을 고릅니다. 보통은 하나입니다.
| 내 앱의 모양 | 트랙 | 쓰는 도구 |
|---|---|---|
| 브라우저로 여는 웹사이트, SPA, PWA | web | Playwright |
| 설치해서 쓰는 데스크톱 앱 (Electron) | electron | Playwright _electron |
| 폰에 까는 앱 | mobile | Maestro |
어느 트랙인지 헷갈리면 앱을 어떻게 여는지로 판단하면 됩니다. 주소창에 URL을 치고 들어가면 web, 아이콘을 더블클릭해서 창이 뜨면 electron, 폰 홈 화면에서 누르면 mobile입니다.
모바일이면 일단 Maestro로 시작합니다. 모바일 안에서도 Expo냐 React Native냐 네이티브냐에 따라 더 세분된 선택지가 있지만, 그 갈래는 전문가용 매뉴얼에서 다룹니다. 비개발자 호흡에서는 “모바일이면 Maestro”로 충분합니다.
2) 내 앱에 어떻게 붙을 것인가
섹션 제목: “2) 내 앱에 어떻게 붙을 것인가”테스트가 본인 앱을 두드리려면 앱이 어디 있는지를 알려 줘야 합니다. 접근법은 트랙마다 조금씩 다릅니다.
- web: 로컬에서 띄우는 dev server 명령(예:
npm run dev로http://localhost:5173에 뜸) 또는 스테이징 URL. - electron: 빌드된 앱 바이너리 경로 또는 프로젝트 폴더.
- mobile: Expo, React Native, 또는 네이티브 빌드. 시뮬레이터나 에뮬레이터에 설치된 상태.
여기서 본인이 답할 것은 앱의 위치와 띄우는 방법입니다. 테스트 계정 비밀번호 같은 실제 값은 이 자리에서 묻지 않습니다. 그건 본인이 직접 .env.test.local에 적습니다(사전 준비의 6번 자리).
스테이징 환경이 아직 없다면 로컬에서 dev server를 띄워 거기에 붙이는 게 가장 안전하고 빠릅니다.
3) 깨지면 치명적인 흐름 정리하기
섹션 제목: “3) 깨지면 치명적인 흐름 정리하기”가장 중요한 자리입니다. 본인 앱에서 “이게 안 되면 사업이 멈춘다” 수준의 사용자 흐름을 3~5개 끌어냅니다.
AI가 이렇게 묻습니다.
이게 안 되면 사업이 멈추는 사용자 흐름을 알려주세요. (예: 로그인 → 결제 → 대시보드)
각 흐름은 “누가 / 무엇을 하면 / 어떤 결과”의 한 줄로 적습니다. 이 한 줄이 나중에 테스트 한 개가 됩니다. 예를 들면 이런 식입니다.
- 비로그인 방문자가 가격 페이지에서 Pro 결제를 누르면 대시보드로 들어간다
- 로그인한 사용자가 설정에서 프로필 이름을 바꾸면 저장된다
- 새 사용자가 회원가입을 마치면 환영 화면이 뜬다
여기서 욕심을 내지 않는 게 좋습니다. 한 번에 모든 화면을 테스트하려 들면 끝이 안 납니다. 깨지면 가장 치명적인 흐름부터 35개만 고르고, 그중에서도 먼저 자동화할 12개를 표시합니다. 이 1~2개가 smoke 후보, 즉 가장 먼저 만들 테스트입니다. 나머지는 나중에 확장하면 됩니다.
4) 정리된 내용은 어디에 박히나
섹션 제목: “4) 정리된 내용은 어디에 박히나”답을 마치면 AI가 docs/design/e2e-spec.md라는 파일에 정리합니다. §1에는 앱 개요(이름, 설명, 트랙, 접근법, 환경)가, §2에는 크리티컬 흐름 목록이 우선순위와 함께 들어갑니다. 이 파일이 앞으로 테스트의 기준점이 됩니다. AI가 다 적은 다음 어디가 바뀌었는지 보여 주니, 본인이 의도한 흐름이 맞게 들어갔는지 한 번 눈으로 확인하면 됩니다.
무엇을 테스트할지 도무지 안 떠오를 때
섹션 제목: “무엇을 테스트할지 도무지 안 떠오를 때”앱은 있는데 어떤 흐름이 치명적인지 정리가 안 된다면 /brainstorm-e2e를 먼저 부르면 됩니다. 짧은 대화로 “어떤 앱을, 어떤 흐름이 깨지면 사업이 멈추는지”를 같이 좁혀 줍니다. 이걸 거친 다음 /3-analyze-target으로 넘어가면 답이 한결 수월합니다.
트랙과 크리티컬 흐름이 정해졌다면 그중 하나를 실제 테스트로 옮길 차례입니다. 첫 테스트 한 개로 갑니다.