Testowanie na zimno i testowanie na gorąco

Testowanie na zimno i testowanie na gorąco
Choć temperatura na zewnątrz raczej niska i marzą nam się cieplejsze dni, to dzisiaj nie o tym. Przedstawiamy koncept testowania oprogramowania na gorąco i na zimno.

Koncepcja prowadzenia testów w różnych temperaturach nie jest nowa, ale nie jest powszechnie stosowana w produkcji oprogramowania. Spotykamy ją raczej w mechanice czy pneumatyce. Pomysł prowadzenia takich testów na oprogramowaniu jest autorską koncepcją testerzy.pl. Z tego, co nam wiadomo, nikt inny tak nie testuje funkcji oprogramowania. Zakładamy, że obszary „zimne” w oprogramowaniu to te najczęściej używane przez użytkowników, a te najbardziej gorące to te, w których mamy większe szanse na znalezienie defektów. Jak to działa?

Testowanie na zimno jest to prowadzenie funkcjonalnych testów oprogramowania w taki sposób, aby utrzymywać niską temperaturę procesora sprzętu, na jakim uruchomione jest oprogramowanie. Innymi słowy, by nie przymuszać procesora do zbyt intensywnej pracy i nie wymuszać dużych obciążeń. Testowanie na zimno jest to często testowanie prostych operacji, które do swojego działania nie potrzebują zbyt wiele. Nie należy go mylić z testowaniem wydajnościowym, które patrzy na poszczególne procesy pod kątem zasobożerności, chociaż pewne problemy niefunkcjonalne mogą być wykrywane w czasie trwania tego typu testów. Celem testowania na zimno jest testowanie prostych i podstawowych funkcji oprogramowania, a w przypadku wejścia w nadmierne obciążenia procesora szukanie innych (prostszych dla software’u) dróg wykonania tego samego. 

Indykator temperatury pozwala Ci potwierdzić, że jesteś w obszarze bazowych funkcji takich jak np. nawigowanie, przeglądanie zawartości oprogramowania, proste wyszukiwanie itp. 

Przeciwieństwem testowania na zimno jest testowanie na gorąco. 

Testowanie na gorąco jest to prowadzenie testów funkcjonalnych oprogramowania w taki sposób, aby wymuszać testerskimi działaniami wysoką temperaturę procesora sprzętu, na jakim uruchomione jest oprogramowanie. Nasze działania mają być skierowane na wymuszanie intensywnej pracy. Celem testowania na gorąco jest testowanie złożonych i zasobożernych funkcji oprogramowania i szukanie miejsca z najwyższą temperaturą / obciążeniem procesora. Poruszamy się wśród funkcji np. przetwarzania dużych ilości danych, zapisu i odczytywania dużych plików, skomplikowanych zapytań itp. Z zasady poruszamy się wśród bardziej zaawansowanych funkcji oprogramowania rzadziej stosowanych przez użytkowników.

Zrzut ekranu z trialowej wersji aplikacji AIDA64 do monitorowania zasobów, w tym przypadku temperatury:

AIDA64-1.png

AIDA64-2.pngProblemem w testach na zimno / gorąco jest efekt próbnika. Jeśli na tej samej maszynie uruchomioną mamy aplikację testowaną, jak i narzędzie wspomagające testowanie jak narzędzia logowania, robienia screenów itp., to obserwacja temperatury może być zaburzona. W przygotowaniu do naszych testów musimy więc sprawdzić jakie poziomy osiąga środowisko prowadzenia testów bez uruchomienia testowanej aplikacji i zaobserwować jak zmienia się po jej uruchomieniu.

Testowanie na zimno i na ciepło nie jest unikalną techniką czy też podejściem do testowania. Może to być np. wsparcie do testów eksploracyjnych. Z zasady proste i tzw. popularne ścieżki w oprogramowaniu są przez twórców optymalizowane pod kątem wydajności, więc testowanie na zimno pozwala nam te kluczowe obszary wytestować. Z drugiej strony obszary nieoptymalizowane, czyli w domyśle rzadziej stosowane mogą być miejscem, gdzie oprogramowanie będzie miejscem z dużą liczbą defektów.

Uruchomienie monitorów zasobów jest metodą stosowaną przez bardziej zaawansowanych testerów, by diagnozować w czasie rzeczywistym problemy z testowanym oprogramowaniem. Temperatura to tylko jeden z parametrów wart obserwowania – do tego dochodzą między innymi – procesory graficzne, wykorzystanie pamięci RAM i ROM, użycie dysków, użycie sieci (dla aplikacji sieciowych).

Zrzut ekranu z windowsowskiego menadżera zadań do monitorowania wydajności:

windows-menedzer-zadan-do-monitorowania-wydajnosci.png
 

To powinno Cię zainteresować