이벤트 QA 자동화 회고 — Governance Managing 편

Jayeon Choi
원티드랩 기술 블로그
6 min readJul 31, 2023

안녕하세요, 저는 원티드랩 데이터팀 Data Quality & Governance Manager(DQGM) 최자연입니다.

올해 6월, [이벤트QA 자동화] 작업을 1차로 마무리 하면서 그 두번째 회고글을 공유해보려고 합니다. (첫번째 회고글은 데이터 분석가 지윤님께서 작성해주신 이전 포스팅 참고!)

이번 프로젝트의 목표는 앱과 웹에서 발생하는 이벤트 데이터(유저행동로그)를 웹(+ GTM)에서 스크래핑하고 이벤트 존재유무를 검토하는 단계까지 진행해보기로 결정하였습니다.

🧐 어떻게 진행했나?

이전 포스팅에 이어, 이번 회고에서는 어떻게 작업을 진행했는지에 초점을 맞추어 정리해보겠습니다. 이벤트QA를 자동화한다는 것은 사실 전례를 찾아보기 힘든 작업이었습니다. 때문에 우리의 환경에 딱 맞는 툴을 만들기 위해서는 상황을 파악하고 작업들을 잘게 쪼개는 단계가 필수적이었습니다. 저희는 figma를 활용하여 timeline별 milestone들을 정하고, Jira 이슈를 붙혀나가면서 정리하였습니다. 자유로운 포맷이 큰 장점인 figma를 사용하면서, 필요한 작업을 쉽게 추가하고 떠오르는 아이디어들을 빠짐없이 챙겨나갔던 것 같아서 아주 유용하게 사용했습니다. 👍

🎍 4월, 작업 쪼개기

4월에는 우리에게 필요한 이슈들을 나열하고 우선순위를 정하는 것이 주된 일이었습니다. 3월까지 작업해 두었던 Selenium 웹 이벤트 스크래핑을 디벨롭하고 GTM 트리거/태그를 확인하는 단계를 첫번째 Milestone으로 잡고, 이슈들을 리스트업 해 보니 크게 3가지 카테고리로 나눠볼 수 있었습니다.

  1. 기능 강화 : 로그인 기능 추가
  2. 편의성 강화 : QA실행방법 수정 — Slack 이용
  3. 데이터 퀄리티 강화 : 이벤트 전수조사
  4. 사용성 강화
    - 템플릿 구글 시트 ↔︎ 이벤트QA 툴 Sync
    - 에러메세지 코드 다듬기

그래서 저희는 6월까지 웹 기반 이벤트QA를 자동화 할 수 있도록 위 작업들을 선행하기로 했습니다.

가장 먼저, 로그인 여부에 따라 확인가능한 이벤트가 다른 페이지를 테스트하기 위해 템플릿 시트 내에 [로그인 필요 여부] 열을 추가하고 O/X 표기를 할 수 있게 했습니다. 이 로직에서는 테스트 계정이 허수 데이터로 집계되지 않도록 내부 계정 관리의 필요성을 수면 위로 올려주었고, QA팀과의 협업 과제로 풀어나갈 예정입니다.

그리고 기존에는 2주에 한 번 씩 진행하던 “❤︎이벤트 QA 자동화 싱크❤︎” 미팅을 매 주 한 시간으로 변경했습니다. 사실 이 자동화 프로젝트를 착수하면서 지윤님께서는 분석가 업무를, 저는 자잘한 이벤트 작업과 거버넌스 일들을 덜어내며 작업을 해야했습니다. 빠른 시간 내에 우리에게 꼭 필요한 기능들만 넣은 툴을 만드는 것이 핵심이었기 때문에 그런 구성을 만들어나가는 데에 있어서 잦은 싱크 회의는 주력해야 할 기능에만 집중해서 작업하는 데에 큰 역할을 해 주었습니다.

🌳 5월, 기능 강화하고 정리하기

거버넌스 보완, 문서화

