테스트 없는 코드는 추측.
릴리스 전, 자동 플레이스루 실행 — 로봇이 게임 플레이하고 Step 3 계획과 결과 대조.
하나라도 실패하면 출시 안 함. 고치고 나서.
로봇의 일
▶ tap-bounce-survives-spike PASS
▶ no-input-loses-energy PASS
▶ combo-resets-on-late-tap PASS
▶ boss-wall-defeats-ball FAIL ✗
기대: 벽에서 튕김 실제: 벽 통과함
✗ 1개 실패 → deploy 차단
/테스트
로봇이 플레이.
진짜 탭. 진짜 물리. 진짜 점수. 사람은 보고 있지 않음.
각 테스트는 계획 1 규칙에 매핑. 규칙 #6 실패 = 어디 깨졌는지 즉시 알 수 있음.
왜 AI에게 자가 채점 안 시키나
가장 중요한 규칙.
AI가 코드 쓰는 거 도왔음. 그리고 다른 시스템이 테스트 실행. AI는 "테스트 합격" 판단 안 함. 컴퓨터가 실제 출력과 기대값 비교. 순수 숫자.
# 계획이 말함:
완벽 5 탭으로 콤보 = 5
# 로봇이 완벽 5 탭. # 화면의 콤보 숫자 읽음.
실제: 5 기대: 5
✓ 일치 → PASS
# 만약 4였다면: 실제: 4 기대: 5
✗ 불일치 → FAIL "맞을 것 같다"는 안 됨.
/no-vibes
숫자는 거짓말 안 함.
체크는 "맞아 보임"이 아니라 "5 == 5". 숫자 안 맞으면 실패.
이게 vibe-coded 앱의 버그가 우리 게임에 안 들어가는 이유.
흔한 함정
✗ AI에게 자가 채점 시킴 (vibes scoring)
✗ "내 Mac에서 빠르니까" 성능 테스트 스킵
✗ 해피 패스만 테스트
✗ 실패 테스트 안 고치고 비활성화
✗ flaky 테스트를 "가끔" 취급 — 진짜 버그임