-
Notifications
You must be signed in to change notification settings - Fork 1
Testing Strategy
stark77 edited this page Feb 27, 2026
·
4 revisions
Peak-Time은 현재 단위 테스트 중심의 검증 체계를 운영하고 있으며, 통합 테스트와 문서 자동화를 단계적으로 확장할 계획입니다.
- 핵심 비즈니스(인증, 결제/환불, 채팅)의 회귀를 빠르게 탐지합니다.
- 기능 추가 시 기존 동작이 깨지지 않도록 안정성을 유지합니다.
- 운영 장애로 이어질 가능성이 높은 시나리오를 우선 검증합니다.
- 도메인 서비스/컨트롤러 중심으로 테스트를 작성해 비즈니스 로직을 검증합니다.
- 주요 검증 대상:
- 인증/재발급/로그아웃
- 결제 승인/취소
- 주문 상태 전이
- 채팅 메시지/참여 로직
-
http/*.http파일로 주요 API 시나리오를 실행해 동작을 확인합니다. - 인증, 강의, 주문, 결제, 채팅, 관리자 흐름을 빠르게 점검할 수 있습니다.
- Local: https://peaktime-edu.xyz/swagger-ui/index.html
- OpenAPI JSON: https://peaktime-edu.xyz/v3/api-docs
- 개발/검증 단계에서 엔드포인트 확인 및 요청/응답 구조 점검
- 프론트/백엔드 협업 시 빠른 API 확인 도구로 활용
- Testcontainers 기반으로 MySQL/Redis 연동 테스트를 확장합니다.
- 우선순위:
- 인증 재발급/재사용 탐지
- 결제 승인/취소 정합성
- 채팅 참여 동시성/메시지 페이징
- 현재 Swagger를 운영 중이며, 향후 REST Docs로 테스트 기반 문서 자동화를 도입할 계획입니다.
- 목표: 문서-코드 불일치 최소화
- 인증 실패/권한 오류/토큰 재발급
- 결제/환불/포인트 정합성
- 채팅방 참여 동시성 및 읽음 처리
- 예외 코드 및 HTTP 상태코드 일관성
- Testcontainers 통합 테스트 본격 적용
- 실패 시나리오(외부 API 장애, Redis 장애) 테스트 케이스 강화
- PR 체크리스트에 테스트 증빙(실행 로그/캡처) 표준화
- 성능/부하 테스트 전략 문서화
- 테스트 코드
https://github.com/Sleep-Less-Specialist/Peak-Time/tree/develop/src/test/java/com/github/sleeplessspecialist/peaktime - Swagger 설정
https://github.com/Sleep-Less-Specialist/Peak-Time/blob/develop/src/main/java/com/github/sleeplessspecialist/peaktime/global/config/swagger/OpenApiConfig.java - Security Swagger 경로 허용
https://github.com/Sleep-Less-Specialist/Peak-Time/blob/develop/src/main/java/com/github/sleeplessspecialist/peaktime/global/common/security/policy/SecurityPathPolicy.java - HTTP 시나리오 파일
https://github.com/Sleep-Less-Specialist/Peak-Time/tree/develop/http - 빌드/테스트 의존성(REST Docs 포함)
https://github.com/Sleep-Less-Specialist/Peak-Time/blob/develop/build.gradle