무신사 Web 테스트 자동화 2.0: 더 빠르고 효율적인 테스트 환경 만들기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발, DevOps
대상자
QA 엔지니어, DevOps 엔지니어, 테스트 자동화 담당자
핵심 요약
- GitHub Actions 기반 CI/CD 도입으로 Jenkins/Spinnaker 서버 유지보수 필요성 제거
- DB 기반 테스트 데이터 관리로 XPath 수정 및 코드 수정 없이 테스트 유지보수 가능
- pytest의 fixture 활용으로 테스트 단위 재사용 및 테스트 수행 시간 절반 이하로 단축(740개 TC → 8.1초/TC)
섹션별 세부 요약
- 기존 1.0 환경의 문제점
- UI 변경 시 XPath 재작성 필요성으로 유지보수 비용 증가
- 수동/자동화 테스트 케이스 간 중복 동작 발생
- Allure 리포트 사용 시 별도 서버 운영 부담
- CI/CD 파이프라인 변경 사항
- Spinnaker → GitHub Actions로 CI/CD 도입
- GitHub Actions로 PR 생성, 브랜치 병합, 스케줄 실행 등 유연한 트리거 설정 가능
- 테스트 실행 및 배포 과정 단일 환경에서 통합 관리
- 테스트 데이터 관리 개선
- 테스트 데이터 DB화로 코드 수정 없이 웹 페이지에서 직접 테스트 데이터 수정 가능
- 중복 XPath 최소화 및 유지보수 비용 절감
- 테스트 케이스 구조 개선
- "step" 기반 구조 도입으로 로그인, 입력, 클릭 등 기능 단위 분리
- pytest의 fixture 기능 활용으로 사전 조건 자동 설정 및 테스트 재사용 가능
- 예:
auto_login
,move_order
fixture로 로그인/결제 공통 동작 최적화
- 테스트 리포트 및 피드백 시스템 개선
- Allure 서버 제거 → Slack/TestRail 기반 간결한 결과 전송
- 테스트 실패 시 스크린샷, 수행 시간, 실패 원인 즉시 Slack 전송
결론
- *GitHub Actions 도입, DB 기반 테스트 데이터 관리, pytest fixture 활용**을 통해 테스트 효율성과 유지보수성을 극대화한 무신사 Web 테스트 자동화 2.0은 기술적 혁신과 팀 경험의 결합 결과입니다. 향후 AI 도입 및 PC 환경 자동화 등 추가 개선 계획으로, 테스트 자동화의 지속적 발전을 목표로 합니다.