brunch

You can make anything
by writing

C.S.Lewis

by 이지원 Oct 01. 2022

12화 Test Types Smoke Testing

소프트웨어 테스팅

BAT(빌드 인수 테스트) 또는 스모크 테스트(Smoke Test)에 대해 알아보겠습니다. BAT와 스모크 테스트의 의미는 동일합니다. 전체 기능에 대한 리그레션 테스트와 업데이트 스펙을 수행하기 전에, 현재 배포된 빌드가 테스트 진행에 필요한 안정적인 빌드인지에 대한 검증이 필요합니다. 이러한 테스트 유형이 바로 스모크 테스트입니다.



스모크 테스트 커버리지는 리그레션 테스트 커버리지에 포함됩니다. 예를 들어 서비스 중인 제품에는 로그인과 프로필 기능이 있습니다. 리그레션 테스팅을 위한 빌드가 배포되었습니다. 로그인과 프로필 기능 전체를 테스트해야 하는데 로그인이 안됩니다. 이러한 경우 로그인 불가 현상으로 인해 전체 테스트 진행이 불가합니다. 이를 Block 케이스라고도 합니다. 상위 기능이 동작하지 않아서 하위 기능을 검증하지 못하는 상황을 뜻합니다. 프로필은 로그인되어야 검증 가능한 기능이기 때문이죠. 또한 로그인 불가로 인해 로그인 관련된 세부 기능 테스트가 불가합니다. 이와 같은 이슈를 빌드 배포 시 빠르게 검증해보는 과정이 스모크 테스팅입니다. 빌드 안정성을 검증하는 것이죠.



스모크 테스팅은 30분~1시간 이내로 완료되도록 테스트 커버리지 별도 유지 보수가 필요합니다. 전체 기능을 분류하고 각 기능을 실행해보는 최소 단위를 테스트 대상으로 분류하면 효과적입니다. 보통 실무에서는 전체 기능에 대한 리그레션 테스트 커버리지와 스모크 테스트 커버리지를 분리시키는 경우가 많습니다. 예를 들어, 아주 간단한 기능만 수정하고 빠르게 운영 환경에 배포해야 하는 상황에서 전체 기능에 대한 리그레션 테스트를 하기엔 비효율적이기 때문이죠. 따라서 이럴 땐 스모크 테스트 커버리지를 활용하기도 합니다.



스모크 테스트가 통과되었다는 것은 해당 빌드로 테스트 진행이 가능한 것을 의미합니다. QA팀이 스모크 테스트를 진행 중일 땐 개발 리소스를 스모크 테스트 이슈 대응에 최우선 분배하는 것이 전체 테스트 비용을 줄일 수 있습니다. Low Level에서 확인 가능한 버그와 UI 테스트에서 확인 가능한 버그는 서로 다른 유형입니다. 그렇기에 QA팀이 되도록이면 이른 시점에 전체 기능에 대한 리그레션 검증을 진행하는 것이 효율적이므로 스모크 테스트의 통과 여부는 중요합니다.

매거진의 이전글 11화 Test Types 확인 테스팅
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari