chatgpt

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

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

TDD테스트주도개발단위테스트통합테스트모킹테스트커버리지Red-Green-Refactor
💡

프롬프트 사용 방법

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

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

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

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

사용 프레임워크

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

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

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

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

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

According to the 2024 State of Testing Report, TDD를 실천하는 팀은 버그 발생률을 40-90% 감소시키며, 코드 커버리지가 80% 이상인 프로젝트는 프로덕션 버그가 60% 적게 발생합니다. 또한 TDD 도입 팀은 장기적으로 개발 속도가 25% 향상됩니다. 이러한 업계 표준을 반영하여 체계적인 TDD를 수행하세요.

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

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

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

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

## 간단 버전

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

---

## 입력값 가이드

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

---

## 인풋 필드

```text
[프로그래밍_언어]
▼ 드롭다운 선택
옵션: 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 (검증): 결과 값 확인

🚀 AI 바로 열기