Co to jest test namaczania? Definicja, znaczenie, przykłady

Testowanie namaczania

Testowanie namaczania to rodzaj testów niefunkcjonalnych, które służą do pomiaru wydajności aplikacji pod ogromnym obciążeniem przez dłuższy okres czasu. Celem testów Soak jest upewnienie się, czy aplikacja wytrzymuje duże natężenie użytkowania oraz sprawdzenie, co stanie się poza oczekiwaniami projektowymi.

Poniższy obraz przedstawia cykl testowy pokazujący, na jakim etapie znajduje się test namaczania (Rodzaj testu wydajności) jest wykonywana w aplikacji.

Testowanie namaczania

W tego typu testach zasadniczo monitorowane jest wykorzystanie pamięci przez aplikację w systemie. Testuje się na poziomie systemu, aby sprawdzić, czy system wytrzyma bardzo duże natężenie użytkowania i zobaczyć, co stanie się poza jego oczekiwaniami projektowymi.

Dlaczego warto testować namoczenie?

System może zachowywać się normalnie, gdy jest używany przez 2 godziny, ale gdy ten sam system jest używany nieprzerwanie przez 10 godzin lub dłużej, może ulec awarii lub zachowywać się nienormalnie/losowo/może ulec awarii. Aby przewidzieć taką awarię, przeprowadza się testowanie zanurzeniowe.

Kiedy wykonać test namaczania?

Testy zanurzeniowe należy przeprowadzać w następujących scenariuszach: –

  1. Zanim build zostanie wdrożony u klienta, tj. przed wydaniem jakiejkolwiek aplikacji na określonej platformie, musi przejść pomyślnie serię testów obciążeniowych przy wysokim lub równoważnym poziomie ruchu. Następnie przeprowadza się badanie nasiąkania. Pomaga nam określić, jak uruchomić dowolną konkretną aplikację przez dłuższy czas. Jeśli w okresie, np. w trybie Soak, zostaną wykryte problemy takie jak wycieki/uszkodzenia pamięci, należy to natychmiast zgłosić.
  2. Najlepszy czas na testowanie namaczania to weekendy, ponieważ aplikacja musi działać tak długo, jak przez dzień lub noc. Zależy to całkowicie od ograniczeń sytuacji testowej. Testy namaczania są jednym z najważniejszych wymogów zgodności, których każda firma musi bardzo rygorystycznie przestrzegać.

Strategia testowania namaczania

Testowanie długotrwałej sesji to strategia polegająca na tym, że system jest obciążony przez dłuższy czas.

Prostym przykładem jest sytuacja, gdy użytkownik pozostaje zalogowany do systemu przez wiele godzin, wykonując szereg transakcji biznesowych. W ten sposób powstaje wiele danych. Może wystąpić duże obciążenie na serwerze systemu/bazy danych, co może skutkować zatrzymaniem/awarią systemu/serwera bazy danych.

W ramach testu namaczania przy długiej sesji, czynności wielodniowe (powiedzmy 30 dni) są wykonywane w ograniczonych ramach czasowych (powiedzmy 2 dni). Liczba transakcji w tym ograniczonym przedziale czasowym powinna odpowiadać lub przewyższać liczbę transakcji obejmujących wiele dni. Należy skupić się na liczbie przetworzonych transakcji. Najważniejszą częścią testu namaczania jest sprawdzenie dostępnej pamięci w procesorze i ilości pamięci, która będzie używana. Musimy zarejestrować użycie pamięci na początku i na końcu testu namaczania. W razie potrzeby należy uwzględnić wykorzystanie pamięci przez obiekty takie jak Java Maszyny wirtualne są również ważne i należy je monitorować.

Poniżej znajduje się kilka dodatkowych kontroli, które musi wykonać każdy użytkownik/tester przed rozpoczęciem testowania zanurzenia:

a) Monitoruj zużycie zasobów bazy danych.

b) Monitoruj zużycie zasobów serwera (bez wykorzystania procesora).

c) Test namaczania powinien być uruchamiany przy realistycznej współbieżności użytkowników.

Charakterystyka badania nasiąkania

Standardowa metoda testowania zanurzeniowego powinna mieć następujące cechy: –

  • Czas trwania większości testów namaczania jest często określany na podstawie dostępnego czasu.
  • Każda aplikacja musi działać bez przerwy, jeśli wymaga dłuższego czasu.
  • Powinien obejmować wszystkie scenariusze uzgodnione przez zainteresowane strony.
  • Przeważnie każdy system ma regularne okno konserwacji, a czas pomiędzy takimi oknami jest kluczowym czynnikiem przy określaniu zakresu testu namaczania.

PRZYKŁADY testów nasiąkania

  • W przypadku domeny bankowej, gdzie jest duża ilość danych od sprzedawców, tester będzie obciążał system nieprzerwanie od 70 do 150 godzin, aby sprawdzić, jak aplikacja zachowuje się w tym okresie ładowania.
  • Załóżmy, że jest 33,000 60 logowań, które muszą zostać przepuszczone przez system, co stanowi siedem i pół dnia aktywności. W tym przypadku 70-6 godzin Soak Test można rozpocząć w piątek wieczorem około godziny XNUMX:XNUMX, a zakończyć go można Monday rano o 6 rano. Tylko dzięki takiemu testowi możliwe będzie zaobserwowanie jakiegokolwiek pogorszenia wydajności w kontrolowanych warunkach.
  • W przypadku gier wideo, Aplikacje mobilne aplikacje itp. wymagają pozostawienia gry lub aplikacji w stanie uruchomionym na dłuższy czas, w różnych trybach działania - takich jak bezczynność, wstrzymanie na ekranie tytułowym itd., aby sprawdzić, czy aplikacja jest w stanie obsłużyć oczekiwane ciągłe obciążenie.

Typowe problemy obserwowane podczas testów namaczania

  1. Alokacja pamięci (wycieki pamięci, które ostatecznie skutkują kryzysem pamięci lub błędami zaokrąglania, które ujawniają się dopiero z czasem).
  2. Wykorzystanie zasobów bazy danych (niepowodzenie zamknięcia kursorów bazy danych w pewnych warunkach, co ostatecznie doprowadziłoby do zatrzymania całego systemu).
  3. Może to również prowadzić do pogorszenia wydajności, tj. do zapewnienia, że ​​czas reakcji po długim okresie ciągłej aktywności będzie tak dobry, jak na początku testu.
  4. Niezamknięcie połączeń między warstwami systemu wielowarstwowego w pewnych okolicznościach może spowodować zablokowanie niektórych lub wszystkich modułów systemu.
  5. Stopniowa degradacja czasu odpowiedzi niektórych funkcji, gdy wewnętrzne struktury danych stają się mniej wydajne podczas długiego testu.

Podsumowanie

  • In Inżynieria oprogramowaniaTestowanie nasiąkania ma na celu określenie, czy testowana aplikacja może wytrzymać ciągłe obciążenie.
  • Jest to rodzaj testu wydajności.
  • Pomaga systemowi określić, czy wytrzyma bardzo duże natężenie użytkowania
  • W tego typu testach zasadniczo monitorowane jest wykorzystanie pamięci przez aplikację w systemie
  • Kontrole, które musi wykonać każdy użytkownik/tester przed rozpoczęciem testowania zanurzenia, obejmują
  • Monitoruj zużycie zasobów bazy danych.
  • Monitoruj zużycie zasobów serwera (bez wykorzystania procesora).
  • Test namaczania powinien działać przy realistycznej współbieżności użytkowników.