
테스트 자동화 구축 이야기
두줄요약
모바일 리그레션 테스트의 병목을 줄이기 위해 Appium 기반 자동화 구축 전략을 정리했습니다. Positive 케이스를 선별하고 Python·Unittest로 Android 테스트 구조와 리포팅을 구성했습니다.
문제 상황
- 배포 횟수 증가에 따른 리그레션 테스트 규모 확대와 스프린트 단축의 제약
- 엣지·네거티브 케이스 자동화 난이도와 구축·유지보수 비용 부담
선택 이유
- 리그레션 테스트 지원과 Agile 프로세스의 테스트 병목 완화 목적
- Android·iOS 지원, 오픈소스, 다언어 스크립팅, 도구 통합성 기준의 Appium 선정
- 전체 테스트 케이스 약 30% 범위의 All Pass 기반 Positive 케이스 우선 적용
구조와 흐름
- Appium Server와 Client의 JSON Wire·HTTP 통신, DesiredCapabilities 기반 디바이스 연결
- Android의 UIAutomator2, iOS의 XCUITest를 통한 플랫폼별 디바이스 제어
- Python Unittest의 Suite·TestLoader·Runner 구성과 HtmlTestRunner 기반 결과 리포트 생성
주의할 점
- 고정된 테스트 조건의 반복으로 신규 버그 발견 효과가 낮아지는 살충제 패러독스
- 자동화 적합도 분석을 통한 다중 예상 결과 분리와 동적 객체 검증 제거 필요
- 자동화를 전면 대체 수단이 아닌 테스트 엔지니어의 탐색 시간을 확보하는 보조 수단으로 활용





