Testy wydajnościowe

Testy wydajnościowe to szczególny rodzaj testów aplikacji. Polegają one na badaniu wpływu zwiększonego obciążenia na zachowanie się aplikacji. W uproszczeniu testowanie wydajnościowe ma na celu:

  • oznaczenie maksymalnej liczby jednoczesnych użytkowników w trybie normalnej pracy systemu (load testing),
  • wykrycie "wąskich gardeł" aplikacji, czyli warstwy lub konkretnego fragmentu aplikacji, który posiada istotnie mniejszą wydajność, niż pozostałe jej fragmenty (performance testing),
  • sprawdzenie jak aplikacja reaguje przy obciążeniu tak wysokim, iż nie jest w stanie pracować normalnie (stress testing),
  • niekiedy, przy okazji testów na wydajność, ukazują się błędy, które nie mając bezpośredniego związku z wydajnością, wychodzą dopiero przy zwiększonym obciążeniu (np. związane z zagadnieniami współbieżności).

Standardowo usługa składa się z dwóch testów:

  • test pierwszy ma na celu wychwycenie wąskich gardeł lub innych niepożądanych zachowań aplikacji;
  • test drugi weryfikuje usunięcie problemów. Po jego zakończeniu istnieje możliwość wystawienia certyfikatu potwierdzającego liczbę równoległych użytkowników, jaką aplikacja jest w stanie obsłużyć, oraz że aplikacja nie powoduje żadnych niepożądanych skutków (jak utrata danych) przy bardzo dużym obciążeniu;
  • w przypadku, gdy drugi test wykaże, że nie wszystkie problemy zostały usunięte, możemy zaplanować kolejny test.