AI Briefing

뱅크샐러드 iOS팀이 숨쉬듯이 테스트코드 짜는 방식 2편 - 화면 단위 통합 테스트

·2022.04.27 09:00

핵심 내용

뱅크샐러드 iOS 팀이 스냅샷 테스트와 AXSnapshot을 활용해 디자인 QA와 접근성 검증을 자동화했다.

자세히 보기

뱅크샐러드 iOS 개발팀은 화면 단위 통합 테스트를 통해 디자인 시안과 실제 구현 간의 차이를 검증하고, 접근성 기능을 자동화하는 방식을 공개했다. 기존에는 전체 앱 빌드 후 확인하던 과정을 초 단위의 테스트 실행으로 단축하여 개발 속도를 높였다.

스냅샷 테스트를 통한 디자인 QA 자동화

개발자는 Snapshot 테스트를 CI용이 아닌 개발 도구로 활용한다. 뷰에 데이터를 직접 주입해 특정 시나리오를 검증하고, 생성된 스크린샷을 XCTAttachment로 관리한다. 이 스크린샷은 xcparse를 통해 추출되어 Slack으로 공유되며, 디자이너와 PM의 검증을 거친 후 최종 레퍼런스 이미지로 확정된다. 이 과정은 픽셀 단위 오차로 인한 테스트 실패 문제를 해결하고, 디자인 수정 시 테스트 코드가 먼저 실패하도록 유도하여 TDD와 유사한 워크플로우를 지원한다.

AXSnapshot을 활용한 접근성 검증

이미지 기반 테스트의 한계를 보완하기 위해 AXSnapshot을 도입했다. 이 도구는 View의 접근성(Accessibility) 속성을 텍스트 배열로 변환하여 VoiceOver가 읽을 내용을 검증한다. ViewModel과 View 간의 연결 누락을 방지하고, 접근성 기능 사용자에게 의도된 경험을 보장한다. AXSnapshot은 테스트가 문서 역할을 수행하며, 수동 테스트의 한계를 극복하는 데 기여한다. 해당 도구는 오픈소스로 공개되어 외부 기여를 환영한다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.