Krótko o smoke testach. Wiele lat temu w branży budowlanej zauważono, że jeżeli chcemy "przetestować" rurociągi, możemy przepuścić przez nie dym i zobaczyć czy gdzieś między punktem A (początek) a punktem B (koniec) nic nie wycieka. Jeżeli nie - oznacza to, że wszystko jest szczelne. Dym sprawdzał się przy tym o wiele lepiej i dokładniej, niż inny materiał (np. woda), ponieważ jest lekki, przeciśnie się przez każdą, nawet najmniejszą szczelinę, a dodatkowo nie wymaga takiego ciśnienia, jak na przykład przepuszczenie wody.
Teraz wróćmy do świata IT - podobnie jak w przykładzie wyżej, testem dymnym jest "sprawdzenie szczelności" (brak istotnych defektów) pomiędzy punktem A a punktem B, oszczędzając przy tym maksymalnie dużą ilość czasu. Mówimy o tym wtedy, gdy chcemy sprawdzić najważniejszą funkcjonalność, nie wdając się przy tym w techniczne szczegóły czy skomplikowane przypadki testowe.
Jeżeli mamy sklep internetowy, podczas testów dymnych możemy skupić się na najważniejszej funkcjonalności - zakładanie konta, logowanie, dodanie produktu do koszyka (uprzednio go wyszukując), zakup (płatność, wybór transportu, wygenerowanie rachunku bądź faktury). Chcąc ograniczyć czas, pominiemy tutaj specyficzne przypadki, nietypowe metody płatności (odroczone płatności, raty, mało popularne przelewy tradycyjne itd).
Testy dymne nie są czasochłonne - ich zaleta to właśnie krótki czas wykonania (nawet do kilku minut). Oczywiście nie potwierdzą one jakości produktu, ale pozwolą zauważyć defekty w podstawowym flow, z którego skorzysta większość użytkowników. Warto mieć przy tym pewne miary czy trendy, które ułatwią nam cały proces i dobranie odpowiedniego kierunku.
Osobiście uważam, że podczas wykonywania smoke testów, warto znać critical path aplikacji, czyli ścieżkę krytyczną - przejście użytkownika z punktu A (np. zakładanie konta) do punktu B (np. sfinalizowanie zakupu), podczas którego nic nie może zawieść - bo jeżeli zawiedzie, produkt nie spełni minimalnych oczekiwań, a biznes nie zarobi (critical path często dotyczy aspektów finansowych aplikacji, czyli w przypadku OLX będzie to nie tylko dodanie ogłoszenia, ale również jego płatna reklama). Smoke testy dość często (choć nie zawsze) wykonuje się testując właśnie critical path.
Zalety testów dymnych? Bardzo szybkie sprawdzenie najważniejszej funkcjonalności, możliwość automatyzacji procesu, zwiększenie jakości produktu (istotne z punktu widzenia QA).
Infografika.
|