grep

QA

TestProject로 UI 테스트 자동화 빠르게 시작하기

Kyle Lee여기어때

2022년 3월 15일

원문에서 보기 ↗

0. Beginning

한정된 자원 속에서 테스트를 빠르게 반복하기 위해 많은 QA 엔지니어, 테스터분들이 테스트 자동화 구축에 도전을 합니다. 하지만, 시작부터 커다란 진입장벽이 떡 하니 버티고 있는데요. 바로, 도구 선택과 환경 구축입니다.

테스트 자동화 툴은 너무 많은데, 써본 적도 없는 툴의 특성과 현재 상황(비용 등)을 고려하여 신중하게 선택하라고 하니 매우 큰 고민이 아닐 수 없습니다. 그렇게 오랜 고민 끝에 툴을 결정하면, 이상하게 나만 안되는 환경 구축 때문에 좌절감을 느껴본 경험 다들 하나씩 갖고 계시지 않으신가요?

안녕하세요, 저는 QA팀에서 테스트 자동화를 담당하고 있는 카일 입니다. 저는 이 글에서, TestProject라는 테스트 자동화 솔루션과 QA팀이 어떻게 활용하고 있는지 소개하려고 합니다.

1. TestProject

TestProject는 Selenium, Appium 기반의 테스트 자동화 솔루션 입니다. 하지만, 복잡한 설치와 환경설정 과정을 제거했고, Record-Playback 방식으로 쉽게 테스트를 작성하고 수행할 수 있습니다. TestProject는 모든 기능을 무료로 제공하고 있기 때문에 테스트 자동화를 처음 시작하기에 좋습니다.

Windows, MacOS, Linux 환경에서 사용 가능하며 Docker Image도 제공하고 있습니다. 테스트 대상으로 대부분의 웹 브라우저와 iOS, Android를 지원하며, Virtual Device도 사용 가능합니다.

2. Installation

Testproject 홈페이지

회원가입

설치 진행

설치가 완료된 모습

3. Creating Test

https://youtu.be/orVc4_b7B_E

https://youtu.be/Y8GoiF3GrWs

4. Running Test

https://youtu.be/ShTyOoQUrZA

Monitor 화면

Report 화면

5. Running Job

Job을 이용하여 여러 테스트를 하나의 시나리오로 한 번에 수행할 수 있습니다.

https://youtu.be/s8N_Uz7KlTo

Report 화면

7. Development

Github 연동을 통한 버전관리

Jenkins Freestyle project의 build step에 추가

Restful API 목록

8. Strategy

QA팀은 TestProject를 다음의 세 가지로 활용하려고 합니다.

가장 먼저, 원하는 시간대에 End to End 테스트를 수행하여 앱서비스를 실시간에 가깝게 모니터링 하려고 합니다. 앱 업데이트 검증에서 찾아내지 못한 UI 이슈 혹은 서버의 이슈가 없는지 QA 관점에서 확인하고 싶었습니다. 현재는 3시간 간격으로 여기어때 앱 전체를 가볍게 순회하는 테스트를 수행 중에 있습니다.

QA팀에서 수행중인 모니터링 테스트 Slack 알림

두 번째로, 앱 배포 후 테스트를 수행하여 검증 가능 여부를 판단하고, 앱업데이트의 반영 사항을 반복적으로 테스트하려고 합니다. 기존의 모듈과 새로 반영된 내용이 잘 통합이 되었는지 확인하는데 드는 시간과 노력을 줄이려고 합니다.

마지막으로, 가변 요소가 적은 범위를 효율적으로 테스트하려고 합니다. 해당 범위를 자동화로 대체하여 생산성을 높이고, 시간과 노력을 다른 곳에 더 투자할 수 있도록 합니다.

9. Ending

지금까지 TestProject에 대한 기본적인 내용과 이를 활용해서 어떻게 하고 있는지, 어떻게 해 나갈 것인지 소개 드렸습니다. 테스트 자동화가 수동 테스트를 완벽하게 대체할 수는 없지만, QA 생산성 향상과 품질의 보증, 개선을 위해 계속해서 확장시키고 발전시켜 나가겠습니다.

23.11.07 수정) 현재는 Testproject가 서비스를 종료한 상태로 다른 테스트 자동화 구축 방법을 구상 중에 있습니다. 완료되면 또 소개드릴 수 있도록 하겠습니다.

긴 글 읽어주셔서 감사합니다.

[참고자료]