- 모바일 앱의 UI 테스트를 자동화하는 가장 쉬운 방법
- UI 요소의 불안정성에 대한 내재적 허용오차를 가짐
- UI 요소가 항상 예상한 위치에 있는 것은 아니기에 화면을 탭하는게 항상 동작하는 것은 아님
- 모바일 애플리케이션과 디바이스의 불안정성을 수용하고 이에 대응하려고 함
- Delay에 대한 내재적 허용오차를 가짐
- 테스트에
sleep()호출을 넣을 필요가 없음 - 콘텐츠 로드(예: 네트워크를 통해)에 시간이 걸릴 수 있음을 알고 자동으로 기다리지만 필요 이상으로 오래 기다리지는 않음
- 테스트에
- 매우 빠른 반복이 가능함
- 테스트는 인터프리팅되므로 컴파일할 필요가 없음
- 테스트 파일을 지속적으로 모니터링하고 변경될 때 다시 실행할 수 있음
- 선언적이면서도 강력한 문법을 제공함
yaml파일에서 테스트를 정의함
- 설정이 간단함
- 어디서나 작동하는 단일 바이너리임
GN⁺의 의견
- Maestro는 모바일 앱 테스트 자동화를 위한 새로운 도구로, 기존 Appium, Espresso, UIAutomator, XCTest 등의 한계점을 극복하고자 함. 특히 UI 요소의 불안정성과 지연에 대한 내재적 허용오차를 가지고 있어 기존 도구 사용시 발생하던 문제를 줄일 수 있을 것으로 보임.
- YAML 기반의 선언적 문법을 사용하므로 개발자가 아닌 QA 엔지니어도 쉽게 테스트 케이스를 작성할 수 있을 것 같음. 다만 YAML 문법에 익숙하지 않은 경우 학습 비용이 들 수 있음.
- 모바일 앱 테스트 자동화 도구로는 Appium이 널리 사용되고 있음. Appium은 여러 모바일 플랫폼과 프로그래밍 언어를 지원한다는 장점이 있지만, 안정성 문제로 테스트 실패율이 높다는 단점이 있음. Maestro가 이런 Appium의 문제를 얼마나 해결할 수 있을지 지켜볼 필요가 있음.
- 현재 Maestro는 문서화가 잘 되어있고, Slack 커뮤니티도 운영 중이므로 도입을 고려해 볼만함. 다만 아직 초기 버전이므로 프로덕션 환경에 적용하기 전에 충분한 검증이 필요할 것으로 보임.