개요
새너티 테스트와 스모크 테스트는 릴리스 안정성을 빠르게 가늠하기 위한 얕은 검증 활동. 용어가 비슷하지만 주체와 시점, 방법이 다름. 헷갈리면 품질 게이트가 흐려짐
개념과 정의
- Sanity Testing 새로 추가된 기능이나 수정된 버그가 의도대로 동작하는지 개발자가 빠르게 확인하는 탐색형 확인. 사전에 문서화된 테스트 케이스 없이 핵심 경로 위주 확인
- Smoke Testing 시스템의 주요 기능에 대해 미리 정의된 테스트 케이스의 부분 집합을 실행해 빌드가 더 깊은 테스트를 진행할 수 있을 만큼 건강한지 확인. 전자 기판에 전원을 넣어 연기가 나는지 보는 관행에서 유래
동작과 시점
- 주체 새너티는 대부분 개발팀 중심. 스모크는 개발팀 또는 검증팀 수행
- 대상 새너티는 신규 기능과 버그 수정 범위. 스모크는 로그인 결제 등 핵심 기능 전반
- 시점 새너티는 빌드 또는 릴리스 전 변경 단위 확인. 스모크는 빌드 후 통합본에서 수행
- 방법 새너티는 자유 탐색형 확인. 스모크는 사전 정의된 케이스 집합 실행
간단 예시
로그인 기능을 추가했다면 개발자는 로컬이나 스테이징에서 정상 로그인 실패 케이스 리그레션을 빠르게 새너티로 본다. 이후 통합 빌드가 배포되면 스모크에서 로그인 회원가입 대시보드 진입 등 핵심 플로우가 최소 기준을 충족하는지 본다. 하나라도 막히면 빌드 불합격 처리
주의와 베스트 프랙티스
- 스모크는 CI 파이프라인에서 자동화해 빌드 검증 지표로 사용
- 새너티는 변경 범위 중심으로 얕고 빠르게. 수십 분 이내 종료 목표
- 실패 기준과 롤백 정책을 명시해 의사결정 시간 단축
- 간단한 체크리스트와 로그를 남겨 회귀 분석 가능하게 유지
마무리
새너티는 변경 검증용 국소 점검. 스모크는 빌드 건강 진단용 최소 회귀 점검. 목적과 시점을 구분해 중복 없이 품질 게이트 구성