Smoke Testing-а доказва основната функционалност на приложението чрез използване на подгрупа от тестови случаи за оценка на функционалността на високо ниво. Основната му стойност е в бързото определяне на стабилността на приложението.
История на произхода
В софтуера тестването на дим не включва истински дим (или поне не би трябвало). Така че защо се нарича тестване на дим? Нека да разгледаме набързо откъде идва терминът, преди да проучим повече по темата.
Има няколко възможни истории за произход; първият идва от хардуерната индустрия. Идеята е, че когато запалите нова машина за първи път и тя започне да издухва дим, вероятно има значителен дефект, който трябва да се коригира.
Другата по-популярна история за произход идва от водопроводната индустрия. След като водопроводчикът приключи с пускането и запечатването на тръбите, той използва димна бомба, за да издуха дима през системата и да провери всички линии за течове. Ако идентифицират теч, това е ясен сигнал, че е необходима допълнителна работа, преди да могат да продължат.
Как работи?
Която и история на произхода да предпочетете, целите са едни и същи както за индустрията, така и за софтуерното тестване, което е да се провери дали основната функционалност на системата работи. Разбира се, няма да видите дим да излиза от вашия уеб браузър, защото това е само терминът, който е заимстван. Софтуерните димни тестове съдържат малка подгрупа от тестови случаи, които позволяват бърз процес на тестване, който обхваща само основните характеристики. Този тип тестване определя дали компилацията е достатъчно стабилна, за да продължи, независимо дали това е с допълнително тестване или пускане.
Тъй като димното тестване се фокусира върху основната функционалност на дадено приложение, повечето дефекти, открити чрез този метод, обикновено са грешки P1 (или с висок приоритет), достатъчно значими, за да блокират напредъка. Въпреки това, по-малко критични проблеми също могат да бъдат идентифицирани по време на тест за дим, въпреки че те не са основният фокус.
Характеристики на Smoke Testing:
Кой трябва да провежда теста ?
Обикновено някой от QA екипа или инженерния екип ще проведе тестовете. Все пак техниката не е супер техническа или дълбока, така че е подходяща за всеки, който разбира основната функционалност на продукта. Например, инженерът по поддръжката може да е квалифициран, защото е запознат с основните функции на продукта, което им позволява да идентифицират блокери в тези области.
Smoke Testing помага да се идентифицират критични дефекти на ранен етап, като например при разработване на нова функция, която влияе върху основната функционалност. В тези случаи техниката може да помогне да се гарантира, че всички основни функции вече работят, за да се предотврати изразходването на допълнително време и ресурси за по-задълбочено тестване след добавяне на новия код. Това помага на софтуерните екипи да спестят време и пари.
Този вид тестване може също така да провери нова конструкция и да избегне сценарий, при който клиентите срещат критични дефекти, които екипът за тестване би могъл да идентифицира иначе.
Димните тестове са ефективен начин за локализиране на големи дефекти в софтуера, преди да тествате останалата част от продукта на по-дълбоко ниво. Ползите включват спестяване на време, по-бързо отстраняване на големи проблеми и поддържане на клиентите доволни.