AI 활용 TDD 기반 코드 작성

Test 단계

PlanTestActReflect

  • Workflow 구성에서 Plan 단계 강화를 위해 중간에 Test 단계가 추가됨

  • 실패하는 테스트 케이스 작성 (Red Phase)

  • Act 단계에서 개발 완료시 Testing 진행 후 Green Phase 완료

장점

  • 코드의 완결성 증대

    • Plan 단계 내용들이 시나리오 베이스로 검증하기 때문

  • 기획/설계 단계에서 예측 가능

  • AI로 인한 오류 최소화

단점

  • 토큰 소모가 커서 AI 비용 증가 (약 2배 - 읽고/쓰기)

  • 사전에 디테일한 설계로 인한 비용 증가

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 전환 조건

자동 전환 조건

  1. 테스트 코드 작성 완료 (Red 단계 완료)

  2. 모든 핵심 테스트 케이스 구현 완료

  3. Mock 데이터 및 테스트 환경 설정 완료

전환 시나리오

  • Act 자동 진행: 테스트 코드 작성 완료 → [xxxx-act-rule.mdc]('...') 자동 적용

  • Testing 유지: 테스트 코드 미완료 → [xxxx-test-rule.mdc]('...') 계속

Act Reflect 전환 조건 (추가 사항)

필수 조건 (모두 충족해야 함)

  1. 7단계 TDD 구현 프로세스 모두 완료 (0-6단계 필수, 7단계 선택적)

  2. TDD Green 단계 달성: 모든 테스트 통과 확인

  3. 사용자 시나리오 테스트 통과

  4. 전체 기능 동작 확인

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