Grafana로 QA 자동화, Fail률 0.7% 달성!
Grafana Dashboard를 활용하여 iOS/Android 자동화 테스트 결과를 시각화하고, Fail률을 분석함
구매 플로우, 로그인, 29 라이브 관련 시나리오에서 높은 Fail률을 확인하고, 문제점 개선
A/B 테스트 대응, 카테고리 Depth 클릭 고도화, 텍스트 정합성 검증 등을 통해 Fail률 감소
API 호출, 사전 조건 강화, 테스트 환경 일관성 유지를 통해 9월 목표 Fail률 달성
Grafana 대시보드 구축 및 활용
29CM QE팀은 자동화 테스트 결과의 DB화를 통해 Grafana Dashboard를 구축하고, 데이터를 시각화했다.
날짜별 Fail률, 평균 수행 시간, 이번 주 대비 지난주 수행 시간 비교, Fail 발생 시나리오 카운트 합산 등 다양한 지표를 모니터링
Jenkins 스케줄링을 통해 자동화 테스트를 24시간, 매일 1시간 간격으로 실행
Fail률 개선을 위해 시나리오별 Fail 카운트 합계를 집중 분석하여 문제점 파악
Fail률 감소를 위한 문제 해결 과정
Fail률 감소를 위해 로그인 실패, 결제 수단 선택, 29 라이브 PIP 모드 등 주요 문제점을 분석하고 개선했다.
사전 로그인 케이스 추가: 로그인 실패로 인한 연쇄 실패 방지
스크롤 안정화: 결제 수단 선택 시 UI 겹침 문제 해결
시간대 분기: 29 라이브 PIP 모드로 인한 다른 시나리오 실패 방지
결과적으로, 7월 대비 8월에 Fail률 1% 감소 및 목표 Fail률 0.7% 달성.
A/B 테스트 및 카테고리 Depth 클릭 고도화
A/B 테스트, 카테고리 Depth 클릭, 텍스트 정합성 검증 등 다양한 케이스에 대응하여 Fail률을 감소시켰다.
A/B 실험 대응: A/B 그룹에 따라 다른 UI를 분기 처리
카테고리 Depth 클릭 고도화: API 응답과 UI Element 탐색 로직 개선
텍스트 정합성 검증: 상품명 공백 제거 로직 적용
이러한 개선을 통해 Fail률 감소 및 테스트 신뢰도를 향상시켰다.
9월 신규 시나리오 추가 및 Fail률 감소
9월에는 신규 시나리오 추가와 Fail률 감소라는 두 가지 목표를 동시에 달성했다.
NEW 구좌 조건부 검증: API 응답 및 ID를 활용하여 NEW 구좌 노출 여부 확인
패싯 선택 조건 강화: 상품 종류에 따라 패싯 선택 로직 개선
사전 조건 강화: 패싯 변경 시 패싯 정보 유지
테스트 환경 일관성 유지: API 호출을 통해 테스트 환경 통일
결과적으로, 9월에는 0.5% 미만의 Fail률을 달성하며 목표를 초과 달성했다.
자동화 수행 시간 분석 및 개선
Grafana Dashboard를 통해 시나리오별 수행 시간을 모니터링하고, 수행 시간 최적화를 진행했다.
Element 탐색, API 호출, 불필요한 대기 시간 등 수행 시간 증가 원인 분석
이구위크와 같은 대규모 이벤트 기간에 자동화 스케줄링 주기를 단축하여 장애 탐지 지연 방지
모바일 개발팀과의 협업을 통해 Element ID 관리 및 테스트 코드 개선
결과적으로, 자동화 수행 시간 최적화는 안정적인 자동화 운영에 필수적이다.