이벤트QA 자동화 작업을 진행함에 있어서 생각보다 타팀과 논의하고 의견을 구해야 하는 부분이 많았습니다. 한 번은 툴 개발을 진행하다 도메인 규칙을 정해야 하는 이슈가 발생했습니다. 원티드랩 내에는 원티드 메인인 채용 서비스 뿐만 아니라 원티드인사이트, 원티드스페이스 등의 서비스가 있는데요. 페이지 내 이벤트를 URL 기준으로 스크래핑하는 로직 특성상 자동화 툴을 실행할 때 마다 코드와 시트 내 URL을 크로스체크 해야하는데, 도메인 명칭 규칙이 없으니 URL정보를 확인하기 위해 모든 서비스 정보를 하드코딩해야하기 때문이었습니다. 앞으로의 URL 확인로직을 모듈화 해 두기 위해 CTO, 프론트팀과 협의를 통해 도메인 규칙에 대한 논의를 함께 진행했고, 각 팀의 의견을 수집하고 도메인 규칙에 대해 논의하는 자리를 만들었습니다. 이 논의는 여러 서비스를 다뤄야하는 환경에서 규칙 마련의 필요성을 재고해 준 이슈라고 생각합니다.

그 외에도 이벤트 요청 템플릿 시트 강화작업과 이벤트 요청 프로세스 보완, GTM 작업공간 만드는 규칙 등 거버넌스를 모두 문서화 해 두면서 앞으로 전체 구성원들이 유저행동로그 데이터를 수집하고 QA하는 과정 전체를 누구나 쉽게 파악할 수 있는 환경을 만들어 나갔습니다.

데이터 퀄리티 강화, 이벤트 전수조사는 어떻게 할까?

저희는 이 자동화 툴이 단순 스프린트 이벤트QA 기능을 넘어, 전반적인 이벤트 볼륨을 체크할 수 있는 기능을 기대했습니다. 기존에는 수동으로 한 달에 한 번씩 사용하지 않는 이벤트를 block 처리하고있었기 때문에, 정상적으로 쌓여야 하는 이벤트의 볼륨과 그렇지않은 데이터를 비교해 비용을 줄이는 자동화 작업이 필요했기 때문입니다. 우선 저희는 현실적으로 신규로 추가되는 이벤트의 실행 QA 성공률(%) [공식: (이벤트QA 실행에 성공한 이벤트 수 / 전체 이벤트) * 100]을 누적하여 확인하기로 결정했습니다. 이번 프로젝트에서의 “전수조사"는 프로젝트 단위에서의 성공률로 확인하고, 추후 이상탐지 방향으로 더 디벨롭하여 작업해보기로 합의하였습니다. (아마 회고 3편으로..?)

⛰️ 6월, 전파하고 피드백 받기

프로젝트가 마무리되는 6월, 저희는 실행 가이드와 결과 리포트 해석 가이드를 만들어 구성원들에게 공유했습니다. 이벤트 기획과 수집을 주도하는 데이터팀&PO 팀원분들로부터 사용 히스토리를 작성하도록 요청드렸고, 피드백을 바탕으로 개선 필요사항들을 리스트업 했어요.

가이드 문서를 꼼꼼히 작성한 덕분인지 구성원들이 툴을 실행하는 데에는 큰 어려움이 없었는데, 실행 후 결과 리포트를 해석하고 next step에 대한 부분을 좀 더 디테일하게 가이드 할 필요가 있었습니다. 이벤트가 발생하는 페이지, 이벤트 유형(뷰인지 클릭인지 등), GTM 트리거/태그 여부 등을 한번에 노출시키려니 결과 리포트의 포맷에도 신경을 쓰게 되었습니다.

결과 리포트 포맷 변천사

이렇게 이벤트QA 자동화 툴은 위에서 정한 세가지 목표에 딱 맞게 작업을 마치게 되었고, 일일이 웹페이지에 들어가보지 않아도 구성원들이 QA를 진행하고 이에 쓰이는 리소스를 줄이는 역할을 하게 되었습니다.

앞으로는 툴 사용 범위 확대 측면에서 앱 QA와 유저&이벤트 프로퍼티 자동화까지 디벨롭하는 것이 두번째 과제가 될 것 같습니다. 그리고 구성원들로부터 수집한 피드백들을 바탕으로 우선순위를 매겨, 조금씩 완성도를 높혀나가자는 계획을 세워놓았어요.

효율을 향상시키는 데에 진심인 데이터팀에서 QA 자동화 인프라를 구축해 볼 수 있어서 새롭게 많은 것을 배웠고, 피드백에 적극적인 구성원들 덕분에 완성도 높은 툴을 만들수 있었습니다. 남은 작업들도 성공적으로 해낼 수 있길 바라며, 의미있던 이벤트QA 자동화 프로젝트의 회고를 마칩니다!

--

--