Skip to content

docs(qa): 마음의 기록 회귀 체크리스트를 현재 코드 기준으로 다시 쓴다 (#269) - #1107

Merged
Sadturtleman merged 2 commits into
developfrom
docs/269-mindrecord-regression
Aug 25, 2026
Merged

Sadturtleman merged 2 commits into
developfrom
docs/269-mindrecord-regression

Conversation

@Sadturtleman

Copy link
Copy Markdown
Collaborator

#269 의 체크리스트를 지금 코드 기준으로 다시 쓴다. 이슈는 열어 둔다 — 실제 QA 회차를 도는 것이 그 이슈의 몫이고, 이 PR 은 그때 쓸 목록을 정리한 것이다.

왜

원 체크리스트는 fix/253(PR #255) 시점 것이라 지금 없는 기능을 포함한다.

원 항목 근거
깊은 생각 목록·작성 MindRecordCategory 에 값이 없고 DeepThoughtScreen 도 없다
카테고리 CRUD (CategoryError sealed 분기) 화면·저장소 모두 없다
위클리 「깊은 생각」 카운트 서버가 deepThoughtAmount 를 계속 내려주지만 DTO 에 선언하지 않아 무시된다
위치 추가 버튼 작성 화면에 없다

그리고 그 사이 자동 테스트가 156건까지 늘었는데(feature/mindrecord/{presentation,data,domain}), 무엇이 이미 고정돼 있는지 알 수 없어 매 회차마다 전수를 손으로 도는 형태였다.

무엇을

항목을 둘로 가른다.

  • [자동] — 테스트가 고정한다. 테스트 이름을 그대로 적었다. 「무엇을 고정하는지」를 문서 서술이 아니라 코드에서 확인할 수 있어야 문서가 썩지 않는다.
  • [수동] — 실기기·실서버가 필요하거나(권한·IME·피커), 픽셀 판정이거나, 서버 상태를 만들어야 하는 것.

예를 들어 주간 리포트의 기록일 집계는 이렇게 적혀 있다.

- [자동] 기록일 집계 — sparse week, 월 경계, 같은 날 합산, 주 범위 밖 제외
  — WeeklyReportRecordedDaysTest(17건)

수신자 열람처럼 자동으로 못 덮는 자리는 그 이유까지 남겼다 — delivery-verification 이 APPROVED 인 계정이 필요하다.

이 문서가 하는 말

전수 회차를 돌 때 손으로 볼 목록이 짧아진다. 0번(횡단)만 봐도 계약 키 누락 31건·날짜 해석 11건·취소 2건이 이미 자동이라, 남는 것은 회전·다크모드·폰트 스케일·기내모드 4줄이다.

docs/qa/ 에 두는 것은 #1098 이 세우는 QA 문서 구조와 같은 자리다. 그 PR 이 먼저 들어가면 status.md 의 문서 지도에 이 파일을 한 줄 추가하겠다.

검증

문서만 바꾼다 — 코드 변경 0건. 문서에 적은 테스트 이름은 전부 실제 파일에서 뽑아 대조했다.

$ python3 - <<'PY'   # 마음의 기록 3개 모듈의 fun `...`() 개수
mindrecord 자동 테스트 총 156 건

원 체크리스트는 fix/253 시점 것이라 지금 없는 기능(깊은 생각·카테고리 CRUD)을
포함하고 있었고, 그 사이 자동 테스트가 156건까지 늘었는데 무엇이 이미 고정돼
있는지 알 수 없어 매번 전수를 손으로 도는 형태였다.

항목을 [자동]/[수동] 으로 가르고, 자동인 것은 테스트 이름을 그대로 적어 «무엇을
고정하는지» 를 코드에서 확인하게 했다. 지금 없는 기능은 근거와 함께 뺐다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@1hyok 1hyok left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

문서가 «정본은 테스트 코드다» 라고 선언한 만큼 인용 수치를 전수 대조했다. 틀린 값이 하나도 없다 — 클래스 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·시안 대조 해당 없음 — 문서 단독 변경이라 코드·화면에 영향이 없다.

지적

  1. [normal] 총계 문장의 근거 괄호가 비어 있다 → docs/qa/mindrecord-regression.md:15 인라인 코멘트.


정본은 테스트 코드다. 이 문서가 코드와 어긋나면 코드가 맞다.

현재 마음의 기록 3개 모듈의 자동 테스트는 **156건**이다 ().

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[normal] 괄호가 비었다 — **156건**이다 (). 근거(명령어나 기준 커밋)를 넣으려다 만 자리로 보인다.

수치 자체는 맞다(위 본문 대조표). 다만 이 문서의 «정본은 테스트 코드다» 라는 태도에는 재현 방법이 한 줄 붙는 편이 어울린다. 예를 들어 재측정 명령과 기준 리비전을 적으면 다음 사람이 다시 셀 수 있다.

현재 마음의 기록 3개 모듈의 자동 테스트는 **156건**이다
(`88f3a256` 기준, `git grep -c '@Test' -- 'feature/mindrecord/*/src/test/*'`).

기준 리비전을 함께 적는 편이 좋은 이유는 이 값이 금방 움직이기 때문이다 — 지금 열려 있는 #1109 만 머지돼도 DraftListDeleteTest 가 4건이 되고 총계도 함께 오른다.

@Sadturtleman
Sadturtleman merged commit e47f511 into develop Aug 25, 2026
14 checks passed
@Sadturtleman
Sadturtleman deleted the docs/269-mindrecord-regression branch August 25, 2026 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants