Smoke testing i sanity testing to nie to samo

Smoke testing i sanity testing to nie to samo
Czy testy smoke i sanity to naprawdę to samo, czyli test dymny?

Słownik ISTQB® definiuje smoke test jako "zestaw testów obejmujący główną funkcjonalność modułu lub systemu sprawdzający, czy działa ona poprawnie przed rozpoczęciem planowanych testów". Ten sam słownik podaje definicję sanity test jako synonim testów dymnych, jednak w praktyce te dwa rodzaje testowania różnią się od siebie. Na czym polegają, czego dotyczą i gdzie leży różnica?

Smoke test – testy dymne

Test dymny wykonywany jest w wstępnych etapach testowania, na początkowych, nie do końca stabilnych wersjach oprogramowania. Jego nazwa nawiązuje do pierwszych testów sprzętów elektrycznych, które polegały na podłączeniu urządzenia do prądu, włączenia go i obserwowania, czy nie wydobywa się z niego dym. Głównym celem jest zweryfikowanie poprawności działania wszystkich podstawowych funkcji oprogramowania i to właśnie dzięki niemu jesteśmy w stanie w ogóle przejść do dalszego realizowania projektu. Wyniki smoke testingu pozwolą zorientować się, co w testowanym produkcie działa, a co nie, a przez to możliwe będzie ewentualne odrzucenie aplikacji z defektami, by nie tracić czasu na testowanie uszkodzonego oprogramowania.

Proces smoke testingu nie musi być bardzo rozbudowany i dokładny. Chodzi w nim o to, aby sprawdzić tylko czy krytyczne funkcjonalności systemu działają prawidłowo; szczegółami zajmą się testy na późniejszych etapach.

Sanity test – testy kondycji

Test kondycji wykonywany jest po wprowadzeniu poprawek i aktualizacji oprogramowania. Dzięki nim możliwe jest upewnienie się, że wcześniejsze błędy zostały naprawione i nie pojawiają się żadne dalsze problemy spowodowane wprowadzonymi zmianami. Celem sanity testing nie jest weryfikacja nowej funkcjonalności, a tylko ustalenie, czy działa ona zgodnie z założeniami; jeśli tak nie jest, poprawki zostają odrzucone, co pozwala zaoszczędzić czas i koszty, które zostałyby przeznaczone na dalsze testy.  

Różnice

Chociaż te dwa typy testów są ze sobą związane i utożsamiane, dzieli je kilka istotnych różnic. Testy dymne mają głównie za zadanie odpowiedzieć na pytanie "Czy aplikację da się w ogóle uruchomić?", z kolei testy kondycji sprawdzają "Czy nowa funkcja działa poprawnie?". 

smoke-testin-i-sanity-testing-to-nie-to-samo-1.jpg

Pozostałe różnice można opisać w następujący sposób:

Smoke test Sanity test
  • Przeprowadzany, by upewnić się, że najważniejsze funkcje programu działają poprawnie
  • Przeprowadzany, by sprawdzić, czy nowa funkcjonalność działa lub czy błędy zostały naprawione
  • Sprawdza przekrojowo oprogramowanie od początku, do końca
  • Sprawdza tylko konkretny element oprogramowania
  • Weryfikuje stabilność systemu przed przeprowadzeniem zaawansowanych testów
  • Weryfikuje gotowość systemu w celu przeprowadzenia zaawansowanych testów
  • Wykonywany przez programistów i testerów
  • Wykonywany przez testerów
  • Dokumentowany lub opisywany w formie testu
  • Nie jest dokumentowany i nie posiada scenariusza
  • Można zaliczyć go jako podzbiór testów akceptacyjnych
  • Zalicza się go jako podzbiór testów regresji
  • Można porównać go do ogólnej kontroli stanu zdrowia
  • Można porównać go do specjalistycznej kontroli stanu zdrowia

Podsumowanie

Smoke testy to testy proste, wykonywane w początkowej fazie tworzenia oprogramowania, mające na celu znalezienie krytycznych dla jego działania błędów. Potwierdzają one, że aplikacja działa. Sanity testy to testy już bardziej zaawansowane, wykonywane po wprowadzeniu aktualizacji i poprawek, dzięki którym wiemy, że aplikacja działa w poprawnie i w sposób zgodny ze wcześniejszymi założeniami.

Obydwa typy testów są sposobem na uniknięcie marnowania czasu i wysiłku poprzez szybkie określenie, czy aplikacja nie jest zbyt wadliwa, aby zasługiwać na dalsze zaawansowane, rygorystyczne testy.

4396
Źródła:
http://edu.ittraining.pl/material/slownik-sylabus-istqb-poziom-podstawowy
https://bugbug.io/pl/blog/testy-end-to-end/czym-jest-testowanie-funkcjonalne-rodzaje-i-przyklady/
https://www.guru99.com/smoke-sanity-testing.html

To powinno Cię zainteresować