with one click
qa-test
단위·통합 레벨 QA 자동 실행. 변경 파일 대상.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
단위·통합 레벨 QA 자동 실행. 변경 파일 대상.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | qa-test |
| description | 단위·통합 레벨 QA 자동 실행. 변경 파일 대상. |
변경된 파일에 대해 난이도별 종합 QA 테스트를 수행하고 리포트를 생성합니다.
프리셋 체계는 CLAUDE.md §PDARR + preset system과 docs/14-preset-system.md#qa-test-프리셋에서 canonical로 관리합니다.
qa-test는 기존 4단계 라벨을 보존하면서 2축 alias도 지원합니다(둘 다 동시에 유효).
| 4단계 라벨 | 2축 alias | 범위 |
|---|---|---|
--minimal | --quick | 문법만 (Phase 2) |
--basic | (alias 없음) | 문법 + 품질 (Phase 2-3) |
--standard (기본) | standard | + UI/이벤트 + 의존성 (Phase 2-5) |
--full | --thorough | + 이전 리포트 비교 (Phase 2-7) |
/qa-test # 변경 파일 자동 (난이도 자동 판별)
/qa-test [기능명] # 특정 기능
/qa-test --minimal (= --quick) # 문법만
/qa-test --basic # 문법 + 품질
/qa-test --standard (= standard) # 기본
/qa-test --full (= --thorough)# 전체
/qa-test --team # 팀 (기본 = --full)
/qa-test --team --basic [기능명] # 팀 + 기본
--team 사용 시 5명의 전문가가 병렬로 각자 관점에서 QA를 수행합니다.
단일 모드와 달리 다관점 동시 검증으로 누락을 최소화합니다.
| 에이전트 | 역할 | 검증 관점 |
|---|---|---|
| PM (Lead) | Phase 분배, 결과 종합, 리포트 통합 | 전체 조율 |
| QA Engineer | Phase 2~5 실행, 시나리오 검증, DB 상태 확인 | 기능 정합성 |
| Security Sentinel | SQL Injection, XSS, 권한 우회, 입력값 조작 테스트 | 보안 취약점 |
| Performance Prophet | N+1 쿼리 탐지, 대량 데이터 시나리오, 인덱스 누락 | 성능 병목 |
| Access Advocate | 권한별 접근 테스트, 세션 변조, 비인가 API 호출 | 접근 제어 |
PM: Phase 0 (난이도 판별) + 팀원별 태스크 분배
+-- QA Engineer: Phase 2~5 (문법/품질/UI/의존성)
+-- Security Sentinel: 보안 테스트 (Phase 3 확장)
+-- Performance Prophet: 성능 테스트 (Phase 3 확장)
+-- Access Advocate: 접근 제어 테스트 (Phase 4 확장)
PM: Phase 6~7 (종합 리포트 생성 + 이전 비교)
--team 단독 사용 시 기본 난이도 = --full(= --thorough alias). 상세 조합은 위 난이도 매핑 테이블 참조.
단일 모드 리포트에 아래 섹션이 추가됩니다:
## 보안 테스트 결과 (Security Sentinel)
| 항목 | 테스트 | 결과 |
|------|--------|------|
| SQL Injection | 입력값 이스케이핑 적용 여부 | 통과/실패 |
| XSS | 출력 이스케이핑 적용 여부 | 통과/실패 |
| 권한 우회 | 비인가 접근 시도 | 통과/실패 |
## 성능 테스트 결과 (Performance Prophet)
| 항목 | 테스트 | 결과 |
|------|--------|------|
| N+1 쿼리 | 루프 내 쿼리 탐지 | 통과/실패 |
| 인덱스 | WHERE 절 컬럼 인덱스 확인 | 통과/경고 |
| 대량 데이터 | LIMIT 없는 SELECT | 통과/실패 |
## 접근 제어 테스트 결과 (Access Advocate)
| 항목 | 테스트 | 결과 |
|------|--------|------|
| 세션 검증 | 비로그인 접근 차단 | 통과/실패 |
| 권한 체크 | 타 역할 접근 차단 | 통과/실패 |
| API 권한 | 비인가 API 호출 차단 | 통과/실패 |
Tiebreaker Protocol 적용:
자동 판별 규칙:
| 파일 패턴 | 난이도 |
|---|---|
| 설정, 정적 파일, 문서 | Minimal |
| 유틸리티, 헬퍼, 타입 정의 | Basic |
| 일반 뷰/페이지/컴포넌트 | Standard |
| 결제, 인증, 주문 등 핵심 비즈니스 로직 | Full |
난이도별 테스트 범위:
| Level | 문법 | 품질 | UI/이벤트 | 시나리오 | E2E |
|---|---|---|---|---|---|
| Minimal | O | - | - | - | - |
| Basic | O | O | - | - | - |
| Standard | O | O | O | O | - |
| Full | O | O | O | O | O |
원인 불명 버그, flaky failure, 회귀 의심 변경이면 Phase 2로 바로 넘어가지 말고 다음을 먼저 기록합니다.
재현 루프가 없으면 PASS로 종결하지 않습니다. 이 경우 결과는
NEEDS-INFO 또는 BLOCKED로 남기고 필요한 입력을 명시합니다.
git diff --name-only HEAD
변경된 파일 읽고 검증:
| 항목 | 검증 내용 |
|---|---|
| SQL Injection | 입력값 이스케이핑/파라미터화 사용 여부 |
| XSS | 출력 이스케이핑 처리 여부 |
| 미정의 변수 | 초기화 없이 사용되는 변수 |
| 괄호 불일치 | 열린/닫힌 괄호 수 일치 |
| 이벤트 바인딩 | 이벤트 핸들러 존재 확인 |
변경된 View/Module 파일 분석:
1. 접근 경로
2. UI 요소 검증
3. 이벤트 동작
4. 입출력 검증
리포트 저장:
docs/qa-reports/YYYY-MM-DD_[기능명].md
summary.md 업데이트:
==========================================
QA Test Report: [기능명]
==========================================
Date: YYYY-MM-DD
Level: Standard
Result: PASS
## 변경 파일 (N개)
- path/to/module.file (Module)
- path/to/view.file (View)
## 테스트 결과
| Phase | 항목 | 결과 |
|-------|------|------|
| 1A | Diagnose Loop | repro 확인/불가 |
| 2 | 문법 검증 | 2/2 |
| 3 | 코드 품질 | 통과 |
| 4 | UI/이벤트 | 5/5 |
| 5 | 의존성 | 2개 영향 |
## 시나리오 체크리스트
- [x] 페이지 접근: GET /path/to/page
- [x] UI: 필수 요소 렌더링
- [x] 이벤트: 버튼 클릭 동작
- [x] 입력: 필수값 검증
- [x] 출력: 데이터 표시
## 발견 이슈
없음 (또는 목록)
## Diagnose 결과
- Repro loop:
- Hypotheses:
- 기각한 원인:
- 최종 원인 또는 residual risk:
## Console 에러 체크 (수동)
(프로젝트별 콘솔 에러 체크 명령)
==========================================
리포트 저장: docs/qa-reports/YYYY-MM-DD_[기능명].md
summary.md 업데이트 완료
==========================================
위 Phase 0~7을 순서대로 자동 실행하세요.
$ARGUMENTS 파싱 (기능명, --level 옵션)말없이 바로 실행하고 리포트를 출력하세요.
PDARR pre-spec. 코드베이스 영향 분석 + 실행 전략 추천. 코드 작성 없음.
claude-code-guide를 현재 프로젝트에 자동 설치. 프로젝트 분석 → 프로파일 추천 → 원라이너 실행. --profile solo|team|enterprise|review-only|auto 지원. 전역 설치 후 모든 프로젝트에서 /setup-wizard 호출 가능.
TDD Red 단계. 구현 전 테스트 케이스 작성. 실행 없음.
PRD를 기능 단위로 분해하고 우선순위·의존성·Goal 실행 순서를 정리. /prd 다음, /spec 이전 단계.
PRD(Product Requirements Document) 작성. 새로운 기능 요청에 대한 PRD를 docs/prd/에 생성하고 복잡도 1차 판단 수행. --vibe 옵션으로 바이브코더 인터뷰 가이드 모드 활성화.
코드 품질 검수. 6단계 리뷰 시스템 + 3단계 프리셋(quick/standard/thorough). Specialist Reviewer 연동 지원.