Smoke testing (testy dymne) to krótki zestaw testów sprawdzający, czy podstawowe funkcje systemu w ogóle działają - czy nowa wersja „nie dymi" i nadaje się do dalszego, dokładniejszego testowania. Jeśli smoke test nie przechodzi, build wraca do developerów bez uruchamiania pełnej regresji.
Nazwa pochodzi z elektroniki: po złożeniu układu włączasz zasilanie i patrzysz, czy nie idzie dym. W oprogramowaniu działa identycznie. Po każdym wdrożeniu na środowisko testowe lub produkcyjne odpalasz kilkanaście scenariuszy krytycznych i dopiero wtedy decydujesz, czy testować głębiej.
Analityk biznesowy ma tu konkretną rolę: zdefiniować, co jest „krytyczne". To decyzja biznesowa, nie techniczna - które ścieżki muszą działać zawsze, bo ich awaria zatrzymuje firmę.
W MediFlow smoke test po każdym wdrożeniu modułu e-rejestracji trwa około 10 minut i obejmuje: logowanie pacjenta, wyszukanie wolnego terminu, rezerwację wizyty, wysyłkę maila potwierdzającego i podgląd grafiku po stronie recepcji. Pięć scenariuszy. Gdy któryś pada, wdrożenie jest wycofywane, zanim 12 przychodni zacznie dzień pracy na zepsutym systemie.
Częsta pomyłka: mylenie smoke testów z sanity testami (te sprawdzają wąski obszar po konkretnej poprawce) albo traktowanie smoke'a jako zamiennika regresji. Smoke odpowiada tylko na pytanie „czy system żyje", nie „czy wszystko działa poprawnie". Druga pułapka: rozbudowywanie smoke'a do 200 przypadków. Wtedy przestaje być szybką bramką i staje się regresją pod inną nazwą.