수동 테스트에서 AI로의 전환: Keploy API 테스트 경험
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
- *소프트웨어 개발자** (Express, Jest 사용자 및 API 테스트에 관심 있는 개발자)
- *난이도**: 중간 (AI 테스팅 도구 사용 경험 필요)
핵심 요약
- Keploy 도입 전: 수동 테스트로 인한 반복적 작업과 낮은 테스트 커버리지 (
70%
) - Keploy 도입 후: AI 기반 자동 생성으로 테스트 커버리지
95%
달성 및 테스트 시간시간 → 분
단축 - 핵심 도구:
Keploy CLI
,GitHub Actions
,Jest
,Express
섹션별 세부 요약
1. 초기 수동 테스트 과정
- 수동 테스트 흐름:
Express
라우터에 새로운 API 엔드포인트 작성Jest
로 테스트 파일 생성- 모의 데이터 및 데이터베이스 연결 설정
- 성공/실패/경계 조건별 테스트 작성
- 문제점:
- 엔드포인트 수 증가로 인한 테스트 작성 시간 증가
- 요구사항 변경 시 반복 작업 필요
2. Keploy 도입 과정 및 도전
- CLI 문제:
- WSL
/PowerShell
에서 API 요청 로깅 실패
- Keploy CLI
가 트래픽을 제대로 수집하지 못함
- VS Code 확장기 문제:
- API 호출 기록 및 테스트 리포트 저장 실패
- 반복적인 설정 작업 필요
- 문서 부족:
- 문제 해결을 위한 명확한 가이드 부재
- 3시간 이상 소요된 디버깅
3. Keploy 웹 인터페이스 기반 솔루션
- 웹 인터페이스 활용:
- https://keploy.io/
사용으로 CLI/확장기 문제 해결
- 테스트 생성 및 실행이 직관적
- CI/CD 통합:
- GitHub Actions
에 Keploy 통합 (예시 코드):
- name: Run Keploy Test Suite
run: |
npm start &
sleep 10
export KEPLOY_API_KEY=${{ secrets.KEPLOY_API_KEY }}
keploy test-suite --app=94cad786-1403-4d02-8860-f1c334ada9ee --base-path --cloud
kill $!
- 테스트 결과:
- OpenAPI
스키마 검증, 경계 조건, 동시성 문제 자동 탐지
4. Keploy 도입 이후 영향
- 개발자 생산성 향상:
- 테스트 작성 시간 절감 → 기능 개발에 집중
- PR
자동 테스트 커버리지 확보
- 미리 정의되지 않은 에러:
- 일관되지 않은 에러 형식, 페이징 파라미터, 동시 요청 경쟁 조건 탐지
- 심리적 변화:
- 테스트가 부담으로부터 자동화된 워크플로우 일부로 전환
결론
- 권장사항: Keploy CLI/확장기 문제 발생 시, 웹 인터페이스 우선 사용 (3시간 디버깅 → 1일 테스트 작성 절약)
- 실무 적용 팁:
- GitHub Actions
에 Keploy 통합 시 위의 예시 코드 활용
- OpenAPI
스키마 기반 검증으로 테스트 품질 극대화
- 수동 테스트 대신 AI 기반 테스트 도구 도입으로 개발자 만족도 및 코드 품질 향상 가능