Skip to content

Commit ada4a59

Browse files
authored
test: 핵심 도메인 단위 테스트 보강 (#244)
* docs: ai-test-workflow 워크플로와 공통 규칙 정리 * test: lesson 레슨 도메인 단위 테스트 보강 * test: core 결제 쿠폰 사용자 단위 테스트 보강 * docs: ai-test-workflow 단위 테스트 사이클 리포트 정리
1 parent a0a82f6 commit ada4a59

50 files changed

Lines changed: 4992 additions & 613 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

WORKFLOW.md

Lines changed: 0 additions & 122 deletions
This file was deleted.

docs/ai-test-workflow/AGENTS.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# AI Test Workflow Guide
2+
3+
이 문서는 TrainUs 테스트 작업에서 모든 AI 에이전트와 작업자가 먼저 읽어야 하는 최상위 규칙이다.
4+
5+
## Goal
6+
7+
- 테스트 작업을 조사, 계획, 승인, 구현, 리뷰, 최종 확인 단계로 분리한다.
8+
- 테스트 종류에 맞는 실행 경계를 유지한다.
9+
- 승인되지 않은 코드 변경과 범위 확장을 막는다.
10+
- 프롬프트, 도구 사용, 모델, 토큰 사용량을 추적 가능한 산출물로 기록한다.
11+
12+
## Required Reading Order
13+
14+
1. `docs/ai-test-workflow/AGENTS.md`
15+
2. `docs/ai-test-workflow/rules/agent-roles.md`
16+
3. `docs/ai-test-workflow/rules/human-approval-policy.md`
17+
4. `docs/ai-test-workflow/rules/test-boundary.md`
18+
5. `docs/ai-test-workflow/rules/enforcement-checklist.md`
19+
20+
## Report Structure
21+
22+
테스트 작업 산출물은 작업 주제 단위로 관리한다.
23+
24+
```text
25+
docs/ai-test-workflow/reports/{workstream}/
26+
campaign-log.md
27+
pr-draft.md
28+
cycles/
29+
{cycle}/
30+
research-report.md
31+
test-plan.md
32+
review-report.md
33+
cycle-summary.md
34+
prompt-and-tool-log.md
35+
```
36+
37+
## Cycle
38+
39+
각 작업 주제는 같은 사이클을 반복한다.
40+
41+
```text
42+
test task request
43+
>>> Researcher report
44+
>>> Planner report
45+
>>> human approval
46+
>>> implementation
47+
>>> Reviewer report
48+
>>> fixes
49+
>>> cycle summary
50+
>>> final PR draft update
51+
>>> manual PR
52+
```
53+
54+
## Approval Gates
55+
56+
- Gate 1: Planner가 `test-plan.md`를 작성한 뒤 구현 전 사용자 승인 대기
57+
- Gate 2: Reviewer가 `review-report.md`를 작성한 뒤 최종 반영 전 사용자 확인 대기
58+
- Gate 3: `pr-draft.md` 작성 후 사용자가 수동 PR 진행 여부 결정
59+
60+
## Stop Points
61+
62+
- Researcher는 `research-report.md``prompt-and-tool-log.md` 작성 후 종료한다.
63+
- Planner는 `test-plan.md`에 승인 요청 범위를 작성한 뒤 종료한다.
64+
- Implementer는 승인된 범위 구현과 검증 결과 기록 후 종료한다.
65+
- Reviewer는 `review-report.md` 작성 후 파일 수정 없이 종료한다.
66+
- Main agent는 사용자의 다음 승인이 필요한 시점에서 작업을 멈춘다.
67+
68+
## Role Policy
69+
70+
- Main agent: 오케스트레이션, 사용자 승인 확인, 구현, 테스트 실행, 최종 정리
71+
- Researcher: 조사만 수행, 코드 수정 금지
72+
- Planner: 계획만 작성, 코드 수정 금지
73+
- Reviewer: 리뷰만 수행, 코드 수정 금지
74+
- Implementer: 승인 후 구현 담당
75+
76+
## Approval Policy
77+
78+
- 사용자 승인 전 구현 금지
79+
- 승인 전 운영 코드 수정 금지
80+
- 승인 범위 밖 파일 수정 금지
81+
- 테스트 실패를 운영 코드 변경으로 우회 금지
82+
- 리뷰 후 사용자가 최종 확인하기 전 수동 PR 진행 금지
83+
84+
## CodeGraph
85+
86+
- 구조 조사 시작 전 CodeGraph 상태 확인
87+
- `.codegraph/`가 없으면 사용자 승인 후 `codegraph init -i` 실행
88+
- 심볼 위치, 호출 관계, 영향 범위는 CodeGraph 우선 사용
89+
- 문자열 검색, 주석, 로그 메시지는 `rg` 사용
90+
91+
## Record Policy
92+
93+
- 각 사이클 산출물은 `reports/{workstream}/cycles/{cycle}/`에 작성한다.
94+
- 이전 사이클 산출물은 덮어쓰지 않는다.
95+
- 로그에는 프롬프트, 사용 도구, 모델명, reasoning effort, 단계별 토큰 사용량을 기록한다.
96+
- 모델은 구체적인 모델명과 실행 설정으로 기록한다.
97+
- PR은 자동 생성하지 않고 `reports/{workstream}/pr-draft.md`에 초안만 작성한다.
98+
- PR 초안은 `.github/PULL_REQUEST_TEMPLATE.md`를 참고한다.

docs/ai-test-workflow/README.md

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# AI Test Workflow Request Examples
2+
3+
이 파일은 개인용 복사 예시다. 커밋 대상이 아니다.
4+
5+
## 1. Initial Request
6+
7+
```text
8+
/goal 레슨 도메인 단위 테스트 공백 확인 및 커버리지 보강
9+
10+
docs/ai-test-workflow/AGENTS.md를 먼저 읽고 따른다.
11+
12+
작업 묶음: unit-test-coverage
13+
작업 주제: lesson-domain
14+
범위: 레슨 강사/수강생 도메인
15+
제외: 통합 테스트, 운영 코드 변경
16+
17+
Researcher와 Planner는 반드시 별도 서브에이전트로 분리 실행한다.
18+
Researcher 서브에이전트는 gpt-5.4-mini high로 실행해 research-report.md를 작성하게 한다.
19+
Researcher 완료 후 Planner 서브에이전트는 gpt-5.4-mini high로 실행해 test-plan.md를 작성하게 한다.
20+
Planner 완료 후 구현 전 멈추고 사용자 승인을 기다린다.
21+
산출물은 docs/ai-test-workflow/reports/unit-test-coverage/cycles/lesson-domain/ 아래에 작성한다.
22+
```
23+
24+
## 2. Approval Request
25+
26+
```text
27+
/goal 승인된 범위 안에서 레슨 도메인 단위 테스트 구현 및 검증
28+
29+
docs/ai-test-workflow/AGENTS.md를 다시 확인하고 승인된 범위 안에서만 진행한다.
30+
31+
승인 범위:
32+
- {approved_scope}
33+
34+
수정 허용 파일:
35+
- {allowed_files}
36+
37+
수정 금지 파일:
38+
- {forbidden_files}
39+
40+
검증 명령:
41+
- {validation_commands}
42+
43+
메인 에이전트가 승인된 범위만 직접 구현한다.
44+
구현과 검증 후 Reviewer 서브에이전트를 gpt-5.5 medium으로 반드시 별도 실행한다.
45+
Reviewer 서브에이전트는 파일을 수정하지 않고 review-report.md만 작성한다.
46+
리뷰 반영 후 cycle-summary.md와 pr-draft.md를 갱신한다.
47+
최종 확인 전 PR은 생성하지 않는다.
48+
```

0 commit comments

Comments
 (0)