
데브옵스
Github Action과 self-hosted runner로 구축하는 E2E 테스트 자동화: POC부터 확장까지 우리팀의 내재화 여정
두줄요약
GitHub Action과 self-hosted runner로 iOS·Android E2E 테스트 자동화 파이프라인을 POC부터 점진적으로 구축한 사례를 소개했습니다. Slack 연동, 병렬 실행, 리포트 자동화로 효율과 운영성을 높인 과정을 정리했습니다.
문제 상황
- 외부 테스트 서비스가 웹뷰 기반 iOS·Android 시나리오와 사내 요구사항에 완전히 맞지 않는 상황
- 사내 디바이스 팜을 본격 구축하기에는 리소스가 부족하고, 수동 테스트만으로는 반복 업무 한계가 있는 상황
- 테스트 실행과 결과 공유를 더 효율적으로 만들 필요
해결 방법
- Mac mini와 실제 기기를 활용한 작은 규모 POC로 GitHub Action, self-hosted runner, Appium 기반 자동화 파이프라인 구성
- Slack Slash Command → Webhook → GitHub workflow_dispatch로 테스트 트리거 연결
- matrix 전략으로 iOS·Android를 병렬 실행하고, 결과 리포트와 화면 녹화를 S3와 Slack으로 공유
성능/운영 포인트
- 정기 스케줄링으로 회귀 버그를 조기에 발견
- 병렬 실행으로 테스트 시간을 단축
- 실패 여부와 관계없이 리포트를 보관해 디버깅 정보 확보
- 비용 절감, PR 자동 실행, QA·개발 협업 증가 효과
적용해볼 점
- 처음부터 완성형 인프라보다 작은 POC로 검증을 시작하는 접근
- 실행 결과를 Slack에서 즉시 확인할 수 있도록 알림·리포트 체계 구성
- 디바이스 풀, 로드 밸런싱, 모니터링, 자동 재시도 등으로 점진 확장
