배포할 때마다 기도했다.
“제발 안 터지게 해주세요.”
테스트 커버리지 26%. 코드의 4분의 3이 검증 안 된 상태.
코드 한 줄 고치면 어디서 터질지 몰랐다.
3개월 동안 눈 감고 운전했다.
왜 테스트를 안 짰냐고?
시간이 없었다.
아이 재우고 나면 밤 11시.
새벽 2시까지 3시간.
그 시간에 기능 개발을 해야 하는데, 테스트까지 짤 여유가 없었다.
“나중에 짜야지.”
그 “나중에”가 3개월이 됐다.
터닝 포인트
어느 날 간단한 버그를 고쳤다.
한 줄 수정.
배포했더니 다른 기능이 터졌다.
롤백하고, 다시 고치고, 또 터지고.
새벽 4시까지 삽질했다.
그날 깨달았다.
“이러다 진짜 큰일 난다.”
AI한테 물었다
“테스트 코드 짜는 거 도와줄 수 있어?”
Claude가 말했다.
“백그라운드로 여러 에이전트 돌릴 수 있어.”
솔직히 반신반의했다.
AI가 짠 테스트 코드를 믿어도 되나?
뭔가 잘못되면?
근데 26%보다는 나을 거라고 생각했다.
“돌려.”
하루 동안 일어난 일
1차: 8개 에이전트 병렬 실행
아이 재우러 갔다 왔더니 끝나 있었다.
서비스 테스트 85개
API 컨트롤러 테스트 76개
Web 컨트롤러 테스트 149개
통합 테스트 9개
버그 3개 발견해서 수정까지
26% → 46%.
2차: 추가 서비스 테스트
UxToneEnforcer, SupabaseSyncService,
Silentia 관련 서비스들, VoiceInput...
총 118개 테스트 추가
46% → 58%.
3차: 컨트롤러 테스트
AiChatController, ProfileController,
SettingsController, NotificationsController...
총 108개 테스트 추가
58% → 61%.
동시에: API 문서화
테스트 돌리는 동안 다른 에이전트가 API 문서화를 했다.
32개 엔드포인트 전부 Swagger로 정리.
하루 성과
| 아침 | 저녁 |
|---|---|
| 커버리지 26% | 61% |
| 테스트 50개 | 500개+ |
| API 문서 없음 | 100% 완료 |
| 배포할 때 기도 | 배포할 때 확인 |
달라진 것
이제 코드를 고치면 뭐가 터지는지 안다.
터지기 전에 안다.
배포 버튼 누르기 전에 기도 안 해도 된다.
테스트가 먼저 알려주니까.
나도 무서웠다
솔직히 말하면, AI한테 맡기는 게 무서웠다.
“이게 제대로 된 테스트인가?”
“나중에 더 큰 문제 생기는 거 아냐?”
근데 결과물 보니까 알겠더라.
내가 직접 짰어도 이 정도였을 거다.
아니, 시간 없어서 안 짰을 거다.
안 하는 것보다 AI가 한 게 낫다.
당신의 26%
당신도 미루고 있는 거 있을 거다.
테스트 코드.
문서화.
리팩토링.
“나중에 해야지” 하면서 3개월 된 것들.
배포할 때마다 기도하고 있을 거다.
AI한테 물어봐.
“이거 백그라운드로 돌릴 수 있어?”
하루 만에 기도 안 해도 되는 코드가 될 수도 있다.
나도 그랬으니까.
