AI Briefing

AI에게 테스트 코드를 맡겼더니 커버리지가 8배 늘었다

·2026.04.06 07:01

무신사 iOS팀이 AI로 테스트를 대량 생성해 커버리지를 9.82%에서 79%까지 끌어올렸다.

무신사 모바일개발팀은 **9.82%**에 불과했던 iOS 테스트 커버리지를 70% 이상으로 끌어올리기 위해 AI를 테스트 코드 작성의 핵심 도구로 활용했다. 7명의 개발자가 일상적인 피처 개발을 병행해야 하는 상황에서, 반복적인 테스트 생성은 AI가 맡고 개발자는 비즈니스 로직 검증과 품질 관리를 담당하는 분업 구조를 만들었다.

핵심은 AI가 일관된 테스트를 쓰도록 만드는 문서 기반 프롬프트 시스템이었다. TEST_PLAN.md, 01-WRITING_TESTS.md, 02-QUALITY_CHECK.md처럼 목적별 문서를 분리하고, 문서 최상단에는 AI가 반드시 지켜야 할 원칙을 명시했다.

  • 커밋 전 빌드 성공모든 테스트 통과 확인
  • 각 파일의 테스트 커버리지 70% 이상 달성
  • 테스트는 모듈 내 Tests 폴더에 정확히 위치
  • 프로덕션 소스코드 수정 금지

여기에 단계별 워크플로우, 체크포인트, grep 기반 자동 검증까지 붙여서 AI가 중간 상태를 검증하거나 Thread.sleep을 쓰는 식의 비일관적인 결과를 줄였다. 테스트는 모두 Given-When-Then 패턴으로 통일했고, 함수명도 한글로 비즈니스 규칙이 드러나도록 설계했다. ReactorKit 의존성은 Stub 패턴으로 격리해, AI가 예측 가능한 구조의 테스트를 생성하도록 만들었다.

실행은 세 단계로 나뉘었다. Phase 1에서는 60개 Reactor를 먼저 정리해 2025년 12월부터 2026년 1월 중순까지 약 6주간 작업했고, 커버리지는 **9.82% → 48.15%**로 뛰었다. Phase 2에서는 Service, Repository, Handler, Helper, Utility, Extension 등 36개 파일로 확장해 **48% → 65%**까지 올렸다. CoreData Repository처럼 테스트를 위해 불가피하게 프로덕션 코드 수정이 필요한 경우에는 별도 PR로 분리하고 사이드 이펙트를 엄격히 검증했다.

Phase 3에서는 나머지 52개 파일과 70% 미달 파일을 마무리하며 목표를 넘어섰다. 외부 SDK 래퍼나 React Native Bridge 같은 파일은 coverage-config.yml로 측정에서 제외해 수치를 정교하게 관리했고, 2월 12일 72.55%, 2월 13일 75.41%, **2월 27일 79.04%**까지 상승했다. 아직 리뷰 중인 PR이 머지되면 80% 이상도 기대하고 있다.

운영 측면에서는 3개월간 매주 위클리 미팅을 열어 프롬프트 개선, 품질 이슈, 예외 케이스를 다뤘고, 매일 슬랙으로 Daily Coverage Report를 자동 발송해 팀 전체가 성장 추이를 공유했다. 여기에 Claude Code 기반 AI 코드 리뷰 자동화까지 붙여, 컨벤션 위반이나 단순 수정은 AI가 리뷰하고 /fix로 자동 수정·커밋까지 처리하도록 해 리뷰 병목도 줄였다.

결국 성과의 핵심은 AI 자체가 아니라, AI를 제대로 쓰기 위한 문서화, 제약, 검증, 팀 운영이었다. 반복적인 테스트 생성은 AI에 맡기되, 비즈니스 판단과 최종 품질 책임은 사람이 지는 방식이 테스트 문화와 코드 오너십을 함께 강화했다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.