
백엔드
실패도 빠르게! 100개 배너 10초컷 테스트 자동화 구현기
두줄요약
배너 링크 검증 자동화를 UI가 아닌 API 상태 코드 기반으로 전환했습니다. 병렬 처리와 Slack 알림으로 100여 개 배너를 약 10초에 점검했습니다.
문제 상황
- 홈 화면 배너 수가 많고 수시로 변경되어 휴먼에러와 관리 비용 증가
- 기존 애플리케이션 자동화로는 배너 수와 자동 전환 특성 때문에 검증 효율 저하
- 링크 이동 후 화면 노출까지 확인하려는 초기 요구는 50분 수준의 긴 수행 시간 발생
원인 분석
- 배너가 100여 개, 많게는 150여 개까지 늘어나는 구조
- 자동 전환 배너 특성상 특정 배너를 제어하고 결과를 확인하기 어려움
- UI 기반 검증은 페이지 복귀와 재로딩 비용으로 속도 한계 발생
해결 방법
- UI 자동화 대신 API 요청으로 각 배너 URL의 상태 코드 검증 방식으로 전환
- Requests 라이브러리와 병렬 실행을 활용해 링크 유효성만 빠르게 확인
- 검증 결과, 소요 시간, 실패 항목을 콘솔과 Slack 메시지로 공유
성능/운영 포인트
- 평균 100개 배너를 약 10초, 150개 내외를 약 15초 이내로 검증
- 상태 코드 429를 네트워크 이슈 가능성으로 식별해 알림 노이즈 완화
- 전수 테스트가 가능해져 신규 배너만 따로 추적하는 추가 로직 불필요