| name | sprint-status |
| version | 0.4.0 |
| description | 스프린트 중간 상태 확인을 위한 교차 기능 테스트 대시보드입니다. Jira에서 현재
스프린트를 가져오고, 로컬 테스트 지식 베이스(KB) 및 QA 보고서와 교차 참조하여
테스트 완료 현황, 차단 항목, 커버리지 갭을 보여줍니다.
사용 시점: "sprint status", "what's tested", "coverage check", "testing dashboard".
사용하지 않을 때: 특정 티켓을 테스트할 때 (/qa 사용), 테스트 산출물을 생성할 때, 버그를 수정할 때.
|
| tool-groups | ["bash","read","write","glob","grep","ask","jira","jira-fields"] |
| preamble-tier | 1 |
/sprint-status: 테스트 현황 대시보드
스프린트 중간 테스트 현황 점검을 제공하는 SDT 파트너입니다. Jira에서
활성 스프린트를 가져오고, 로컬 테스트 산출물과 교차 참조하여 모든 기능에 걸쳐
테스트 진행 상태를 명확하게 보여줍니다.
제약 사항
- 먼저 Jira에서 가져오기 (사용 가능한 경우). Jira가 없으면 SDT에게 스프린트 티켓을 나열하거나 파일을 지정해 달라고 요청합니다.
- 로컬 산출물과 교차 참조. Jira 상태와 실제 테스트 커버리지를 연결합니다.
- 보고서 형식을 파싱. /qa 보고서에서 AC 검증 표와 티켓 판정을 읽습니다. /verify-fix 보고서에서 판정을 읽습니다. 파일이 존재하는지만 확인하지 말고 내용을 읽습니다.
- 버그를 끝까지 추적. /verify-fix로 버그가 검증될 때까지 완료가 아닙니다.
- 위험에 대해 구체적으로 기술. "PROJ-3은 개발 완료지만 Critical 버그 2건이 미해결이고 릴리스까지 3일 남음" -- "테스트가 지연되고 있음"이 아닙니다.
- 스킬 명령어로 권장. 구체적인
/skill 호출로 마무리합니다.
- 테스트 산출물을 생성하지 않기. 이 스킬은 보고만 합니다. 생성은 다른 스킬을 사용합니다.
features-kb/와 .qa-reports/ 모두 확인.
Phase 1: 스프린트 데이터 수집
방법론 참조: {{REFERENCE_PATH}}/playbook/에서 읽기:
risk-and-priority.md -- 남은 스프린트 기간에 대한 공수 배분
metrics-and-coverage.md -- 커버리지 목표 및 테스트 건전성 지표
execution-sequence.md -- 각 기능이 올바른 테스트 단계에 있는지 확인
maintenance-and-ci.md -- 실행 시간 예산, CI 게이트 건전성, 불안정 테스트 추적
1.1 설정 읽기
.qabuddy.json 읽기 (있는 경우) -- 컨텍스트 소스와 팀 모드를 확인합니다.
contextSource: "spec" -> 질문하기 전에 워크스페이스에서 스펙 파일을 검색합니다
contextSource: "chat" -> Jira를 건너뛰고 SDT에게 직접 컨텍스트를 요청합니다
contextSource: "jira" 또는 설정 없음 -> 기본 동작
1.2 활성 스프린트 가져오기
Jira MCP 사용 시: 현재 스프린트의 티켓을 검색합니다. 스토리와 버그로 필터링합니다. 각 티켓의 상태와 연결된 버그를 확인합니다.
Jira 없이: SDT에게 스프린트 티켓(키 + 제목 + 개발 상태)을 나열하거나, 해당 정보가 있는 파일/스프레드시트를 지정해 달라고 요청합니다.
1.3 로컬 테스트 산출물 확인
각 티켓에 대해 두 위치를 확인합니다:
features-kb/features/*/:
reviews/{TICKET-KEY}-review.md
test-cases/{TICKET-KEY}.md
test-cases/{TICKET-KEY}-mapping.json
qa-reports/{TICKET-KEY}-*.md
qa-reports/BUG-*-verify-*.md
.qa-reports/:
qa-report-{TICKET-KEY}-*.md
exploratory-*-*.md
1.4 QA 보고서 파싱 (qa-report-{TICKET-KEY}-*.md)
- AC 검증 표: AC별 판정 (PASS/FAIL/BLOCKED/NOT TESTED)
- 테스트 실행 요약: 통과/실패/차단/건너뜀 수
- 등록된 버그: 버그 키 및 심각도
- 티켓 판정: PASS/FAIL/BLOCKED
1.5 수정 검증 보고서 파싱 (BUG-*-verify-*.md)
- 판정: VERIFIED/FAILED/REGRESSION. 버그별 상태를 추적합니다.
1.6 탐색적 테스트 보고서 파싱 (exploratory-*-*.md)
- 세션 결과 발견 건수, 권장사항 (진행/추가 세션/차단)
1.7 테스트 스위트 건전성 확인
npx playwright test --list 2>/dev/null | tail -5
git log --oneline -5 --grep="test" 2>/dev/null
Phase 2: 상태 산출
각 티켓에 대해 테스트 상태를 산출합니다:
| 상태 | 기준 |
|---|
| Not Started | 테스트 산출물이 없음 |
| Reviewed | 티켓 리뷰는 있지만 테스트 케이스가 아직 없음 |
| Test Cases Ready | 테스트 케이스를 작성했지만 아직 실행하지 않음 |
| QA In Progress | QA 보고서가 있지만 판정이 FAIL이거나 미해결 버그가 있음 |
| QA Passed | QA 판정 PASS, 모든 AC를 검증함 |
| Bugs Open | QA에서 버그를 등록했지만 일부가 미수정 또는 미검증 |
| Verifying Fixes | 일부 버그가 수정되었지만 모든 /verify-fix 보고서가 검증되지 않음 |
| Blocked | 테스트할 수 없음 (의존성, 환경, 정보 부족) |
| Done | 모든 AC 통과, 모든 버그 검증/종료, 탐색적 테스트 완료 |
티켓별 버그 추적
| Bug Key | 심각도 | Jira 상태 | 수정 검증 판정 | 순 상태 |
|---|
커버리지 평가
- 카운트: 티켓별 총 테스트 케이스, 실행, 통과, 실패, 차단, 건너뜀
- 추적성 매핑을 기반으로 AC 커버리지를 확인합니다 (AC별 전체/부분/없음)
- 테스트 케이스가 0건인 AC를 표시합니다
스프린트 품질 지표 (필수)
수집한 데이터를 기반으로 다음 지표를 산출합니다:
- 결함 유출률:
production-bug으로 레이블/태그된 버그 수 / 이번 스프린트에서 발견한 총 버그 수. 목표: <10%.
- 심각도 분포: 이번 스프린트의 심각도별 버그 수 (Blocker, Critical, Major, Normal, Minor, Trivial).
- MTTR (평균 해결 시간): 검증된 각 버그에 대해
버그 생성에서 verify-fix VERIFIED까지의 일수를 계산합니다. 평균과 최악의 경우를 표시합니다.
- 요구사항 커버리지: 테스트 케이스가 하나 이상 있는 AC 수 / 모든 스프린트 티켓의 총 AC 수. 백분율로 표시합니다.
- 테스트 통과율: 통과한 테스트 케이스 수 / 실행한 총 테스트 케이스 수. SKIPPED은 제외합니다. CI 단계별 데이터가 있으면 단계별로 표시합니다.
- 불안정 테스트 비율: Datadog 추적이 가능하면 불안정 테스트 수 / 총 테스트 수를 표시합니다. 그렇지 않으면 "불안정 테스트 데이터 없음"으로 표시합니다.
지표를 산출할 수 없으면 (데이터 부족) 생략하지 말고 "N/A -- {부족한 데이터}"로 표시합니다.
Phase 3: 자체 평가
대시보드를 생성하기 전에 다음을 확인합니다:
Phase 4: 대시보드 출력
# 스프린트 테스트 현황
**스프린트:** {sprint name} | **날짜:** {YYYY-MM-DD}
**스프린트 기간:** {start} - {end} | **남은 일수:** {N}
## 개요
| 지표 | 값 |
|------|-----|
| 총 티켓 수 | {N} |
| 테스트 완료 (QA Passed 또는 Done) | {N} |
| QA 진행 중 / 버그 미해결 / 수정 검증 중 | {N} / {N} / {N} |
| 테스트 미시작 / 차단 | {N} / {N} |
| **스프린트 테스트 신뢰도** | **{low/medium/high}** |
## 티켓별 상태
| 티켓 | 제목 | 개발 상태 | 테스트 상태 | AC 수 | 통과 | 실패 | 미해결 버그 | 검증된 버그 |
|------|------|----------|-----------|------|------|------|-----------|-----------|
## 버그 추적
| 버그 | 상위 티켓 | 심각도 | Jira 상태 | 검증 여부 | 비고 |
|------|----------|--------|----------|----------|------|
## 위험 항목
1. **{TICKET-KEY}: {title}** -- 개발: {status}, {테스트 갭}. 남은 {N}일. 조치: {/skill command}
## 차단 요소
| 티켓 | 차단 요소 | 해제 담당자 | 차단 일수 |
|------|----------|-----------|----------|
## 스프린트 품질 지표
| 지표 | 값 | 목표 | 상태 |
|------|-----|------|------|
| 결함 유출률 | {N}% | <10% | {OK/WARN} |
| MTTR (평균) | {N}일 | Blocker: <1일, Critical: <스프린트 | {OK/WARN} |
| 요구사항 커버리지 | AC의 {N}%에 테스트 있음 | 증가 추세 | {OK/WARN} |
| 테스트 통과율 | {N}% | >95% | {OK/WARN} |
| 불안정 테스트 비율 | {N}% | <2% | {OK/WARN/N/A} |
### 심각도 분포
| 심각도 | 건수 |
|--------|------|
| Blocker/Critical | {N} |
| Major | {N} |
| Normal | {N} |
| Minor/Trivial | {N} |
## 권장사항
- {"Run `/qa PROJ-2` -- 테스트 케이스 준비됨, 개발 리뷰 중"}
- {"Run `/verify-fix BUG-101` -- 개발이 수정 완료로 표시한 후"}
- {"Run `/test-cases PROJ-4` -- 테스트 케이스 없음, 개발 진행 중"}
**Status:** DONE
**Summary:** {스프린트 테스트 현황 한 줄 요약}
**Next steps:** {최우선 조치}
스프린트 신뢰도 점수 산정
| 신뢰도 | 기준 |
|---|
| High | 80% 초과 티켓이 QA Passed/Done, 미해결 Critical/Blocker 버그 없음, 차단 없음 |
| Medium | 50-80% 커버리지, 또는 Critical 버그 1건 이하 미해결, 또는 차단 1건 |
| Low | 50% 미만 커버리지, 또는 다수의 Critical 버그, 또는 다수의 차단, 또는 남은 기간 2일 초과인데 상당한 테스트가 미시작 |