데브옵스
무신사 Web 테스트 자동화 2.0: 더 빠르고 효율적인 테스트 환경 만들기
두줄요약
무신사 Web 테스트 자동화 2.0의 개선 내용을 정리한 글입니다. GitHub Actions, DB화, step/fixture 구조로 유지보수성과 실행 효율을 높였습니다.
문제 상황
- 무신사 2.0 개편으로 Web UI가 크게 바뀌어 기존 Selenium 기반 자동화 스크립트 재활용이 어려움
- 수동 테스트와 자동화 테스트의 수행 단위 차이로 유지보수 비용이 누적됨
- 코드에 포함된 테스트 데이터와 개별 수정 절차로 단순 변경에도 배포 시간이 길어짐
해결 방법
- GitHub Actions 중심으로 CI/CD를 단순화하고 Jenkins, Spinnaker, 별도 서버 의존성 제거
- 테스트 데이터를 DB로 분리해 Web 페이지에서 직접 수정 가능하도록 개선
- step 기반 구조와 pytest fixture로 수동 테스트 흐름과 자동화 테스트 흐름을 통일
성능/운영 포인트
- 공통 사전 조건을 fixture scope로 한 번만 수행해 중복 동작 최소화
- 약 350개 TC를 100분에 수행하던 환경에서 약 740개 TC를 동일 시간에 처리하도록 효율 개선
- Allure 서버 대신 Slack과 TestRail로 핵심 결과만 전달해 운영 부담 절감
적용해볼 점
- 반복되는 사전 조건과 공통 동작을 fixture처럼 재사용 가능한 단위로 분리
- 테스트 데이터와 실행 로직을 분리해 변경 범위 축소
- 결과 리포트는 운영 비용과 확인 편의성을 함께 고려해 단순화