chatgpt

ChatGPT 테스트 주도 개발(TDD) 프롬프트 - 체계적인 테스트 코드 작성 가이드

ChatGPT로 테스트 주도 개발(TDD)을 체계적으로 수행하는 프롬프트입니다. Red-Green-Refactor 사이클, 단위 테스트 작성법, 모킹 기법, 테스트 커버리지 전략까지 전문가 수준의 TDD 가이드를 제공합니다.

수정
💡

프롬프트 사용 방법

  1. 1단계: 아래 입력 칸에 각 항목에 맞는 정보를 적어주세요
  2. 2단계: 입력하면 아래 프롬프트가 자동으로 업데이트됩니다
  3. 3단계: '프롬프트 복사' 버튼을 눌러 ChatGPT/Claude에 붙여넣으세요

💡 입력 칸의 회색 글씨는 예시입니다. 참고해서 작성해보세요!

📝 필요한 정보를 입력해주세요 (총 5개)

프로그래밍 언어에 대한 값을 입력하세요

사용 프레임워크

테스트 프레임워크에 대한 값을 입력하세요

기능 설명에 대한 값을 입력하세요

요구사항에 대한 값을 입력하세요

📋 완성된 프롬프트 (복사해서 사용하세요)

당신은 Kent Beck의 TDD 철학을 실천하는 10년 경력의 테스트 전문가입니다. Red-Green-Refactor 사이클로 체계적인 테스트 주도 개발을 진행하세요.


## 프로젝트 정보
- 언어: {{프로그래밍_언어}}
- 프레임워크: {{프레임워크}}
- 테스트 프레임워크: {{테스트_프레임워크}}
- 기능 설명: {{기능_설명}}

## 요구사항
{{요구사항}}

## TDD 프로세스
1. Red: 실패하는 테스트 먼저 작성 (컴파일 가능)
2. Green: 테스트 통과를 위한 최소 코드만 작성
3. Refactor: 테스트 유지하며 코드 품질 개선

## 출력 형식
1. 테스트 계획 (케이스 목록 + 우선순위)
2. RED: 실패하는 테스트 코드
3. GREEN: 최소 구현 코드
4. REFACTOR: 개선된 최종 코드

입력하지 않은 항목은 원래 표시를 유지합니다.

간단 버전

TDD 방식으로 {{기능_설명}}을 구현해주세요.
언어: {{프로그래밍_언어}}, 테스트 프레임워크: {{테스트_프레임워크}}
Red-Green-Refactor 사이클로 진행해주세요.

입력값 가이드

입력 항목 한국어 설명 placeholder 예시
프로그래밍_언어 어떤 언어로 개발하나요? JavaScript, Python 중 선택 JavaScript, Python, Java, TypeScript
프레임워크 어떤 프레임워크를 사용하나요? 예: Express, Django Express, Django, Spring, NestJS
테스트_프레임워크 테스트는 어떤 도구로 작성하나요? Jest, pytest 중 선택 Jest, pytest, JUnit, Mocha
기능_설명 어떤 기능을 개발하나요? 예: 사용자 인증 시스템 사용자 인증 시스템, 장바구니 기능
요구사항 구체적으로 어떤 기능이 필요한가요? 예: 회원가입, 로그인 회원가입, 로그인, 비밀번호 재설정

인풋 필드

[프로그래밍_언어]
▼ 드롭다운 선택
옵션: JavaScript, TypeScript, Python, Java, Go, C#, C++
placeholder: "TypeScript"
설명: 어떤 언어로 개발하나요?

[프레임워크]
▼ 드롭다운 선택
옵션: Express, NestJS, React, Vue, Django, Flask, Spring, FastAPI, 없음
placeholder: "Express"
설명: 어떤 프레임워크를 사용하나요?

[테스트_프레임워크]
▼ 드롭다운 선택
옵션: Jest, Mocha, Jasmine, pytest, unittest, JUnit, Go test
placeholder: "Jest"
설명: 테스트는 어떤 도구로 작성하나요?

[기능_설명]
▼ 텍스트 입력
placeholder: "예: 사용자 인증 시스템"
설명: 어떤 기능을 개발하나요? 간단히 설명해주세요

[요구사항]
▼ 텍스트 영역 입력
placeholder: "예: 회원가입, 로그인, 비밀번호 재설정"
설명: 구체적으로 어떤 기능이 필요한가요? 요구사항을 나열해주세요

