기업·EP-QA-TA-001
테스트 자동화 설계 에이전트
코드만 던지면 전략부터 CI 파이프라인, 커버리지 진단까지 한 번에
SAAH 품질관리기준 통과
- NVIDIA SkillSpector 보안 검사 통과— 위험점수 0/100
- SAAH 품질관리 기준 통과— review-evaluate · 주작
- 유용성 80점 이상— 출시 기준 통과
테스트자동화QACI/CD커버리지단위테스트통합테스트테스트전략
상세 설명
🎯 이런 분께 적합
테스트 없이 결제 로직을 구현한 백엔드 개발자, 레거시 배치 스크립트에 회귀 테스트를 추가하려는 데이터팀 엔지니어, 테스트 자동화 범위를 체계적으로 스코핑하려는 QA 리드에게 적합합니다.
💡 무엇을 해드리나
제공한 코드·기능 명세·요구사항을 바탕으로 테스트 전략 → 테스트 코드 작성 → CI 연동 → 커버리지 분석 4단계를 한 번에 설계합니다. 기존 테스트 프레임워크 흔적(package.json·pytest.ini 등)을 먼저 확인해 그대로 따르고, 대상 범위가 불분명하면 임의로 진행하지 않고 먼저 되묻습니다.
📋 결과로 받으시는 것
- 적용된 설정(확인한 기존 스택·가정·민감정보 치환 여부)
- 리스크 기반 우선순위가 명시된 테스트 전략
- 실행 가능한 테스트 코드 스니펫
- CI 연동 워크플로우(GitHub Actions 예시)
- 추정 커버리지 분석(실행 전 추정치임을 명시)
⏱ 사용 방법
테스트하려는 코드나 기능 명세를 붙여넣으세요. 범위가 불분명하거나 조각 코드만 있는 경우 먼저 확인 질문을 받을 수 있습니다. 산출물은 초안이므로 실제 실행·검토가 필요합니다.
📖 대표 시나리오
스타트업 결제 모듈 테스트 전략 수립
결제 로직을 막 구현한 백엔드 개발자가 테스트가 하나도 없는 상태에서 어디부터 테스트를 짜야 할지 전략과 코드를 함께 받고 싶어한다.
입력 예시
다음은 결제 처리 함수입니다. ```ts export async function processPayment(orderId: string, amount: number) { if (amount <= 0) throw new Error('Invalid amount'); const order = await db.orders.findUnique({ where: { id: orderId } }); if (!order) throw new Error('Order not found'); const result = await paymentGateway.charge(order.customerId, amount); await db.orders.update({ where: { id: orderId }, data: { status: 'paid' } }); return result; } ``` package.json devDependencies에 jest가 있습니다. 이 함수에 대한 테스트 전략과 코드를 만들어주세요.
다음은 결제 처리 함수입니다. ```ts export async function processPayment(orderId: string, amount: number) { if (amount <= 0) throw new Error('Invalid amount'); const order = await db.orders.findUnique({ where: { id: orderId } }); if (!order) throw new Error('Order not found'); const result = await paymentGateway.charge(order.customerId, amount); await db.orders.update({ where: { id: orderId }, data: { status: 'paid' } }); return result; } ``` package.json devDependencies에 jest가 있습니다. 이 함수에 대한 테스트 전략과 코드를 만들어주세요.
결과 요약
package.json 기반 Jest 스택 확인 명시, 결제 로직의 리스크 기반 우선순위(비즈니스 영향도 근거), 실행 가능한 Jest 테스트 코드, GitHub Actions CI 워크플로우, 추정 커버리지가 담긴 4단계 설계를 받는다.
package.json 기반 Jest 스택 확인 명시, 결제 로직의 리스크 기반 우선순위(비즈니스 영향도 근거), 실행 가능한 Jest 테스트 코드, GitHub Actions CI 워크플로우, 추정 커버리지가 담긴 4단계 설계를 받는다.
레거시 Python 배치 스크립트 커버리지 개선
데이터팀 엔지니어가 테스트 없이 운영 중인 대용량 데이터 정제 배치 스크립트에 최소한의 회귀 테스트를 추가하려 한다.
입력 예시
다음은 CSV 정제 배치 스크립트 일부입니다. ```python def clean_records(records): cleaned = [] for r in records: if not r.get('email') or '@' not in r['email']: continue r['email'] = r['email'].strip().lower() cleaned.append(r) return cleaned ``` pytest.ini 파일이 이미 있습니다. 이 함수 대상 테스트 전략과 pytest 코드를 작성해주세요.
다음은 CSV 정제 배치 스크립트 일부입니다. ```python def clean_records(records): cleaned = [] for r in records: if not r.get('email') or '@' not in r['email']: continue r['email'] = r['email'].strip().lower() cleaned.append(r) return cleaned ``` pytest.ini 파일이 이미 있습니다. 이 함수 대상 테스트 전략과 pytest 코드를 작성해주세요.
결과 요약
pytest.ini 존재를 근거로 기존 pytest 스택을 그대로 채택, 정상/경계/오류 케이스가 반영된 pytest 테스트 코드, 리스크 기반 우선순위 근거, GitHub Actions 워크플로우 예시와 추정 커버리지를 받는다.
pytest.ini 존재를 근거로 기존 pytest 스택을 그대로 채택, 정상/경계/오류 케이스가 반영된 pytest 테스트 코드, 리스크 기반 우선순위 근거, GitHub Actions 워크플로우 예시와 추정 커버리지를 받는다.
사내 API 전체 테스트 자동화 범위 협의
QA 리드가 "테스트 만들어줘"라는 모호한 요청을 받고 실제 대상 범위를 정하기 전, 에이전트가 먼저 범위를 되묻는지 확인하며 프로젝트 착수 전 스코핑을 하려 한다.
입력 예시
저희 서비스 전체에 테스트를 만들어주세요.
저희 서비스 전체에 테스트를 만들어주세요.
결과 요약
코드나 명세가 전혀 제공되지 않아 전체 동작·범위를 알 수 없으므로, 4단계 설계에 착수하지 않고 대상 범위(전체 시스템/특정 모듈/특정 기능)와 구체 코드·명세를 먼저 요청하는 확인 질문을 받는다.
코드나 명세가 전혀 제공되지 않아 전체 동작·범위를 알 수 없으므로, 4단계 설계에 착수하지 않고 대상 범위(전체 시스템/특정 모듈/특정 기능)와 구체 코드·명세를 먼저 요청하는 확인 질문을 받는다.
바로 사용하기
에이전트 실행
📎 파일 첨부 (클릭 또는 드래그·다중 최대 10개·개별 50MB·총 200MB)