Testy wydajnościowe aplikacji webowych to jedne z rodzajów testów przeprowadzanych w celu zapewnienia wysokiej jakości. Warto wdrożyć je już na etapie produkcji, przed udostępnieniem użytkownikom. Dlaczego? Na co przygotują Cię testy wydajności?
Testy wydajnościowe – na czym polegają?
Na początku warto zwrócić uwagę, na czym polegają testy wydajnościowe (ang. performance testing). Należą one do grupy testów niefunkcjonalnych. Oznacza to, że skupiają się na innych aspektach wdrażanej aplikacji niż funkcje. Nie sprawdzisz dzięki nim działania poszczególnych przycisków, formularzy i podstron, które są istotne z perspektywy użyteczności. Dotyczą jednak równie ważnej kwestii. Testy wydajnościowe mają na celu sprawdzenie zachowania aplikacji w obliczu różnego obciążenia. Po wdrożeniu i rozpoczęciu korzystania z niej przez użytkowników może być za późno, by uniknąć ewentualnych problemów.
Polega na symulacji ruchu użytkowników. W zależności od tego, jaki ruch zostanie sprowadzony na aplikację, testy wydajności dzieli się na różne podrodzaje. Spójrz, jakie przypadki możesz zweryfikować.
Testy wydajnościowe aplikacji webowych – rodzaje
Testy wydajnościowe dzielą się na trzy rodzaje ze względu na wielkość obciążenia. Przed rozpoczęciem prac należy zdefiniować planowany ruch w aplikacji, serwisie lub innym produkcie. Dzięki tej informacji możesz przeprowadzić:
- Testy wydajnościowe aplikacji, które dotyczą przypadków, kiedy ruch jest wysoki lub niski. Jednocześnie nie wprowadza się obciążenia maksymalnego.
- Testy obciążeniowe, które polegają na symulacji obciążenia zbliżonego do maksymalnego.
- Testy przeciążeniowe, które są prawdziwym egzaminem wytrzymałości dla aplikacji lub innego programu. W tym przypadku obciążenie jest wyższe niż maksymalne. Dlatego też testy przeciążeniowe nazywa się często stres testami.
Kompleksowe testy wydajności zakładają uwzględnienie wszystkich powyższych przypadków i zweryfikowanie zachowania aplikacji podczas różnego obciążenia. Dzięki temu można uniknąć sytuacji, w której program przestaje działać przy natężonym ruchu użytkowników.
Test wydajności oprogramowania to jedna z usług, którą oferuje Testspring. Najważniejsze informacje na temat tej oferty można znaleźć po przejściu na podstronę Testowanie oprogramowania.
Kiedy warto wprowadzić testy obciążeniowe, wydajnościowe i przeciążeniowe?
Kompleksowe testy wydajnościowe mają na celu sprawdzenie zachowania strony w trzech różnych przypadkach obciążenia. Zdarza się jednak, że osoba prowadząca projekt zdecyduje się tylko na jeden z nich. Dlatego też efekty wdrożenia testów wydajnościowych oraz sytuacje, kiedy warto z nich skorzystać, podzielimy na trzy przypadki. Zakładamy, że testowanym produktem jest sklep internetowy z ubraniami.
- Testy wydajnościowe: Klient planuje wdrożenie nowej aplikacji webowej i chce sprawdzić, czy wszystkie elementy programu są tak samo sprawne oraz nie niosą ze sobą żadnego zagrożenia. W tym przypadku stosuje się test wydajności, który umożliwi Ci zdefiniowanie wąskich gardeł. Dzięki temu dowiesz się, co należy poprawić przed wdrożeniem programu.
- Testy obciążeniowe: Nadchodzi wyprzedaż sezonowa lub Black Friday. Wiąże się to z maksymalnym obciążeniem sklepu internetowego z ubraniami. Może się zdarzyć, że wielu użytkowników w jednym momencie będzie znajdowało się w danej lokalizacji i wysyłało określoną komendę – korzystało z określonej funkcji. Testy obciążeniowe pomogą Ci sprawdzić, czy sklep będzie działał prawidłowo w przypadku osiągnięcia ruchu bliskiego maksymalnemu obciążeniu.
- Testy przeciążeniowe: Sklep wysłał do klientów wadliwą partię produktów. Efektem jest większe obciążenie formularza kontaktowego niż zaplanowane maksymalne. Symulacja takiego ruchu użytkowników umożliwi sprawdzenie, jak program zachowa się w przypadku obciążenia większego niż maksymalne, czy będzie działał prawidłowo.
Jak przebiega test wydajności?
Jak przebiega taki test wydajności wykonywany przez naszych specjalistów. Oto kroki, jakie podejmujemy, aby przetestować produkt:
1. Na początku określamy zakres testów. Definiujemy, co znajduje się w zakresie i poza nim. Dzięki temu możemy zmniejszyć ryzyko fałszywie negatywnych przypadków oraz zoptymalizować koszty testów wydajnościowych.
2. Analizujemy ryzyko.. Definiujemy, co stanowi zagrożenie dla oprogramowania i wyznaczamy priorytety.
3. Planujemy testy wydajnościowe. Korzystamy w tym celu ze specjalnej karty testu, która może być jednocześnie raportem z testów.
Więcej informacji na temat tego dokumentu znajdziesz w artykule: Testowanie bez dokumentacji wymagań.
4. Testowanie. Przechodzimy do działań, które pozwolą zdefiniować napotkane błędy, problemy.
5. Decydujemy o zakończeniu testowania. W tym momencie zbieramy najważniejsze dane pozyskane podczas wykonywanych testów wydajności.
6. Analizujemy wyniki. Weryfikujemy, czy cele testu wydajności zostały osiągnięte.
7. Zbieramy wszystkie dane i generujemy raport. Zaznaczamy w nim efekty działań. Przedstawiamy zalecenia.
8. Wracamy do danych testowych, by przeanalizować wszystko jeszcze raz i znaleźć wszystkie problemy.
9. Planujemy ulepszenia i proponujemy zmiany klientowi.