피드로 돌아가기
Real Device Cloud vs Emulators: A Developer's Guide
Dev.toDev.to
Mobile

CI 파이프라인에서 에뮬레이터만 사용하는 팀이 실제 디바이스 클라우드를 도입해 OEM 커스터마이징, 센서, 네트워크 전환 같은 하드웨어 의존 버그 감지

Real Device Cloud vs Emulators: A Developer's Guide

Bhawana2026년 3월 29일5intermediate

Context

CI 파이프라인이 에뮬레이터와 시뮬레이터에서만 테스트를 실행하면 프로덕션 환경의 여러 버그를 놓친다. OEM별 UI 커스터마이징, CPU 스로틀링, WiFi에서 5G로의 네트워크 전환, GPS·자이로스코프 같은 센서 입력, 백그라운드 앱으로 인한 물리적 메모리 압박, 실제 터치 레이턴시 같은 요소는 가상 환경에서 정확하게 복제되지 않는다. 이런 차이로 인한 버그가 프로덕션 인시던트로 발생한다.

Technical Solution

  • 사용자 분석 기반 디바이스 매트릭스 구성: 사용자 활동 분석에서 상위 10~15개 디바이스-OS 조합을 식별해 Priority A(Samsung Galaxy S23/Android 13, iPhone 15/iOS 17 등) 및 Priority B(OnePlus 11, iPhone SE 3rd Gen 등) 계층으로 나눔
  • Appium 설정 변경: 실제 디바이스 클라우드 대상으로 Capabilities 객체 수정 후 video, network, console, terminal 플래그 활성화해 디바이스 로그, 네트워크 요청, 세션 녹화 수집
  • 테스트 3계층 분리: Tier 1(모든 커밋)은 에뮬레이터에서 유닛·컴포넌트 테스트 실행, Tier 2(merge 전/야간)는 실제 디바이스에서 end-to-end·결제·권한 테스트 실행, Tier 3(출시 전)은 전체 디바이스 매트릭스에서 회귀 테스트 실행
  • CI/CD 파이프라인 통합: Jenkins, GitHub Actions, GitLab CI, CircleCI에서 REST API 및 WebDriver 프로토콜로 실제 디바이스 클라우드 연결해 USERNAME, ACCESS_KEY 환경 변수로 인증
  • 병렬 실행으로 시간 단축: pytest-xdist를 사용해 여러 디바이스에서 동시 세션 실행 (순차 45분 → 병렬 8~10분 by 5~6 디바이스)

Impact

순차 실행 45분이 5~6개 디바이스 병렬화로 8~10분으로 단축됨.

Key Takeaway

모바일 테스트 전략은 에뮬레이터를 개발 속도용으로 유지하면서 실제 디바이스를 하드웨어 의존 기능(결제, 권한, 센서, 네트워크 전환)에 집중 배치하는 것이 실무적이다. 사용자 분석 기반 디바이스 매트릭스와 계층화된 테스트 구조로 비용을 제어하면서 프로덕션 버그를 조기에 감지할 수 있다.


모바일 자동화 테스트를 운영하는 팀이 Appium을 사용할 때, 실제 디바이스 클라우드 Capabilities에 video, network, console, terminal 플래그를 추가하고 pytest-xdist로 5~6개 디바이스 병렬 실행을 구성하면 테스트 시간을 45분에서 8~10분으로 단축할 수 있다. 사용자 활동 데이터에서 상위 10~15개 디바이스-OS만 선택해 Priority A, B로 분류하면 비용을 제어하면서도 OEM 커스터마이징, 네트워크 전환, 센서 입력 관련 버그를 프로덕션 전에 잡을 수 있다.

원문 읽기