테스트 / 자동화

스모크 테스트(Smoke Test)

스모크 테스트는 배포나 빌드 직후 핵심 기능이 아예 작동하지 않는 큰 문제를 빠르게 찾는 기본 점검입니다.

쉬운 설명

스모크 테스트는 배포나 빌드 직후 핵심 기능이 아예 작동하지 않는 큰 문제를 빠르게 찾는 기본 점검입니다.

배경과 쓰임까지 이해하기

조금 더 자세히

스모크 테스트(Smoke Test)는 새로 만든 버전이 최소한 켜지고 핵심 기능이 움직이는지 빠르게 확인하는 테스트입니다. 전자제품의 전원을 켰을 때 연기가 나는지 먼저 살펴본다는 비유에서 이름이 나왔습니다. 웹서비스라면 배포 직후 홈페이지 접속, 로그인, 핵심 API 응답처럼 서비스가 아예 사용할 수 없는 상태인지 짧게 점검합니다.

모든 기능을 자세히 검사하는 테스트는 아니며, 큰 문제가 없다는 것을 확인한 뒤 더 깊은 테스트로 넘어가기 위한 첫 관문입니다. 한마디로, 스모크 테스트는 새 버전의 기본 건강 상태를 빠르게 확인하는 점검입니다.

실제로는 이렇게 만나요

웹앱을 배포한 뒤 홈페이지가 열리는지, 로그인할 수 있는지, 핵심 데이터를 불러오는 API가 정상 응답하는지만 몇 분 안에 확인합니다.

  • 이런 거 할 때 나와요 빌드 자체는 성공했어도 환경변수, 데이터베이스 연결, 라우팅 문제 때문에 실제 서비스가 작동하지 않을 수 있습니다. 스모크 테스트를 먼저 실행하면 더 긴 테스트나 사용자 노출 전에 큰 문제를 빠르게 발견할 수 있습니다.
  • 이렇게 생겼어요 스모크 테스트(Smoke Test)은(는) Sanity Test, E2E Test, Integration Test 같은 주변 개념과 함께 문서, 설정 화면, 오류 메시지에서 자주 보입니다.
  • 나오는 화면 예시 테스트 / 자동화 작업을 하다가 Sanity Test, E2E Test, Integration Test를 확인하는 화면

스모크 테스트만 통과하면 배포가 안전한가요?

아닙니다. 스모크 테스트는 더 자세한 테스트를 진행할 수 있는 최소 상태인지 확인할 뿐입니다. 회귀 테스트, 보안 점검, 성능 확인 등은 별도로 필요할 수 있습니다.

헷갈리기 쉬운 점

검사 범위를 너무 넓히면 빠른 점검이라는 목적을 잃습니다. 반대로 스모크 테스트 통과를 전체 품질 보증으로 오해해서도 안 됩니다.

왜 알아두면 좋을까요?

빌드 자체는 성공했어도 환경변수, 데이터베이스 연결, 라우팅 문제 때문에 실제 서비스가 작동하지 않을 수 있습니다. 스모크 테스트를 먼저 실행하면 더 긴 테스트나 사용자 노출 전에 큰 문제를 빠르게 발견할 수 있습니다.

Checklist

실제로 볼 때 확인할 것

  1. 01

    서비스의 핵심 사용자 흐름을 3~5개로 정한다

  2. 02

    배포 환경에서 직접 실행한다

  3. 03

    실패하면 다음 배포 단계나 사용자 공개를 중단한다

  4. 04

    상세 테스트와 역할을 구분한다

관계 지도

스모크 테스트(Smoke Test) 중심으로 관련 개념의 정의와 관계를 한눈에 정리했습니다.
스모크 테스트(Smoke Test)의 정의와 관련 개념 간 관계를 설명한 계층형 그래프