AI 활용 TDD 기반 코드 작성
Test 단계
Plan
→Test
→Act
→Reflect
Workflow 구성에서 Plan 단계 강화를 위해 중간에 Test 단계가 추가됨
실패하는 테스트 케이스 작성 (Red Phase)
Act 단계에서 개발 완료시 Testing 진행 후 Green Phase 완료
장점
코드의 완결성 증대
Plan 단계 내용들이 시나리오 베이스로 검증하기 때문
기획/설계 단계에서 예측 가능
AI로 인한 오류 최소화
단점
토큰 소모가 커서 AI 비용 증가 (약 2배 - 읽고/쓰기)
사전에 디테일한 설계로 인한 비용 증가
AI 기반 개발에서 Test를 사용하는 경우
모듈 단위로 AI로 인한 개발에 리스크가 있는 경우
실제 현업에서 사용시에 사용성이 중요한 경우 (유저 시나리오 -> 테스트 케이스)
기존에 Test 기반으로 작업이 되어있는 경우
Workflow 단계 전환 규칙
Testing 상태 판단 기준
Planning 완료 + TDD Context 수집 중
테스트 설계 및 작성 진행 중
테스트 작업이 완료되지 않은 상태
Acting 상태 판단 기준 (추가사항)
Planing & Testing 완료 + 명시적 트리거 발동
전환 조건
Plan → Test 전환 조건
명시적 트리거 키워드
"test"
"테스트해줘"
"TDD 해줘"
"테스트 작성해줘"
"Red-Green-Refactor 해줘"
전환 시나리오
Test 진행: 모든 조건 충족 → [xxxx-test-rule.mdc]('...') 적용
Planning 유지: 조건 미충족 → [xxxx-plan-rule.mdc]('...') 계속
부분 Test: 필수 Context만 완료 + 트리거 → 주의하며 [xxxx-test-rule.mdc]('...') 진행
Test → Act 전환 조건
자동 전환 조건
테스트 코드 작성 완료 (Red 단계 완료)
모든 핵심 테스트 케이스 구현 완료
Mock 데이터 및 테스트 환경 설정 완료
전환 시나리오
Act 자동 진행: 테스트 코드 작성 완료 → [xxxx-act-rule.mdc]('...') 자동 적용
Testing 유지: 테스트 코드 미완료 → [xxxx-test-rule.mdc]('...') 계속
Act → Reflect 전환 조건 (추가 사항)
필수 조건 (모두 충족해야 함)
7단계 TDD 구현 프로세스 모두 완료 (0-6단계 필수, 7단계 선택적)
TDD Green 단계 달성: 모든 테스트 통과 확인
사용자 시나리오 테스트 통과
전체 기능 동작 확인
Act 단계 TDD 플로우 추가
6단계: 통합 및 최종 검증
목표: 전체 기능 완성 및 TDD Green 단계 달성
[ ] TDD Green 단계: 모든 테스트가 통과화는지 확인
[ ] 테스트 실행:
pnpm test
로 전체 테스트 실행[ ] 테스트 통과 확인: Red → Green 전환 완료 검증
7단계: TDD Refactor 단계 (선택적)
목표: 코드 품질 개선 (테스트 통과 상태 유지)
[ ] 코드 리팩토링 (가독성, 성능, 구조 개선)
[ ] 중복 코드 제거
[ ] 함수/컴포넌트 분리 및 추상화
[ ] 리팩토링 후 테스트 재실행: 모든 테스트가 여전히 통과하는지 확인
[ ] 코드 품질 도구 실행 (ESLint, Prettier 등)
Test 단계
핵심 원칙
TDD Contextx 우선순위 (Red-Green-Refactor)
Test First 접근법으로 견고한 코드 구조 설계
필수 (Must): 테스트 시나리오 정의, 테스트 구조 설계, 실패 테스트 작성
중요 (Should): 테스트 데이터 준비, Mock 전략, 통합 테스트 계획
선택 (Could): 성능 테스트, E2E 테스트, 접근성 테스트
TDD Context 수집 체크리스트
테스트 시나리오 정의
[ ] 핵심 비즈니스 로직 테스트 케이스 식별
[ ] Happy Path 시나리오 정의
[ ] Edge Case 및 Error Case 시나리오 정의
[ ] 사용자 인터렉션 시나리오 정의
[ ] 데이터 검증 시나리오 정의
테스트 구조 설계
[ ] Unit Test 범위 대상 및 대상 컴포넌트/함수 식별
[ ] Integration Test 범위 및 API 연동 테스트 계획
[ ] Component Test 범위 및 UI 상호 작용 테스트 계획
테스트 데이터 준비
[ ] Mock 데이터 구조 설계
[ ] API Response Mock 데이터 준비
[ ] 테스트용 Fixture 데이터 생성
[ ] 다양한 상태값에 대한 테스트 데이터 준비
[ ] Error Response Mock 데이터 준비
Mock 전략 수립
[ ] API 호출 Mock 전략 (MSW, jest.mcok 등)
[ ] External Dependencies Mock 계획
[ ] Store/Context Mock 전략
[ ] 브라우저 API Mock 필요성 확인
[ ] 타이머/날짜 Mock 전략
테스트 실행 계획
[ ] Red Phase: 실패하는 테스트 작성 계획
[ ] Green Phase: 최소한의 구현으로 테스트 통과 계획
[ ] Refactor Phase: 코드 개선 및 테스트 유지 계획
[ ] 테스트 실행 순서 및 의존성 관리
[ ] CI/CD 파이프라인 테스트 통합 계획
Last updated