본문으로 건너뛰기
Clinford Jordano Valencia
모든 프로젝트
플랫폼

Saga, 테스트 상태 주입 도구

서버 기반 상태 주입으로 QA와 자동화가 긴 인증 흐름의 어느 단계로든 바로 이동할 수 있게 해, 회귀 테스트 준비를 최대 20분에서 1분 미만으로 줄였습니다.

역할
Senior Frontend Engineer
기간
2025–현재
기술 스택
TypeScript · Playwright · BFF · Test database

문제

KYC 흐름 5단계의 버그를 확인하려면 먼저 유효한 개인정보를 입력하고, 신분증을 올리고, 1단계부터 4단계까지 라이브니스 검사를 통과해야 했습니다. 매번, 모든 pull request와 모든 자동화 실행마다 말입니다.

접근 방식

Saga를 쓰면 테스터나 스크립트가 필요한 상태의 앱을 바로 열 수 있습니다.

  1. Playwright 스크립트나 QA 엔지니어가 안전한 테스트 토큰으로 페이지를 엽니다. 예: ?state=step_4_ready.
  2. 프론트엔드는 하이드레이션 시점에 토큰을 감지해 헤더로 BFF에 전달합니다.
  3. BFF는 운영 환경이 아님을 엄격하게 확인한 뒤, 테스트 데이터베이스에 사용자 세션을 준비합니다. 1–3단계는 완료, 현재 위치는 4단계입니다.
  4. BFF가 실제 세션 토큰을 돌려주면 UI가 곧바로 4단계를 렌더링합니다.

클라이언트에서 localStorage를 모킹하는 대신 서버 기반 주입을 택했습니다. 요즘 앱은 백엔드에서 세션을 검증하므로, 클라이언트만의 모킹은 현실과 점점 어긋나고, 여기서는 통과하지만 운영에서는 실패하는 테스트를 만듭니다.

결과

회귀 테스트 준비가 회차당 10–20분에서 1분 미만으로 줄었습니다. 매주 수십 번의 pull request 실행과 자동화 스위트를 생각하면, 분기마다 수백 시간의 엔지니어링 시간을 되찾은 셈입니다.