테스트 피라미드와 클로드 코드
- 테스트 피라미드 : 단위 테스트를 기반으로 하고, 통합 테스트와 E2E 테스트를 적절히 배치하는 전략
클로드 코드는 각 레벨의 테스트를 효과적으로 생성하고 관리할 수 있도록 도와준다.
단위 테스트
함수 테스트 생성
함수의 로직을 분석하여 완전한 테스트 스위트(Test Suite:같은 목적을 가진 여러 테스트를 모아놓은 집합)를 자동으로 생성한다. 이를 통해 개발자는 테스트 작성에 소요되는 시간을 줄일 수 있다.
> 다음 함수에 대한 Jsest 테스트 코드를 작성해줘
함수 코드
edge case 와 정상 케이스를 모두 포함해줘
리액트 컴포넌트 테스트
> 다음 React 컴포넌트에 대한 테스트를 작성해줘
React 코드
React Testing Library 를 사용해줘
TDD 워크플로
Red-Green-Refactor 사이클
TDD 는 테스트를 먼저 작성하고 구현하는 개발 방법론이다. Red-Green-Refactor 라는 3단계 사이클을 반복하면서 안전하고 견고한 코드를 만들어 나간다.
Red : 실패하는 테스트 작성
아직 구현되지 않은 기능에 대한 테스트를 작성한다. 이 테스트는 당연히 실패(Red) 하게 된다. 중요한 것은 요구사항을 명확하게 정의하는 테스트를 작성하는 것이다.
> 사용자 등록 기능을 TDD로 개발한다. 먼저 실패하는 테스트 부터 작성해줘. 요구사항은 다음과 같아
- 이메일과 비밀번호로 회원가입
- 이메일 중복 체크
- 비밀번호 해싱
- 입력값 유효성 검사
Green : 최소한의 코드로 테스트 통과시키기
테스트를 통과시키는 최소한의 코드를 작성한다. 이 단계에서는 코드의 품질보다는 테스트를 통과시키는 것이 목표이다.
> 작성된 테스트를 통과하는 UserService 클래스를 구현해줘. 최소한의 코드로 테스트만 통과하면 돼
Refactor : 코드 품질 개선
테스트가 통과하는 상태에서 코드의 구조와 품질을 개선한다. 테스트가 안전망 역할을 하므로 안심하고 리팩토링할 수 있다.
> UserService 코드를 리팩토링해줘. 의존성 주입, 에러 핸들링 개선, 타입 안정성 강화를 적용하고
테스트도 함께 수정해줘
테스트 커버리지 개선
테스트가 부족한 영역이 있을 수 있다. 누락된 테스트 케이스를 추가하여 높은 커버리지를 달성하고, 코드의 안정성과 신뢰성을 크게 향상 시킨다.
> 현재 코드의 테스트 커버리지를 분석하고,
누락된 테스트 케이스를 추가해줘.
목표 커버리지는 90% 이상입니다.
통합 테스트
API 통합 테스트
> Express API 엔드포인트에 대한 통합 테스트 작성해줘
POST ~
GET ~
PUT ~
DELETE ~
Supertest 를 사용하고, 데이터베이스는 모킹해줘
E2E 테스트(End-to-End Testing)
> 전자상거래 사이트의 구매 플로우에 대한 E2E 테스트를 PlayWright 로 작성해줘
1. 홈페이지 방문
2. 상품 검색
3. 상품 선택
4. 장바구니 추가
5. 체크아웃
6. 결제 정보 입력
7. 주문 완료 확인
Visual Regression 테스트
UI 의 시각적 변경사항을 자동으로 감지하고 검증한다. 프런트엔드 개발에서 발생할 수 있는 시각적 버그를 사전에 차단한다.
특히 반응형 디자인과 크로스 브라우저 호환성 문제를 조기에 발견할 수 있고, 수동 UI 테스트의 필요성을 크게 줄요 개발 효율성을 향상시킨다.
> Percy 나 Chromatic 을 사용한 visual regression 테스트를 설정해줘
주요 페이지의 스크린샷을 자동으로 비교하도록 설정해줘
테스트 자동화와 CI/CD
깃허브 액션 테스트 자동화
깃허브 액션 워크플로를 자동으로 생성하여 지속적 통합 환경을 구축할 수 있다. 특히 PR 생성 시 자동 테스트 실행으로 코드 품질을 보장한다.
> GitHub Actions workflow 를 생성해줘
- PR 생성 시 모든 테스트 실행
- 테스트 커버리지 리포트 생성
- 테스트 실패 시 PR 병합 차단
- 병렬 테스트 실행으로 속도 최적화
테스트 모니터링과 리포팅
테스트 대시보드 설정
테스트 결과를 시작적으로 모니터링할 수 있는 대시보드를 구축한다. 테스트 통과율 추이를 통해 코드 품질 변화를 한눈에 파악할 수 있고, 커버리지 그래프로 테스트 완성도를 지속적으로 추적한다. 실패한 테스트와 실행 시간 분석을 통해 성능 병목 지점을 조기에 발견하여 프로젝트의 전반적인 테스트 건강도을 체계적으로 관리할 수 있다.
> 테스트 결과를 시각화하는 대시보드를 만들어줘
- 테스트 통과율 추이
- 커버리지 변화 그래프
- 실패한 테스트 목록
- 테스트 실행 시간 분석
'클로드 코드' 카테고리의 다른 글
| [클로드 코드 완독 챌린지] - 3주차 : 명세 작성 및 문서화 - 살아 있는 문서 만들기 (0) | 2025.10.21 |
|---|---|
| [클로드 코드 완독 챌린지] - 3주차 : 개선 : 코드리뷰,리팩토링,성능 최적화 (0) | 2025.10.20 |
| [클로드 코드 완독 챌린지] - 3주차 : 부트스트래핑 - 프로젝트 초기 구성 자동화 (0) | 2025.10.12 |
| [클로드 코드 완독 챌린지] - 3주차 : 프로젝트 설계 (0) | 2025.10.12 |
| [클로드 코드 완독 챌린지] - 2주차 : MCP 연동 (1) | 2025.10.04 |