나의 잡다한 노트 및 메모
Sanity test와 Smoke test 본문
1. Smoke Test (스모크 테스트)
개념 및 목적
- 초기 안정성 검증:
새로 빌드된 애플리케이션이 "큰 결함" 없이 실행되는지를 확인합니다.
기본 기능들이 정상적으로 작동하는지만 체크하여, 시스템 전체의 건강 상태를 빠르게 판단합니다. - 주요 목적:
- 기본 동작 확인: 애플리케이션이 전반적으로 작동하는지, 즉 주요 화면이 로드되고, 핵심 기능(로그인, 주요 메뉴 접근 등)이 수행되는지를 확인합니다.
- 빌드 품질 판단: 빌드가 안정적이면 이후에 진행될 상세한 테스트(예: 회귀 테스트)를 수행할 수 있는지 판단합니다.
적용 시점 및 특징
- 적용 시점:
- 새 빌드가 완료된 후
- 배포 전에, 혹은 배포 직후 초기 검증 단계로 사용됩니다.
- 특징:
- 넓고 얕은 범위: 시스템의 광범위한 영역을 대상으로 하지만, 각 기능에 대한 세밀한 검증은 수행하지 않습니다.
- 빠른 피드백: 빌드의 주요 문제를 빠르게 식별할 수 있어, 큰 결함이 발견되면 상세 테스트 이전에 즉시 문제를 수정하도록 합니다.
- 자동화 용이: 반복적으로 수행하기에 적합하므로, 자동화 도구를 통해 쉽게 실행할 수 있습니다.
2. Sanity Test (새너티 테스트)
개념 및 목적
- 변경 사항 검증:
이미 존재하는 기능에 대한 수정, 버그 수정, 또는 기능 추가 후에 해당 변경이 의도한 대로 작동하는지, 다른 기능에 부정적 영향을 주지 않았는지 확인합니다. - 주요 목적:
- 특정 기능 집중 검증: 변경된 부분 또는 해당 변경에 영향을 받을 수 있는 관련 기능에 대해 집중적으로 테스트합니다.
- 개발자 확인: 개발자가 수정한 사항이 정상 작동하는지를 빠르게 검증하여, 전체 회귀 테스트 전에 문제를 조기에 발견할 수 있도록 합니다.
적용 시점 및 특징
- 적용 시점:
- 버그 수정이나 기능 개선이 이루어진 후
- 수정된 코드가 포함된 새로운 빌드가 생성된 후, 변경 영역에 집중하여 검증합니다.
- 특징:
- 좁고 깊은 범위: 전체 시스템이 아니라, 변경된 부분이나 해당 부분과 관련된 기능만을 검증합니다.
- 빠른 검증: 자세한 회귀 테스트를 진행하기 전에, 변경 사항이 의도대로 작동하는지를 빠르게 판단합니다.
- 선택적 테스트: 전체 시스템 테스트 대신, 수정한 부분만 테스트하여 시간과 노력을 절약할 수 있습니다.
3. Smoke Test와 Sanity Test의 주요 차이점
Smoke Test Sanity Test
목적 | 전체 시스템의 기본 동작 여부를 신속히 확인 | 특정 변경 사항이나 버그 수정 후 해당 부분의 정상 작동 확인 |
테스트 범위 | 넓고 얕게 (시스템 전반의 핵심 기능) | 좁고 깊게 (변경된 부분에 집중) |
실행 시점 | 새 빌드 후, 배포 전 | 기능 수정/버그 수정 후, 새 빌드 내 변경 영역 검증 |
자동화 | 일반적으로 자동화되어 반복적으로 수행 | 상황에 따라 자동화 또는 수동으로 진행 |
결과 활용 | 큰 결함 발견 시 전체 테스트 진행 중단 | 변경 사항이 정상이면 상세 회귀 테스트로 진행 |
'QA' 카테고리의 다른 글
회귀 테스트 (0) | 2025.04.05 |
---|---|
QA ( Quality Assurance )란? (1) | 2025.03.30 |
릴리즈 품질 기준안 (0) | 2025.03.30 |
Full-TC와 탐색적 검증 (Exploratory Testing) (0) | 2025.03.30 |