Repository navigation
docs(qa): 마음의 기록 회귀 체크리스트를 현재 코드 기준으로 다시 쓴다 (#269) - #1107
Conversation
원 체크리스트는 fix/253 시점 것이라 지금 없는 기능(깊은 생각·카테고리 CRUD)을 포함하고 있었고, 그 사이 자동 테스트가 156건까지 늘었는데 무엇이 이미 고정돼 있는지 알 수 없어 매번 전수를 손으로 도는 형태였다. 항목을 [자동]/[수동] 으로 가르고, 자동인 것은 테스트 이름을 그대로 적어 «무엇을 고정하는지» 를 코드에서 확인하게 했다. 지금 없는 기능은 근거와 함께 뺐다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1hyok
left a comment
There was a problem hiding this comment.
문서가 «정본은 테스트 코드다» 라고 선언한 만큼 인용 수치를 전수 대조했다. 틀린 값이 하나도 없다 — 클래스 20종의 건수, 계약 4종 합계 31건, 총계 156건이 모두 실제와 맞는다. «지금 없는 기능» 표의 근거 3종도 코드에서 확인된다.
[자동]/[수동] 이분법과 «테스트 이름을 적어 두어 무엇을 고정하는지 코드에서 확인하게 한다» 는 방침이 이 문서가 낡는 속도를 크게 줄인다. blocking 없다.
검증 — 인용 수치 전수 실측
기준 리비전 88f3a256. @Test 수를 직접 세어 대조했다.
| 인용 | 문서 | 실측 |
|---|---|---|
총계(마음의 기록 3개 모듈 src/test) |
156 | 156 (presentation 100 + domain 0 + data 56) |
| 계약 4종 합계 | 31 | 31 (8+6+10+7) |
MindRecordUiMapperTest |
7 | 7 |
DailyQuestionDateFallbackTest |
4 | 4 |
MindRecordCancellationTest |
2 | 2 |
ReceiverMindRecordDraftTest |
3 | 3 |
HtmlBlankTest |
7 | 7 |
DailyQuestionResumeDraftTest |
6 | 6 |
MindRecordFailureRecoveryTest |
3 | 3 |
DraftListDeleteTest |
3 | 3 |
WeeklyReportRecordedDaysTest |
17 | 17 |
WeeklyReportWeekOptionsTest / WeeklyReportWeekMenuTest |
4 / 3 | 4 / 3 |
WeeklyReportEmotionAnalysisTest / EmotionAnalysisContractTest / EmotionCardDescriptionTest |
7 / 8 / 3 | 7 / 8 / 3 |
WeeklyReportSummaryTest |
4 | 4 |
ReceiverDeadEndTest / MindRecordReceiverFailureMapperTest |
3 / 5 | 3 / 5 |
ReceiverRecordDetailTest |
6 | 6 |
파일명이 없는 클래스는 0건이었다 — 즉 인용된 테스트 클래스가 전부 실재한다.
«지금 없는 기능» 표도 확인했다 — deepThought 는 .kt 전체에서 0건(DTO 미선언 주장과 일치), DeepThought 를 포함하는 파일도 0건(DeepThoughtScreen 부재), MindRecordCategory 는 실제로 3값뿐이다.
- CI: 필수 체크 11종 전부 green.
- 실기동 QA·시안 대조 해당 없음 — 문서 단독 변경이라 코드·화면에 영향이 없다.
지적
- [normal] 총계 문장의 근거 괄호가 비어 있다 →
docs/qa/mindrecord-regression.md:15인라인 코멘트.
|
|
||
| 정본은 테스트 코드다. 이 문서가 코드와 어긋나면 코드가 맞다. | ||
|
|
||
| 현재 마음의 기록 3개 모듈의 자동 테스트는 **156건**이다 (). |
There was a problem hiding this comment.
[normal] 괄호가 비었다 — **156건**이다 (). 근거(명령어나 기준 커밋)를 넣으려다 만 자리로 보인다.
수치 자체는 맞다(위 본문 대조표). 다만 이 문서의 «정본은 테스트 코드다» 라는 태도에는 재현 방법이 한 줄 붙는 편이 어울린다. 예를 들어 재측정 명령과 기준 리비전을 적으면 다음 사람이 다시 셀 수 있다.
현재 마음의 기록 3개 모듈의 자동 테스트는 **156건**이다
(`88f3a256` 기준, `git grep -c '@Test' -- 'feature/mindrecord/*/src/test/*'`).
기준 리비전을 함께 적는 편이 좋은 이유는 이 값이 금방 움직이기 때문이다 — 지금 열려 있는 #1109 만 머지돼도 DraftListDeleteTest 가 4건이 되고 총계도 함께 오른다.
#269 의 체크리스트를 지금 코드 기준으로 다시 쓴다. 이슈는 열어 둔다 — 실제 QA 회차를 도는 것이 그 이슈의 몫이고, 이 PR 은 그때 쓸 목록을 정리한 것이다.
왜
원 체크리스트는
fix/253(PR #255) 시점 것이라 지금 없는 기능을 포함한다.MindRecordCategory에 값이 없고DeepThoughtScreen도 없다CategoryErrorsealed 분기)deepThoughtAmount를 계속 내려주지만 DTO 에 선언하지 않아 무시된다그리고 그 사이 자동 테스트가 156건까지 늘었는데(
feature/mindrecord/{presentation,data,domain}), 무엇이 이미 고정돼 있는지 알 수 없어 매 회차마다 전수를 손으로 도는 형태였다.무엇을
항목을 둘로 가른다.
예를 들어 주간 리포트의 기록일 집계는 이렇게 적혀 있다.
수신자 열람처럼 자동으로 못 덮는 자리는 그 이유까지 남겼다 —
delivery-verification이 APPROVED 인 계정이 필요하다.이 문서가 하는 말
전수 회차를 돌 때 손으로 볼 목록이 짧아진다. 0번(횡단)만 봐도 계약 키 누락 31건·날짜 해석 11건·취소 2건이 이미 자동이라, 남는 것은 회전·다크모드·폰트 스케일·기내모드 4줄이다.
docs/qa/에 두는 것은 #1098 이 세우는 QA 문서 구조와 같은 자리다. 그 PR 이 먼저 들어가면status.md의 문서 지도에 이 파일을 한 줄 추가하겠다.검증
문서만 바꾼다 — 코드 변경 0건. 문서에 적은 테스트 이름은 전부 실제 파일에서 뽑아 대조했다.