Co to jest testowanie szczytowe w testowaniu oprogramowania? Ucz się na przykładzie

Co to jest testowanie szczytowe?

Testowanie Spike'a to rodzaj testowania oprogramowania, podczas którego testowana jest aplikacja przy ekstremalnych przyrostach i spadkach obciążenia ruchem. Głównym celem testowania skoków jest ocena zachowania aplikacji przy nagłym wzroście lub spadku obciążenia użytkownika i określenie czasu odzyskiwania po gwałtownym wzroście obciążenia użytkownika.

Testy szczytowe przeprowadza się w celu oszacowania słabych punktów aplikacji.

Testowanie Spike'a
Testowanie Spike'a

Cel testów Spike

Celem testów Spike'a jest sprawdzenie, jak system reaguje na nieoczekiwany wzrost i spadek obciążenia użytkownika. W inżynierii oprogramowania testy Spike pomagają określić, czy wydajność systemu ulegnie pogorszeniu w przypadku nagłego dużego obciążenia.

Kolejnym celem testów Spike jest określenie czasu regeneracji. Pomiędzy dwoma kolejnymi skokami obciążenia użytkownika system potrzebuje trochę czasu na ustabilizowanie się. Czas regeneracji powinien być jak najkrótszy.

Jak przeprowadzić test Spike

Oto proste kroki, jak przeprowadzić test Spike:

Krok 1) Określ nośność

Określ maksymalną obciążalność użytkownika aplikacji.

Krok 2) Przygotuj środowisko testowe

Przygotuj środowisko testowe i skonfiguruj je tak, aby rejestrowało parametry wydajnościowe.

Krok 3) Zdefiniuj oczekiwane obciążenie

Zastosuj oczekiwane maksymalne obciążenie aplikacji za pomocą pliku Narzędzie do testowania wydajności swojego wyboru.

Krok 4) Zwiększ obciążenie

Szybko zwiększaj obciążenie systemu na określony czas.

Krok 5) Ustaw obciążenie z powrotem na normalne

Stopniowo zmniejszaj obciążenie do pierwotnego poziomu.

Krok 6) Przeanalizuj wyniki

Analizuj wykresy wydajności i wskaźniki, takie jak awarie, czas potrzebny, wirtualni użytkownicy itp.

Przykłady scenariuszy testowania skoków

  • Kiedy sklep eCommerce wprowadza specjalne oferty ze świetnymi rabatami, np. w Czarny Piątek.
  • Gdy aplikacja internetowa transmituje na żywo ulubiony program telewizyjny.
  • Kiedy na stronie z ofertami dziennymi trwa wyprzedaż błyskawiczna.
  • Kiedy określona treść witryny staje się wirusowa w Internecie.
  • Nowy system zostaje wypuszczony do produkcji i wielu użytkowników chce uzyskać do niego dostęp.
  • Awaria zasilania może spowodować, że wszyscy użytkownicy utracą dostęp do systemu. Po rozwiązaniu problemu awarii wszyscy użytkownicy logują się ponownie do systemu jednocześnie.

Scenariusze odzyskiwania przy obciążeniach szczytowych

Trzy główne scenariusze odzyskiwania, które można skonfigurować w celu ochrony przed Spikesami, to:

  1. Korzystaj z platform chmurowych, takich jak AWS, Azure dynamicznie zwiększać pojemność serwera wraz z obciążeniem użytkowników
  2. Nie zezwalaj na dostęp do aplikacji niektórym użytkownikom, aby system nie był narażony na duże obciążenie. Zapobiega to przedostawaniu się do systemu osób przekraczających maksymalne zaprojektowane obciążenie. Chroni w ten sposób system przed zagrożeniem nadmiernym obciążeniem.
  3. Administrator witryny pozwala użytkownikom dołączyć do systemu. Jednak z ostrzeżeniem, że mogą spotkać się z powolną reakcją z powodu dużego obciążenia. Może to mieć niekorzystny wpływ na wydajność systemu. Użytkownik będzie jednak mógł pracować z systemem.

Zalety i wady testów Spike

Poniżej znajdują się zalety i wady testów Spike:

Zalety Niedogodności
Wydajność oprogramowania należy utrzymywać za wszelką cenę. Jednak w przypadku ekstremalnego wzrostu obciążenia dowolnego systemu ryzyko wystąpienia problemów jest duże. Spike Testing pomaga przetestować taki scenariusz. Jedyną wadą testów Spike jest to, że jest to kosztowny proces testowania. Należało zatem stworzyć specjalne warunki testowe. Jednak w dłuższym okresie z pewnością da to dodatni zwrot z inwestycji.
W standardowej metodzie testowania można nie uwzględnić scenariuszy od złego do najgorszego. Jednak ignorowanie ich nie oznacza, że ​​nigdy nie wystąpią. Dlatego każde oprogramowanie powinno być przygotowane na takie możliwości. Jednym z takich najgorszych scenariuszy jest obciążenie, które można ocenić i zminimalizować za pomocą testów impulsowych.  

Narzędzia do testowania skoków

1) JMeter

Apache JMeter to narzędzie do testowania skoków Java typu open source. Został specjalnie zaprojektowany do ładowania zachowań testów funkcjonalnych i pomiaru wydajności. Tego narzędzia do testowania wydajności można używać do analizowania i pomiaru wydajności aplikacji internetowych lub różnych usług. Obecnie jest szeroko stosowany do testu funkcjonalnego, testu serwera bazy danych.

2) LoadRunner

LoadRunner to narzędzie do testowania obciążenia Windows i Linux, który umożliwia testowanie skoków aplikacji internetowych i innych. Pomaga określić wydajność i wynik aplikacji nawet przy dużym obciążeniu.

Podsumowanie

  • Testowanie oprogramowania to rodzaj testowania oprogramowania, podczas którego testowana jest aplikacja przy ekstremalnych przyrostach i spadkach obciążenia ruchem.
  • Właściwym podejściem do testowania skoków jest nieoczekiwane zwiększenie liczby użytkowników, a następnie natychmiastowe zmniejszenie obciążenia.
  • Nieoczekiwany ładunek jest głównym atrybutem transakcji.
  • Przykładami rzeczywistych scenariuszy testowania Spike są: sytuacja, w której sklep eCommerce wprowadza specjalne oferty ze świetnymi rabatami, np. w Czarny Piątek. Alternatywnie, gdy aplikacja internetowa transmituje na żywo ulubiony program telewizyjny.
  • JMeter jest jednym z takich przydatnych narzędzi do testowania impulsów.