테스트 자동화 이란
소프트웨어 테스트 자동 실행
테스트 자동화
테스트 자동화는 사람의 개입 없이 테스트를 실행하고, 결과를 비교하고, 보고서를 생성하기 위해 전문 소프트웨어를 사용하는 것입니다.
테스트 수준
| 수준 | 설명 | 도구 | |------|------|------| | 단위 테스트 | 개별 함수 테스트 | Jest, JUnit, pytest | | 통합 테스트 | 컴포넌트 상호작용 | TestContainers, Postman | | E2E 테스트 | 완전한 사용자 시나리오 | Cypress, Playwright, Selenium | | 부하 테스트 | 부하 시 성능 | k6, JMeter, Gatling |
테스트 피라미드
- 많은 단위 테스트 — 빠르고 저렴
- 적당한 통합 테스트 — 연결 검증
- 적은 E2E — 느리지만 실제 시나리오 커버
모범 사례
- 모든 커밋에서 CI/CD에서 테스트 실행
- 테스트를 서로 격리
- 외부 의존성에 목 사용
- 테스트를 최신 상태로 유지
- 80% 이상 커버리지 목표
품질 메트릭
- 커버리지 — 코드 커버 비율
- 불안정성 — 불안정한 테스트
- 실행 시간 — 테스트 소요 시간
- 통과율 — 성공한 실행 비율