Testy wydajnościowe

Z Wikipedii, wolnej encyklopedii

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:

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]

  1. 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.
  2. 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.
  3. Testy wytrzymałościowe (ang. Endurance testing) - mają na celu upewnienie się, że oprogramowanie może wytrzymać oczekiwane obciążenie przez długi czas.
  4. Testowanie w piku (ang. Spike testing) - testuje reakcję oprogramowania na nagłe duże skoki obciążenia generowane przez użytkowników.
  5. 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.
  6. 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]

  1. Testowanie wydajności. Teoria [online], testerzy.pl [dostęp 2021-04-20] (pol.).
  2. 10 najlepszych narzędzi do testów wydajności [online], testerzy.pl [dostęp 2021-04-20] (pol.).
  3. [1] Performance Testing Guru99.com