테스트 전략과 품질 게이트
vitest · pytest · Playwright · testcontainers와 저장소의 수동 CI 실행기로 회귀·완료 조건·복구까지 증명하는 8단계.
- 난이도
- 중급
- 강의
- 8
테스트가 많다고 안전한 것도 아니고, 없어서 빠른 것도 아닙니다. 프로젝트 규모 · 팀 문화 · 사고 비용에 맞는 레이어별 선택이 진짜 설계.
누구를 위한 강좌인가
- "어디서 어떤 테스트를 써야 하지?" 가 늘 고민인 분
- vitest · pytest · Playwright 를 한 프로젝트에 같이 쓰는 방법이 궁금한 분
- CI 에서 "초록 불" 의 신뢰를 높이고 싶은 분
다 끝내면 가능한 것
- 테스트 피라미드 실전 배치 (단위 80% · 통합 15% · E2E 5%)
- vitest +
vi.hoistedmock 패턴 SSOT - pytest + fixture · parametrize
- testcontainers 로 실제 PostgreSQL 과 통합 테스트
- Playwright 매니페스트 자동 생성 + smoke
- 저장소의 수동 CI 실행기와 서비스 범위별 품질 게이트
- 기획 · 디자인 · 개발 · 사용자 · 운영 관점의 완료 증거 매핑
- 부분 실패 · 마이그레이션 · readiness · 롤백을 품질 게이트에 포함
단계 흐름
신뢰도를 쌓는 검증 순서
테스트 피라미드와 언어별 단위 검증으로 작은 계약을 빠르게 확인합니다.
컨테이너 기반 통합 검증과 핵심 E2E로 경계 간 동작을 증명합니다.
CI가 같은 검증을 재현하고 실패를 배포 전에 차단하게 합니다.
공개 smoke와 복구 훈련까지 통과한 증거만 완료로 인정합니다.
위에서 아래로 갈수록 비용도, 신뢰도도 올라갑니다. CI 가 맨 마지막 인 이유 — 그 전까지 모든 레이어가 갖춰져야 게이트의 의미가 있습니다.
단계 구성
- 테스트 피라미드 · 트레이드오프 — 비용 vs 신뢰 · 레이어 결정
- vitest 기본 + mock 패턴 —
vi.hoisted·vi.stubEnv· node vs jsdom - pytest · fixture · parametrize — conftest · async · coverage
- testcontainers — PostgreSQL 실제 컨테이너 + 멱등 시드
- Playwright E2E — 매니페스트 자동 ·
@writePROD skip - 수동 CI 실행기와 품질 게이트 — OS wrapper · Node SSOT · 아티팩트 · 서비스 범위
- 완료 조건을 검증 가능한 증거로 바꾸기 — 다섯 관점 · 계약 · 사용성
- 부분 실패와 복구를 품질 게이트에 넣기 — 멱등 시드 · 점진 마이그레이션 · readiness · rollback
전제 — getting-started + 한 번이라도 테스트를 써본 경험.
단계별 강의
다른 강좌
전체 보기 →- 운영 가능한 서비스 만들기 — 경계·성능·복구·배포 14단계
- 처음 시작하는 개발 환경
- HTML/CSS/JS 부터 React, Next, Tailwind 까지
- Next.js 16 으로 첫 풀스택 앱 만들기
- Spring Boot 4 로 시작하는 백엔드
- Python · FastAPI · 데이터 파이프라인
- AI 시대의 개발 도구 — Claude Code · MCP · 디자인 도구
- Docker · Caddy · 클라우드 10단계 배포 옵션
- 운영 콘솔 설계 — 여러 자원을 한 화면에서
- 로컬 LLM · pgvector · RAG 챗봇 만들기
- Tauri 2 — 데스크탑 · 모바일 한 코드베이스
- 웹 보안의 기초 — JWT · OAuth · OWASP
- PostgreSQL 깊게 다루기 + Redis · Kafka
- 공공데이터 크롤러 만들기
- 모노레포 · SSOT · 계층 분리 사고