
뱅크샐러드 iOS팀이 숨쉬듯이 테스트코드 짜는 방식 1편 - 통합 UI테스트
두줄요약
iOS 통합 UI 테스트를 기존 코드 수정 없이 도입하고 핵심 기능을 Smoke 테스트로 운영한 방식을 소개합니다. 접근성, 고정 시뮬레이터, 로그 검증을 통해 테스트 신뢰성을 높였습니다.
구조와 흐름
- 기존 코드 수정 없이 앱 단위 동작을 검증하는 XCUITest 기반 통합 UI 테스트
- 중요 기능 대상 Smoke 테스트를 GitHub Action으로 4시간마다 실행하고 결과 번들·스크린샷을 슬랙으로 공유
- 개발자센터에서 세션 로그를 검색해 기능 동작과 이벤트 기록 수를 함께 검증
주의할 점
- 네트워크·개발 서버·테스트 계정 세션 등 외부 요인에 따른 높은 실패 가능성
- UI 테스트 요소 탐색의 기반인 접근성 트리와 VoiceOver 지원 필요
- 기기별 UI 차이를 줄이기 위한 고정 시뮬레이터와 큰 글씨 크기 조건 필요
성능/운영 포인트
- CI 등록 전 재현 절차 자동화와 XCUITest 학습용 LocalUITest 운용
- 실패 알람 피로도를 고려한 테스트 주기 조정과 모니터링 담당자 대응
- simctl과 xcodebuild를 활용한 시뮬레이터 선택, 앱 초기화, 결과 번들 수집
적용해볼 점
- 회사 핵심 기능부터 통합 UI 테스트로 보호해 테스트 도입 과정의 회귀 위험 축소
- VoiceOver 접근성 개선을 UI 테스트 가능 조건과 사용자 경험 개선의 공통 기반으로 활용
- 수동 검증에서 누락되기 쉬운 분석 이벤트를 자동화 테스트 범위에 포함
