Testowanie namaczania
Soak Testing to rodzaj testowania niefunkcjonalnego, który służy do pomiaru wydajności aplikacji pod dużym obciążeniem przez dłuższy okres czasu. Celem testów Soak jest upewnienie się, czy aplikacja jest użytkowana na dużą skalę i sprawdzenie, co stanie się poza jej oczekiwaniami projektowymi.
Poniższy obraz przedstawia cykl testowania, który pokazuje, na jakim etapie jest przeprowadzany test Soak ( rodzaj testu wydajności ) w aplikacji.
W tego typu testach zasadniczo monitorowane jest wykorzystanie pamięci przez aplikację w systemie. To testowanie na poziomie systemu, aby sprawdzić, czy system wytrzyma bardzo duże natężenie użytkowania i zobaczyć, co stanie się poza jego oczekiwaniami projektowymi.
W tym samouczku nauczysz się:
- Dlaczego zanurzamy testy?
- Kiedy przeprowadzać Soak Testing?
- Soak Testing Strategy
- Charakterystyka testu namaczania
- PRZYKŁADY testu namaczania
- Typowe problemy obserwowane podczas testowania w kąpieli
Dlaczego zanurzamy testy?
System może zachowywać się normalnie, gdy jest używany przez 2 godziny, ale jeśli ten sam system jest używany nieprzerwanie przez 10 godzin lub dłużej, może zawieść lub zachowywać się nieprawidłowo / losowo / może ulec awarii. Aby przewidzieć taką awarię, przeprowadza się test zanurzeniowy.
Kiedy przeprowadzać Soak Testing?
Testy namaczania należy wykonywać w następujących scenariuszach: -
- Zanim build zostanie wdrożony na kliencie, tj. Przed wydaniem jakiejkolwiek aplikacji na konkretną platformę, musi przejść serię udanych testów obciążenia przy wysokim lub równoważnym poziomie ruchu. Następnie przeprowadza się test namaczania . Pomaga nam określić, jak uruchomić daną aplikację przez dłuższy czas. Jeśli problemy takie jak wycieki pamięci / uszkodzenie pamięci zostaną znalezione w okresie, tj. Gdy jest włączony Soak, należy to natychmiast zgłosić.
- Najlepszą porą na przeprowadzenie testów soak są weekendy, ponieważ aplikacja musi być uruchomiona tak długo, jak dzień lub noc. Zależy to całkowicie od ograniczeń sytuacji testowej. Testy zanurzeniowe są jednym z najważniejszych wymagań zgodności, które muszą być bardzo ściśle przestrzegane przez każdą firmę.
Soak Testing Strategy
Long Session Soak Testing to strategia, w której system jest obciążony przez dłuższy czas.
Prostym przykładem jest sytuacja, w której użytkownik pozostaje zalogowany do systemu przez wiele godzin, wykonując szereg transakcji biznesowych. W ten sposób powstaje wiele danych. Może występować duże obciążenie systemu / serwera bazy danych, co może skutkować zablokowaniem / awarią systemu / serwera bazy danych.
W ramach długich sesji testowych, czynności wykonywane przez wiele dni (powiedzmy 30 dni) są wykonywane w ograniczonym przedziale czasowym (powiedzmy 2 dni). Liczba transakcji w tym ograniczonym okresie powinna być taka sama, jak wielodniowa wartość transakcji lub przekraczać tę wartość. Należy skupić się na liczbie przetwarzanych transakcji. Najważniejszą częścią Soak Testing 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 soak. W razie potrzeby ważne jest również wykorzystanie pamięci przez obiekty, takie jak Java Virtual Machines, i należy je monitorować.
Poniżej znajduje się kilka dodatkowych czynności sprawdzających, które każdy użytkownik / tester musi wykonać, zanim zacznie testować:
a) Monitoruj zużycie zasobów bazy danych.
b) Monitoruj zużycie zasobów serwera (bez użycia procesora).
c) Soak test powinien działać z realistyczną współbieżnością użytkowników.
Charakterystyka testu namaczania
Standardowa metoda namaczania powinna mieć następujące cechy: -
- Czas trwania większości testów zanurzeniowych 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 interesariuszy.
- Przeważnie każdy system ma regularne okienko serwisowe, a czas pomiędzy takimi okresami jest kluczowym czynnikiem decydującym o zakresie testu Soak Test.
PRZYKŁADY testu namaczania
- W przypadku domeny bankowej, gdy jest duża ilość danych od handlowców, tester będzie obciążał system nieprzerwanie przez 70 do 150 godzin, aby sprawdzić, jak zachowuje się aplikacja w tym okresie ładowania.
- Załóżmy, że jest 33 000 logowań, które trzeba wprowadzić przez system, co oznacza siedem i pół dnia aktywności. W takim przypadku 60-70 godzinny test zanurzeniowy można rozpocząć do piątku wieczorem około godziny 18:00 i zakończyć do poniedziałku o godzinie 6:00. Tylko przy takim teście będzie można zaobserwować jakikolwiek spadek wydajności w kontrolowanych warunkach.
- W przypadku gier wideo, aplikacji mobilnych itp. Wiąże się to z pozostawieniem gry lub aplikacji w stanie uruchomionym przez dłuższy czas, w różnych trybach pracy - takich jak bezczynność, pauza na ekranie tytułowym itp., Aby dowiedzieć się, czy aplikacja może obsłużyć stale oczekiwane obciążenie.
Typowe problemy obserwowane podczas testowania w kąpieli
- Alokacja pamięci (wycieki pamięci, które ostatecznie skutkowałyby kryzysem pamięci lub zaokrąglaniem błędów, które pojawiają się dopiero z upływem czasu).
- Wykorzystanie zasobów bazy danych (niepowodzenie w zamknięciu kursorów bazy danych w pewnych warunkach, które ostatecznie spowodowałoby zawieszenie całego systemu).
- Może również prowadzić do pogorszenia wydajności, tj. Do zapewnienia, że czas odpowiedzi po długim okresie trwałej aktywności będzie tak dobry, jak na początku testu.
- Brak zamknięcia połączeń między poziomami systemu wielopoziomowego w pewnych okolicznościach może spowodować zablokowanie niektórych lub wszystkich modułów systemu.
- Stopniowe pogarszanie się czasu odpowiedzi niektórych funkcji, ponieważ wewnętrzne struktury danych stają się mniej wydajne podczas długiego testu.
Podsumowanie
- W inżynierii oprogramowania wykonuje się testy typu Soak, aby określić, 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 obciążenie
- W tego typu testach zasadniczo monitorowane jest wykorzystanie pamięci przez aplikację w systemie
- Testy, które musi wykonać każdy użytkownik / tester przed rozpoczęciem testu Soak, obejmują
- Monitoruj zużycie zasobów bazy danych.
- Monitoruj zużycie zasobów serwera (bez użycia procesora).
- Test soak powinien działać z realistyczną współbieżnością użytkowników.
Ten artykuł jest autorstwa Pallavi De