Testy wydajnościowe
Testy wydajnościowe są przeprowadzane w celu oceny stopnia spełnienia wymagań wydajnościowych przez system lub moduł.[1]
Istnieje kilka rodzajów wymagań wydajnościowych:
- wymagania na szybkość przetwarzania,
- wymagania na równoległość przetwarzania,
- wymagania na liczbę obsługiwanych danych.
Testy wydajnościowe przeprowadza się zwykle w dwóch sytuacjach: na granicy wymagania wydajnościowego oraz powyżej wymagania wydajnościowego. W tym drugim przypadku testy są nazywane przeciążeniowymi. Do testów wydajnościowych konieczne jest użycie narzędzi generujących obciążenie i analizujących czasy odpowiedzi. [2]
Czym jest testowanie wydajności?[edytuj | edytuj kod]
Testowanie wydajności definiuje się jako typ testów oprogramowania weryfikujący czy system lub moduł będzie działać poprawnie w ramach zdefiniowanego obciążenia.
Funkcjonalność systemu to nie jedyny aspekt jakości oprogramowania. Ważne są również inne cechy oprogramowania w tym jego wydajność. Składają się na nią m.in. czas reakcji, niezawodność, wykorzystanie zasobów czy skalowalność. Celem testów wydajnościowych jest znalezienie defektów i wyeliminowanie tzw. „wąskich gardeł wydajności”.
Głównym celem testów wydajnościowych jest również sprawdzenie:
- szybkości oprogramowania (ang. performance) - określa, czy aplikacja szybko reaguje na interakcje użytkownika,
- skalowalności (ang. scalability) - określa maksymalne obciążenie użytkownika, jakie może obsłużyć aplikacja,
- stabilność (ang. stability) - określa, czy aplikacja jest stabilna w obliczu różnych obciążeń.
Typy testów wydajnościowych[edytuj | edytuj kod]
- Testowanie obciążenia (ang. Load testing) - sprawdza zdolność aplikacji do działania przy oczekiwanych obciążeniach użytkowników. Celem jest zidentyfikowanie „wąskich gardeł wydajności” przed uruchomieniem aplikacji.
- Testowanie przeciążające (ang. Stress testing) - polega na testowaniu aplikacji przy ekstremalnych obciążeniach, aby zobaczyć, jak radzi sobie z dużym ruchem użytkowników lub przetwarzaniem danych. Celem jest określenie punktu krytycznego aplikacji.
- Testy wytrzymałościowe (ang. Endurance testing) - mają na celu upewnienie się, że oprogramowanie może wytrzymać oczekiwane obciążenie przez długi czas.
- Testowanie w piku (ang. Spike testing) - testuje reakcję oprogramowania na nagłe duże skoki obciążenia generowane przez użytkowników.
- Testowanie wolumenu (ang. Volume testing) - podczas testowania wolumenu dane są uzupełniane w bazie danych, a monitorowane jest ogólne zachowanie oprogramowania systemu. Celem jest sprawdzenie wydajności aplikacji pod kątem wolumenów w bazie danych.
- Testowanie skalowalności (ang. Scalability testing) - celem testowania skalowalności jest określenie skuteczności aplikacji w „zwiększaniu skali”, aby zwiększyć obciążenia użytkowników. Testowanie pomaga również zaplanować dodawanie pojemności do systemu oprogramowania.[3]
Zobacz też[edytuj | edytuj kod]
Przypisy[edytuj | edytuj kod]
- ↑ Testowanie wydajności. Teoria [online], testerzy.pl [dostęp 2021-04-20] (pol.).
- ↑ 10 najlepszych narzędzi do testów wydajności [online], testerzy.pl [dostęp 2021-04-20] (pol.).
- ↑ [1] Performance Testing Guru99.com