Każda firma, niezależnie od rozmiaru, musi dostarczać swoim użytkownikom oprogramowanie, wyróżniające się wysoką jakością i stabilnością, jeśli chce osiągnąć sukces w tej branży. Tworzenie programu jest niezwykle skomplikowanym procesem, nad którym bardzo często pracuje wiele różnych teamów projektowych – a im bardziej skomplikowany proces, tym więcej problemów może pojawić się po drodze. Istotne jest, aby je zdiagnozować i wyeliminować, zanim finalna wersja produktu zostanie dostarczona do klienta. 

Smoke testing to jedna z metod wczesnego testowania, która często wykonywana jest w ramach testu funkcjonalnego lub Unit Testing. Jest niezwykle istotna w procesie projektowym, ponieważ bez niej, nie posuniemy projektu do przodu. 

Czym tak w sumie jest ten cały smoke testing? Czy naprawdę jest tak ważny, dla naszego oprogramowania? Wszystkiego dowiesz się z naszego przewodnika po smoke testingu.

Na jakiej zasadzie działa smoke testing? 

Głównym zadaniem smoke testingu jest zweryfikowanie, czy wszystkie podstawowe funkcje Twojego oprogramowania działają tak jak należy. Przeważnie przeprowadza się go na początkowych wersjach programu, które nie są jeszcze do końca stabilne. Wyniki tego testu dadzą Ci jasny ogląd na to, co w Twoim produkcie działa, a co nie i zagwarantuje Ci płynne przejście do fazy testowania regresywnego w przyszłości. 

Zatrudnienie całego sztabu specjalistów ds. jakości, którzy mają testować Twoje oprogramowanie jest bardzo drogą zabawą. Może się okazać, że koszty przewyższają zyski, a Twój zespół wcale nie ma aż tak dużo pracy, jak mogłoby się wydawać. Outsourcowanie takiej usługi wydaje się być lepszym rozwiązaniem, ale nadal może poważnie nadszarpnąć Twój budżet. Smoke testing pozwoli Ci znacznie ograniczyć koszty, ponieważ pozwoli Ci konkretnie zidentyfikować problematyczne obszary oprogramowania, na których testowaniu możesz skupić się w przyszłości. Tego typu testy wcale nie muszą być bardzo dokładne i rozbudowane – pamiętaj się, że powinieneś się skupić wyłącznie na samych podstawach. Czas na bardziej szczegółowe testowanie jeszcze przyjdzie. 

Co różni Smoke Testing i Sanity Testing? 

Jeśli miałeś już do czynienia z testowaniem oprogramowania, na pewno obie te nazwy obiły Ci się o uszy. Na pewno dostrzegłeś też wiele podobieństw pomiędzy tymi dwoma typami testów. Jeden i drugi ma na celu ewaluację podstawowych funkcjonalności oprogramowania i sprawdzenie, czy nasz produkt jest gotowy na dalsze fazy testowania, czy może musimy poświęcić mu jeszcze trochę uwagi. A co w takim razie je różni? 

Choć niektórzy stosują te dwa terminy wymiennie, w rzeczywistości nieco się od siebie różnią. Sanity testing odnosi się do testowania nowych funkcjonalności oraz naprawianiu błędów powstałych na skutek łatek czy aktualizacji. Smoke testing z kolei skupia się na kluczowych funkcjonalnościach oprogramowania.

Zwiększ swoją efektywność z BugBug

Korzyści płynące z wykorzystania Smoke Testu

Chociaż może się wydawać, że smoke testing jest mocno ograniczony w swoim spektrum działania, to tak naprawdę korzyści, które nam gwarantuje są nie do przecenienia. Jak wspominaliśmy wcześniej, smoke testing może pomóc Ci ograniczyć koszty kontroli jakości, dzięki wyszczególnieniu problematycznych obszarów do dalszego, bardziej szczegółowego testowania. Jeśli pominiesz ten proces, możesz doświadczyć wielu problemów i zastojów w pracy na dalszych etapach testowania. 

Smoke testing to szybka, wydajna i efektywna metoda testowania oprogramowania. Dzięki niej w oka mgnieniu znajdziesz wszystkie punkty zapalne i defekty w Twoim projekcie, już na jego wczesnych stadiach, a tym samym zyskasz pewność, że wypuszczasz jakościowy i pełnowartościowy produkt. Gdy już uporasz się ze wszystkimi podstawowymi problemami, możesz ze spokojem przejść do bardziej złożonych metod testowania, jednak na sam początek smoke testing zupełnie Ci wystarczy. 

Wielu deweloperów, którzy zaniedbali smoke testing, spotkało się z ogromnymi problemami na dalszych etapach procesu projektowego. Defekty, które nie zostały w porę zidentyfikowane i zneutralizowane, mogą generować kolejne bugi i wykrzaczenia w kodzie i tym samym spowolnić pracę Twojego zespołu. Jeśli któraś z podstawowych funkcji Twojego softu nie działa tak jak należy, a Ty tego nie zauważysz, kolejne etapy testowania mogą się okazać prawdziwą mordęgą i ciągłym powracaniem do tych samych problemów. Taka sytuacja niepotrzebnie generuje dodatkowe koszty, czas i nakład pracy.

Oszczędź do 70% czasu pracy testerów oprogramowania

Przykłady smoke testingu 

Ostateczny przebieg smoke testu jest mocno uzależniony od typu oprogramowania, którym się zajmujesz. Jeśli prowadzisz prostą stronę internetową z funkcjami rejestracji i logowania, możesz przeprowadzić smoke test, aby zweryfikować ich poprawne działanie. Rezultat, jakiego będziesz oczekiwał w tym przypadku to nic innego, jak szybkie i bezproblemowe przejście przez proces rejestracji/logowania. Poszczególne etapy takiego testu mogłyby wyglądać w następujący sposób: 

  • Otwórz przeglądarkę
  • Wejdź na swoją stronę 
  • Otwórz panel logowania 
  • Wpisz wymagane dane 
  • Zaloguj się 

Jeśli udało Ci się zalogować bez problemu, możesz być z siebie dumny, właśnie przeprowadziłeś podstawowy smoke test. Możesz rozpisać podobne kroki do niemal każdej bazowej funkcji swojego oprogramowania – korzystania z koszyka w sklepie internetowym czy poprawnego wyświetlania się strony. A najlepsze w tym wszystkim jest to, że takie testy może przeprowadzić każdy, nawet jeśli nie ma zielonego pojęcia o programowaniu – w końcu to co w smoke teście najistotniejsze to doświadczenia przeciętnego użytkownika. 

Podsumowanie

Nie mamy wątpliwości, że rozumiesz już, jak istotny jest smoke testing w procesie projektowania oprogramowania. Mimo, że wymaga naprawdę niewielkich środków to korzyści, których dostarcza mogą okazać się kluczowe dla powodzenia Twojego projektu. Rezygnacja ze smoke testów może odbić Ci się czkawką i wywindować koszty i nakład pracy, potrzebne do ukończenia oprogramowania, a nawet uniemożliwić jego finalizację. Warto ryzykować?

Niezawodne, kompleksowe oprogramowanie, które usprawnia pracę testerów i programistów.

Zamów newsletter