Czym jest test obciążeniowy?
sobes.tech AI
Odpowiedź od AI
Testy obciążeniowe oceniają zachowanie systemu przy oczekiwanym (szczytowym lub średnim) obciążeniu, podczas gdy testy stresowe przekraczają te limity, aby znaleźć punkt awarii systemu.
Celem testów stresowych jest często wykrycie wąskich gardeł, awarii, nieprawidłowego obsługi wyjątków i problemów ze skalowalnością systemu.
Testy stresowe to rodzaj testów niefunkcjonalnych, które mają na celu określenie odporności oprogramowania na ekstremalne obciążenia i zidentyfikowanie punktu awarii systemu.
Cele testów stresowych:
- Określenie wydajności systemu w warunkach szczytowych.
- Wykrycie wycieków pamięci.
- Wykrycie blokad i zakleszczeń w aplikacjach wielowątkowych.
- Sprawdzenie poprawności obsługi błędów przy awariach zasobów (pamięć, dysk, sieć).
- Ocena zachowania systemu po przywróceniu po awarii.
Przykłady scenariuszy testów stresowych:
- Nagły i wielokrotny wzrost liczby użytkowników.
- Przetwarzanie dużej ilości danych w krótkim czasie.
- Testowanie stresowe poszczególnych komponentów lub transakcji.
- Testowanie stresowe z ograniczonymi zasobami.
Metryki monitorowane podczas testów stresowych:
- Czas reakcji.
- Przepustowość.
- Liczba błędów.
- Wykorzystanie zasobów (CPU, RAM, I/O dysku, I/O sieci).
Narzędzia do testów stresowych:
- Apache JMeter
- Gatling
- LoadRunner
- k6
Różnica od testów obciążeniowych: Testy obciążeniowe oceniają zachowanie systemu przy oczekiwanym (szczytowym lub średnim) obciążeniu, podczas gdy testy stresowe przekraczają te limity, aby znaleźć punkt awarii.
Wynikiem testów stresowych jest często identyfikacja wąskich gardeł, awarii, nieprawidłowego obsługi wyjątków i problemów ze skalowalnością systemu.