Testowanie zasobożerności

Testowanie zasobożerności
Zużycie zasobów (ang. resource utilization) jest jedną z charakterystyk jakości oprogramowania powiązanych z wydajnością. Zbyt często ignorowana, a jednocześnie bardzo ważna dla jego szybkiego działania.

Zapewne zauważyliście, że czasami nowe wersje programów działają wolniej na komputerze o większej mocy obliczeniowej, niż jego starsze odpowiedniki na sprzęcie mniej wydajnym, oferując jednocześnie porównywalne możliwości. Tendencja do tworzenia takich programów pojawiła się na skutek lawinowego wzrostu liczby i jakości komputerów osobistych pod koniec XX wieku. Związany był z tym spadek kosztów sprzętu i wzrost kosztów pracy programistów. Nagle okazało się, że programiści nie muszą tak bardzo dbać o każdy kilobajt pamięci i myśleć o ciągłej optymalizacji zasobów. Zaczęły więc powstawać programy, które konsumują znacznie więcej zasobów, niż jest to konieczne, a dodatkowo przez defekty w niekontrolowany sposób zajmują pamięć i jej nie zwalniają (tzw. wycieki pamięci).

Do obowiązków testera należy więc sprawdzanie, czy testowane oprogramowanie używa tyle zasobów, ile rzeczywiście potrzebuje. Przydają się tutaj monitory dostępne w systemach operacyjnych. 
 
Monitor zasobów w Windows:

testowanie-zasobozernosci-1.jpg

Wykorzystanie dysku w Windowsie:

testowanie-zasobozernosci-2.jpg

Wykorzystanie procesora w Windowsie:

testowanie-zasobozernosci-3.jpg

Dwie podstawowe techniki to albo analiza dynamiczna, albo obserwacja zużycia zasobów przy wykonywaniu operacji, które mogą być obciążające dla zasobów sprzętowych, jak np. generowanie raportów, importy danych, obróbka dużych plików graficznych. 

Testowanie zużycia zasobów mierzy następujące aspekty systemu (lub oprogramowania) w określonych warunkach operacyjnych: 

  • wykorzystanie procesora, zwykle jako procent dostępnego czasu procesora, 
  • wykorzystanie pamięci, zwykle jako procent dostępnej pamięci, 
  • wykorzystanie urządzeń wejścia/wyjścia, zwykle jako procent dostępnego czasu pracy urządzeń wejścia/wyjścia, 
  • wykorzystanie pasma, zwykle jako procent dostępnej szerokości pasma.

Typem aplikacji zasobożernej jest bloatware (ang. software bloat). Jest to negatywne określenie oprogramowania charakteryzującego się nadmierną zasobożernością w stosunku do swoich możliwości. Bloatware jest też określeniem na każde oprogramowanie preinstalowane na nowych komputerach przez sprzedawców, którego użytkownik komputera nie potrzebuje - oprogramowanie takie jedynie zużywa zasoby komputera, nie wnosząc żadnej szczególnej wartości dla użytkownika końcowego.
 

Źródła:
https://pl.wikipedia.org/wiki/Bloatware
http://edu.ittraining.pl/material/Sylabus-ISTQB-Poziomu-Zaawansowanego-Techniczny-Analityk-Testow-2021-v40-EN

To powinno Cię zainteresować