
Unit Test 시작하기
두줄요약
Android 테스트 피라미드를 바탕으로 단위·통합·UI 테스트의 역할과 비용을 설명했습니다. 단위 테스트부터 도입하고 CI로 지속 관리하는 방식을 제안합니다.
구조와 흐름
- 테스트 피라미드 기준 단위 테스트·통합 테스트·UI 테스트의 범위와 목적 구분
- Android 단위 테스트의 로컬 JVM 실행 방식과 실제 기기·에뮬레이터 기반 계측 방식
- 테스트 비율 권장안: 단위 테스트 70%, 통합 테스트 20%, UI 테스트 10%
선택 이유
- 코드 변경·리팩토링 시 사이드 이펙트 예방과 영향 범위 확인 수단
- 작은 함수 단위 검증을 통한 빠른 실행과 로직 파악 용이성
- 통합 테스트의 모듈 간 인터페이스·데이터 흐름 검증, UI 테스트의 사용자 흐름 검증
성능/운영 포인트
- 로컬 단위 테스트의 빠른 실행, 계측·UI 테스트의 상대적으로 긴 실행 시간과 높은 유지보수 비용
- CI 기반 정기 빌드로 실패 테스트 조기 발견과 수정 범위 축소
- 일정 산정 단계의 테스트 코드 작성 기간 확보와 팀 차원의 필요성 공감
적용해볼 점
- 작성·관리 비용이 낮은 단위 테스트부터 도입
- 하나의 테스트에서 하나의 기능만 검증하는 원칙
- 실패 없이 실행되는 테스트 코드 유지와 FIRST·Right-BICEP·CORRECT 원칙 학습



