안녕하세요. 아이들나라 QA팀 배종원입니다.
아이들나라 QA팀에서 구현한 웹 UI 테스트 자동화에 대해 소개하려고 합니다.
테스트 자동화는 QA 엔지니어들의 오랜 숙원이자, 숙제이지 않을까 생각되는데요. 하지만 환경 구성이 어렵고, 테스팅 툴에 따라 프로그래밍 언어를 배워야 하는 러닝 커브가 필요합니다.
단순히 스크립트 개발로 끝이 아닌 각 서비스마다 필요한 테스트 영역이 상이하기 때문에, 적절한 커스터마이징과 무엇보다 끊임없이 요구되는 유지 보수가 QA 엔지니어의 발목을 잡습니다. 따라서 테스트 자동화는 막연히 ‘매뉴얼 테스트를 자동화한다.’ 의 개념으로 접근하면 위험하다고 생각합니다.
자동화 테스트는 QA 엔지니어가 품질 보증을 달성하기 위한 수단 중 하나일 뿐, 자동화 테스트 자체가 Goal이 되어서는 안 됩니다. 자동화 테스트의 구현에만 의미를 두면, 위에 언급한 끊임없이 요구되는 유지보수와 최악의 경우 기술적 욕심에 매몰되어 정작 QA 엔지니어의 근간인 품질 보증 업무와는 점점 거리가 멀어지게 됩니다.
아앗….
따라서 구현 전 명확한 명분 또는 조건, 그리고 구현 후 Output에 대한 확신이 있을 때 도입해야 한다고 생각합니다.
그럼, 이번 글에서는 아이들나라 QA 팀에서 왜 테스트 자동화를 도입하게 되었고, 어떻게 구현했는지, 어떤 이점이 있었는지 다뤄보고자 합니다.
아이들나라는 최근 새로운 서비스들과 콘텐츠들을 출시하며 새 단장이 되었습니다. 이에 따라 아이들나라 App 내 수많은 기능이 변경되고, 새로 만들어졌는데요. 이런 상황 속에서 QA 팀의 우선 과제는 3주 단위 스프린트 위에서 사용자가 접하는 App의 UI가 문제 없이 잘 동작 하는지 검증하는 것이었습니다.
상황이 이렇다 보니, 자연스레 백오피스에 대한 테스트는 QA 팀 내 리소스 및 사용자에게 미치는 영향도 등을 고려했을 때 저희 팀 테스트 범위 밖에 놓이고 말았습니다.
QA의 Test 없이 상시 배포되고 있던 상황
한정된 리소스 속에서 테스트를 할 수 있는 방안이 없을까? 를 고민하다, 백오피스의 배포가 어떻게 되고 있는지 시간을 가지고 파악해 본 결과는 다음과 같습니다.
그렇다면 해당 테스트를 매뉴얼로 진행한다면?