TDD 3가지 법칙

  1. 실패하는 단위 테스트를 작성할 때까지 프로덕션 코드를 작성하지 않는다
  2. 컴파일은 되지만 실패하는 테스트만 작성한다
  3. 현재 실패하는 테스트를 통과시키는 데 필요한 최소한의 코드만 작성한다

AAA 패턴

// Arrange (준비): 객체 생성, 의존성 설정, 테스트 데이터
// Act (실행): 테스트 대상 메서드 호출
// Assert (검증): 결과 값 확인

FIRST 원칙

  • Fast: 빠르게 실행
  • Independent: 서로 독립적
  • Repeatable: 언제든 동일 결과
  • Self-Validating: 자동 성공/실패 판단
  • Timely: 프로덕션 코드 직전에 작성

모킹 전략

상황 모킹 사용 실제 구현 사용
외부 API 호출
데이터베이스 ✅ (속도) 통합 테스트에서
순수 함수
도메인 로직

테스트 커버리지 목표

종류 목표
라인 커버리지 80% 이상
분기 커버리지 70% 이상
함수 커버리지 90% 이상

자주 묻는 질문 (FAQ)

Q: TDD가 개발 속도를 늦추지 않나요?

A: 단기적으로는 느릴 수 있지만, 장기적으로는 빠릅니다:

  • 초기: 테스트 작성 시간 추가 소요
  • 중기 검토: 버그 수정 시간과 회귀 발생 기록을 비교하세요.
  • 장기 검토: 변경 소요 시간과 유지보수 경험을 실제 작업 기록으로 확인하세요.

Q: 모든 코드에 TDD를 적용해야 하나요?

A: 상황에 따라 다릅니다:

  • TDD 권장: 핵심 비즈니스 로직, 복잡한 알고리즘, API
  • TDD 선택: 간단한 CRUD, 프로토타입, 일회성 스크립트
  • TDD 비권장: 단순 UI 컴포넌트, 설정 파일

Q: 테스트 커버리지는 어느 정도가 적절한가요?

A: 프로젝트 성격에 따라 다릅니다:

  • 핀테크/의료: 90% 이상 권장
  • 일반 웹 서비스: 70-80% 적정
  • 프로토타입: 50% 이상
  • 100% 커버리지보다 중요한 로직 우선 테스트가 핵심입니다

Q: 레거시 코드에 TDD를 어떻게 적용하나요?

A: 점진적으로 적용하세요:

  1. 버그 수정 시: 먼저 실패하는 테스트 작성
  2. 새 기능 추가 시: TDD로 개발
  3. 리팩토링 시: 테스트 추가 후 변경 한 번에 모든 코드에 테스트를 작성하려 하지 마세요

🚀 AI 바로 열기

🔗 관련 프롬프트

chatgpt

ChatGPT 코드 리팩토링 프롬프트 - 클린 코드 변환 가이드

ChatGPT로 레거시 코드를 클린 코드로 리팩토링하는 프롬프트입니다. SOLID 원칙, 디자인 패턴, 성능 최적화까지 체계적인 리팩토링 가이드를 제공합니다.

리팩토링클린코드
프롬프트와 사용 가이드
chatgpt

ChatGPT 코드 품질 검토 프롬프트 - 전문가 수준 코드 리뷰 가이드

ChatGPT로 코드 품질을 체계적으로 검토하는 프롬프트입니다. 코딩 표준 준수, 보안 취약점 탐지, 성능 최적화, 리팩토링 제안까지 제공합니다.

코드리뷰코드품질
프롬프트와 사용 가이드
chatgpt

ChatGPT 테스트 코드 작성 프롬프트 - 단위 테스트/통합 테스트 작성 가이드

ChatGPT로 단위 테스트와 통합 테스트 코드를 작성하는 프롬프트입니다. Jest, Pytest, JUnit 등 다양한 테스트 프레임워크를 활용한 테스트 케이스 설계 방법을 안내합니다.

테스트코드단위테스트
프롬프트와 사용 가이드
chatgpt

AI 출력 평가 세트 프롬프트: 정상·경계·공격 입력과 채점표 설계

작업 명세를 바탕으로 정상, 경계, 모호한 입력과 지시 덮어쓰기 사례를 포함한 AI 평가 세트를 설계합니다. 기대 결과와 실제 실행 결과를 분리하고 필드별 채점 기준을 정합니다.

AI평가평가세트
프롬프트와 사용 가이드