Nie będę tłumaczył na polski powyższych nazw bo nie mam pojęcia jak to oficjalnie zostało nazwane. W każdym razie, cechą wspólną powyższych testów jest szybkość i pobieżność – stanowią one wstęp do prawdziwego, gruntowanego testowania. Poniżej kilka najważniejszych cech opisujących smoke test:
- Zwykle zautomatyzowany – np. w formie testu jednostkowego.
- Testuje każdą warstwę systemu pobieżnie.
- Sprawdza czy najważniejsze fragmenty systemu działają, nie wgłębiając się w logikę biznesową.
- Ma charakter horyzontalny a nie wertykalny – weryfikuje wszystkie aspekty pobieżnie.
- Smoke test wywodzi się z testowania sprzętu – podłączamy nowe urządzenie i sprawdzamy czy nie… wybuchnie. Jeśli pojawi się dym wtedy wiemy, że coś poszło nie tak:). Nazwa określa po prostu szybkie testy które w jakimś stopniu potrafią sprawdzić czy aplikacja działa.
Z kolei Sanity Test charakteryzuje się:
- Stanowi podgrupę testów regresyjnych wykonywanych po naprawieniu pewnego błędu – weryfikuje czy po zmianie kodu, aplikacja nadal działa w sposób przewidywalny.
- Zwykle niezautomatyzowany (chodź z tym można dyskutować…).
- Należy do tej samej grupy testów co smoke test – weryfikacja pobieżna.
- Testowanie wertykalne a nie horyzontalne.
Powyższe testy to raczej kwestia nazewnictwa. Wykonywane są wciąż w formie testów jednostkowych lub manualnych. Każdy chyba po kilku zmianach “przeklikowuje” aplikację czyli wykonuje tak naprawdę manualny smoke test:).