테스트 / 자동화
스모크 테스트(Smoke Test)
스모크 테스트는 배포나 빌드 직후 핵심 기능이 아예 작동하지 않는 큰 문제를 빠르게 찾는 기본 점검입니다.
쉬운 설명
스모크 테스트는 배포나 빌드 직후 핵심 기능이 아예 작동하지 않는 큰 문제를 빠르게 찾는 기본 점검입니다.
배경과 쓰임까지 이해하기
조금 더 자세히
스모크 테스트(Smoke Test)는 새로 만든 버전이 최소한 켜지고 핵심 기능이 움직이는지 빠르게 확인하는 테스트입니다. 전자제품의 전원을 켰을 때 연기가 나는지 먼저 살펴본다는 비유에서 이름이 나왔습니다. 웹서비스라면 배포 직후 홈페이지 접속, 로그인, 핵심 API 응답처럼 서비스가 아예 사용할 수 없는 상태인지 짧게 점검합니다.
모든 기능을 자세히 검사하는 테스트는 아니며, 큰 문제가 없다는 것을 확인한 뒤 더 깊은 테스트로 넘어가기 위한 첫 관문입니다. 한마디로, 스모크 테스트는 새 버전의 기본 건강 상태를 빠르게 확인하는 점검입니다.
실제로는 이렇게 만나요
웹앱을 배포한 뒤 홈페이지가 열리는지, 로그인할 수 있는지, 핵심 데이터를 불러오는 API가 정상 응답하는지만 몇 분 안에 확인합니다.
- 이런 거 할 때 나와요 빌드 자체는 성공했어도 환경변수, 데이터베이스 연결, 라우팅 문제 때문에 실제 서비스가 작동하지 않을 수 있습니다. 스모크 테스트를 먼저 실행하면 더 긴 테스트나 사용자 노출 전에 큰 문제를 빠르게 발견할 수 있습니다.
- 이렇게 생겼어요 스모크 테스트(Smoke Test)은(는) Sanity Test, E2E Test, Integration Test 같은 주변 개념과 함께 문서, 설정 화면, 오류 메시지에서 자주 보입니다.
- 나오는 화면 예시 테스트 / 자동화 작업을 하다가 Sanity Test, E2E Test, Integration Test를 확인하는 화면
스모크 테스트만 통과하면 배포가 안전한가요?
아닙니다. 스모크 테스트는 더 자세한 테스트를 진행할 수 있는 최소 상태인지 확인할 뿐입니다. 회귀 테스트, 보안 점검, 성능 확인 등은 별도로 필요할 수 있습니다.
헷갈리기 쉬운 점
검사 범위를 너무 넓히면 빠른 점검이라는 목적을 잃습니다. 반대로 스모크 테스트 통과를 전체 품질 보증으로 오해해서도 안 됩니다.
왜 알아두면 좋을까요?
빌드 자체는 성공했어도 환경변수, 데이터베이스 연결, 라우팅 문제 때문에 실제 서비스가 작동하지 않을 수 있습니다. 스모크 테스트를 먼저 실행하면 더 긴 테스트나 사용자 노출 전에 큰 문제를 빠르게 발견할 수 있습니다.
Checklist
실제로 볼 때 확인할 것
- 01
서비스의 핵심 사용자 흐름을 3~5개로 정한다
- 02
배포 환경에서 직접 실행한다
- 03
실패하면 다음 배포 단계나 사용자 공개를 중단한다
- 04
상세 테스트와 역할을 구분한다