logo
logo
테스팅툴
Cucumber
행동 주도 개발 (BDD)을 지원하는 테스트 프레임워크
StackOverflow 질문 수: 11096
Github Stars : ★ 3362
사용 기업
직장
이커머스
교육
techstack-logo
플렉스
techstack-logo
중고나라
techstack-logo
매스프레소
기술 블로그 글
우아한형제들
Cucumber + Appium을 통해 Android 앱 테스트 | 우아한형제들 기술블로그
안녕하세요! Android 앱이 UI 자동화 테스트되는 과정의 일부에 대한 동영상입니다 저는 앱서비스팀에서 Android/iOS의 배달의민족 앱 QA를 담당하고 있는 최윤주입니다. 배달의 민족 앱은 2주 단위로 정기 업데이트를 합니다. 정기 업데이트에는 사용자가 인지할 수 있을 만큼 큰 기능 변화가 있기도 하고, 왜 업데이트를 받았는지 의아할 정도로 작은 기능의 변화가 있기도 합니다. 전자이든 후자이든 사용자들은 먹고 싶은 음식을 먹고 싶은 곳에서 먹기 위해 배달의 민족 앱을 사용하고, 그 과정에서 앱이 갖고 있는 결함에 의해 음식을 먹지 못하거나 불쾌한 경험을 하는 일은 없어야 합니다. 저는 배달의민족 앱 QA를 담당하게 된 이후로 사용자들에게 이러한 가치를 꾸준히 전달하기 위해서 어떻게 해야 할지 고민하고 있습니다. 고민을 통해 여러 가지 방법들을 업무에 적용하고 있고, 그중에 꼭 해야겠다고 마음먹은 방법은 자동화 테스트 구현이었습니다. 앱이 통합 빌드 도구(Jenkins나 Bitrise 등)를 통해 빌드될 때마다 앱의 주요 기능들에 대해서 테스트가 반복적으로 수행되어서, 지속적인 변경으로부터 안정적인 품질로 앱이 배포될 수 있게 하고 싶었습니다. 앱이 배포된 후 뒤늦게 주요 기능 이슈들이 발견되어 핫픽스를 하게 되는 것을 최대한 막고 싶기도 했습니다.ㅠㅠ 아마 자동화 테스트의 중요성을 알고 실천하려는 분들의 목표도 저와 같으리라 생각합니다. (최근에 작성된 Spock Extension과 Elasticsearch + Kibana 조합으로 테스트 결과를 빠르게 피드백받기 블로그 글도 함께 참고해주세요.) 우선Android와 iOS 중 Android부터 UI 자동화 테스트를 구현해보자는 목표를 정하여 구현 중이었습니다. 그럼 이제, 자동화 테스트를 구현하며 알게 된 것과 느낀 점들에 대해서 이번 기술 블로그를 통해서 이야기하겠습니다. 테스트 코드 구현 대상으로 적합한 테스트 케이스 선정하기 자동화 테스트가 지속적으로 수행될 때 어떤 테스트 케이스들을 대상으로 수행하면 효과적일지도 중요합니다. 저는 우선 배민 앱 정기 업데이트마다 수행하고 있는 small TC를 대상으로 삼았습니다. small TC는 배포하는 날 매번 꼭 수행하고 넘어가는 테스트 케이스 묶음입니다. 이 small TC는 앱에 있는 기능을 모두 나열하고, 각각의 기능들에 대한 중요도를 측정해서 중요도가 높은 기능들 중 1시간 내 수행 가능한 기능들로 선정된 테스트 케이스 묶음입니다. (중요도가 높고 낮음에 대해서는 이 기능이 수행되지 않으면 사용자에게 어떤 영향을 주는가?라는 질문을 토대로 위험 영향도를 측정하여 결정하였습니다.) 따라서, 앱의 주요 기능들에 대한 케이스이기도 하면서 반복적으로 수행되는 케이스로, 자동화 하기 적합했습니다. 그러면 이제 Android UI 자동화 테스트 구현 방법에 대해서 이야기하도록 하겠습니다. 저는 Appium과 Cucumber를 사용하여 테스트 코드를 구현하였습니다. Appium Appium은 iOS/ Android/ Windows
cucumber
연관 기술 스택
techstack-logo
Jest
techstack-logo
Mocha
Copyright © 2025. Codenary All Rights Reserved.