피드로 돌아가기
Why a Test Automation Framework? (Playwright + TypeScript, Ch.1)
Dev.toDev.to
DevOps

Layered Framework 설계를 통한 Test Automation 유지보수성 확보

Why a Test Automation Framework? (Playwright + TypeScript, Ch.1)

kadir2026년 6월 8일5intermediate

Context

단순 Inline 스크립트 방식의 테스트 작성으로 인한 코드 중복 및 유지보수 비용 증가 발생. 하드코딩된 URL과 반복적인 UI Login 과정으로 인한 테스트 실행 속도 저하 및 데이터 불확실성 문제 직면.

Technical Solution

  • Page Object Model(POM) 도입을 통해 UI Selector와 비즈니스 로직을 분리하여 UI 변경에 따른 영향도 최소화
  • Playwright Fixtures 기반의 Dependency Injection 구조를 설계하여 테스트별 필요한 Context와 Data의 자동 주입 구현
  • API-based Data Seeding 방식을 채택하여 UI를 거치지 않는 결정론적 테스트 데이터 상태 확보
  • Session State 재사용 전략을 통해 매 테스트마다 반복되는 UI Login 과정 제거 및 실행 시간 단축
  • Utils 레이어의 API Wrapper 구축을 통한 UI-API 통합 검증 파이프라인 구성
  • CI 환경에서의 Sharding 설정을 통한 테스트 병렬 실행 구조 설계

- 테스트 코드 내 Selector나 URL 등 환경 변수가 하드코딩되어 있는지 확인 - UI 테스트 전제 조건(로그인, 데이터 생성)을 UI가 아닌 API 호출로 처리하고 있는지 검토 - 단순 스크립트 나열이 아닌 Page/Fixture/Util로 구분된 Layered Architecture 적용 여부 판단 - CI 파이프라인에서 Sharding을 통한 병렬 테스트 실행 최적화 적용 검토

원문 읽기