GitHub Actions로 E2E 테스트 자동화 구축

by DD
9개월 전
조회수 0

GitHub ActionsSelf-hosted Runner를 활용하여 iOS/Android 웹뷰 기반 앱의 E2E 테스트 자동화 환경을 구축함

Slack 연동을 통해 테스트 실행 및 결과 알림을 실시간으로 제공하고, 병렬 테스트를 통해 효율성을 향상시킴

비용 절감, 테스트 커버리지 확장, 회귀 버그 조기 발견 등, 점진적 개선을 통해 실질적인 운영 효과를 달성함

E2E 테스트 자동화 아키텍처

Slack 커맨드를 통해 테스트를 트리거하고, Webhook을 거쳐 GitHub Actions 워크플로우를 실행한다. 구체적으로, Self-hosted Runner는 사내 Mac mini에서 Appium을 사용하여 실제 기기에서 테스트를 수행한다. 따라서, 테스트 결과는 Slack으로 즉시 알림을 받는다.

병렬 테스트와 S3 리포트 활용

Matrix 전략을 통해 iOS와 Android 테스트를 병렬로 실행하여 테스트 시간을 단축한다. 따라서, S3에 테스트 리포트를 업로드하여 테스트 실패 여부와 관계없이 결과를 보관한다. 반면, 화면 녹화 기능을 추가하여 테스트 과정 전체를 확인하고, 디버깅 효율을 높였다.

점진적 개선을 통한 자동화 고도화

초기에는 Mac mini 1대와 실기기를 활용한 POC로 시작하여, 점진적으로 시스템을 개선했다. 구체적으로, Mochawesome 리포트 도입으로 상세 테스트 결과를 확인하고, S3에 리포트를 업로드하여 Slack 알림을 개선했다. 따라서, 테스트 커버리지 확장AI 기반 분석을 통해 자동화를 고도화할 예정이다.

Github Action과 self-hosted runner로 구축하는 E2E 테스트 자동화: POC부터 확장까지 우리팀의 내재화 여정