AI Briefing

FE 그룹, E2E 테스트 도입 성공기: Sorry-Cypress로 속도 30초대로 단축

·2023.02.09 09:00

핵심 내용

Sorry-Cypress 병렬 테스트 적용으로 E2E 실행 시간을 2분 이상에서 30초대로 단축했다.

1 / 3

자세히 보기

프론트엔드 프로젝트에 E2E 테스트를 도입하면서 겪은 시행착오와 해결책을 공유한다. E2E 테스트는 애플리케이션의 전체 흐름을 검증하지만, QA 팀 업무와의 중복, 유지보수 난이도, 그리고 느린 실행 속도라는 세 가지 주요 걸림돌이 존재했다.

도입을 위한 4가지 원칙

성공적인 운영을 위해 다음과 같은 전략을 수립했다.

  • 기획서 기반 시나리오 작성: QA 팀의 테스트 범위와 유사성을 높이고, 기획서 변경 시 테스트 코드를 동기화하여 유지보수 부담을 줄였다.
  • Mock 데이터 지양: 실제 API를 사용하여 환경 차이로 인한 오류를 잡아내고 테스트의 신뢰성을 확보했다.
  • Pre-Push 단계 검증: Husky를 활용해 E2E 테스트를 통과한 코드만 push 되도록 강제했다.
  • 병렬 테스트 도입: Cypress의 유료 병렬 테스트 대신 오픈소스인 Sorry-Cypress를 도입했다.

Sorry-Cypress를 통한 속도 최적화

Cypress는 기본 설정에서 병렬 테스트를 지원하지 않아 100개 시나리오 실행에 약 10분이 소요되는 문제가 있었다. Sorry-Cypress를 도입하여 로컬 도커 환경에서 여러 프로세스를 동시에 실행하는 방식으로 해결했다. 이를 통해 테스트 실행 시간을 2분 이상에서 30초대로 대폭 단축했으며, 추가적인 프로세스 확장을 통해 향후 테스트 증가에도 대응할 수 있게 되었다.

도입 효과 및 시사점

초기 도입임에도 불구하고 예상치 못한 프론트엔드 버그와 API 사이드이펙트를 발견하는 성과를 거두었다. 특히 다른 개발자의 코드를 수정할 때 사이드이펙트를 자동으로 감지해 주므로 코드 수정의 부담이 줄어들었다. E2E 테스트는 도입 자체는 쉽지만 관리가 어려운 특성이 있으므로, 명확한 운영 원칙과 속도 최적화 도구가 필수적이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.