Testy stabilności i wydajności działania

Testy stabilności działania polegają na stopniowym zwiększaniu obciążenia obiektu badań poprzez symulowanie coraz większej liczby użytkowników jednocześnie z niego korzystających. Podczas testów stabilności działania mierzony jest m.in. stosunek liczby poprawnie obsłużonych do liczby zapytań błędnych. Zazwyczaj określany jest także dopuszczalny poziom błędnych odpowiedzi przedmiotu badań. Testy wydajności polegają natomiast na badaniu w jakim czasie obiekt badań odpowiada użytkownikowi na wysyłane zapytania. W przypadku tych testów mierzone są m.in.: średni czas i mediana czasu odpowiedzi na zapytania, odchylenie standardowe oraz czas minimalny i maksymalny.

Warianty testów

Testy stabilności i wydajności działania możemy zrealizować względem dowolnej aplikacji internetowej, usługi sieciowej lub innego systemu Klienta. Badania realizujemy w oparciu o zasadę działania testowanego obiektu odpowiednio dopierając zbiory zapytań i scenariusze/warianty testów. Dzięki zastosowaniu autorskiego rozwiązania programowego możemy zasymulować działanie od jednego do nawet 1000. użytkowników jednocześnie korzystających z systemu. Ponadto możliwe jest m.in. pomierzenie wybranych charakterystyk działania badanej aplikacji/usługi oraz zapisanie (i przygotowanie do dalszej analizy) wszystkich zapytań i odpowiedzi, które były do niej kierowane podczas realizowanych testów.

Zazwyczaj testy stabilności i wydajności działania realizowane są dla kilku poziomów równoległości. Najczęściej przyjmuje się odpowiedni interwał liczby użytkowników, zatem można zrealizować testy dla 1., 100., 200., …, 1000. użytkowników jednocześnie korzystających z badanego rozwiązania. Dla każdego poziomu równoległości wykonuje się testy w oparciu o kilka wariantów działań. Przykładowo dla aplikacji internetowej mogą to być serie różnych czynności wykonywanych przez użytkownika (co odpowiada np. najczęściej wykonywanym operacjom w systemie), np.: uwierzytelnienie, wyświetlenie listy raportów, przefiltrowanie wyników, wybranie raportu do wygenerowania, wygenerowanie go i pobranie w odpowiednim formacie, wylogowanie. Po każdej operacji możliwe jest zasymulowanie przerwy w działaniu o losowej długości, co dodatkowo bardziej odpowiada realnej pracy użytkownika. Każdy wariant działań jest wielokrotnie powtarzany w czasie testów jednego poziomu równoległości odpowiednią liczbę razy (np. 5000 powtórzeń) bądź przez określony czas (np. 12 minut). Zatem finalnie zaplanowane testy stabilności i wydajności działania mogą obejmować przykładowo:

W opisanym przykładowym przypadku system zostanie poddany wzrastającemu obciążeniu przez łączny czas 11 godzin (12 minut * 5 scenariuszy * 11 poziomów). Realizacja tak złożonych testów pozwala uzyskać rzetelne informacje nt. stabilności i wydajności działania obiektu badań.

Raport przedstawiający wyniki badań

Raport z testów stabilności i wydajności działania wybranego rozwiązania programowego może mieć różną złożoność. W ramach prac możemy przygotować proste podsumowanie przedstawiające w jaki sposób wraz ze wzrostem obciążenia zmieniała się stabilność i ogólna wydajność działania badanego systemu. Taki raport możemy rozszerzyć o szczegółowe charakterystyki czasów obsługi zapytań oraz liczby błędnie obsłużonych. Możliwe jest także przygotowanie szczegółowego raportu, w którym wykazane zostaną m.in. wszystkie błędnie obsłużone zapytania wraz z informacjami o zwróconych błędach. Na podstawie tak przygotowanego opracowania nasz Klient może m.in.:

Referencje