KWALIFIKACJA INF3 - PAŹDZIERNIK 2016

PYTANIE NR 38.
Testy wydajnościowe mają na celu sprawdzenie
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Testy wydajnościowe służą do sprawdzenia, czy system spełnia założone wymagania niefunkcjonalne dotyczące wydajności (np. czas odpowiedzi, przepustowość, liczba obsługiwanych użytkowników). Opcje o działaniu przy wadliwym sprzęcie/systemie opisują raczej testy odporności lub niezawodności, a opis zależności zdarzeń to pojęcie z teorii łańcuchów Markowa.

Pełne wyjaśnienie:

Testy wydajnościowe koncentrują się na tym, jak system zachowuje się pod względem szybkości i sprawności w określonych warunkach pracy. Ich celem jest ocena stopnia spełnienia wymagań wydajnościowych przez system lub jego moduł, czyli weryfikacja, czy uzyskane wyniki mieszczą się w ustalonych kryteriach akceptacji (wymaganiach niefunkcjonalnych).

W praktyce wymagania wydajnościowe opisuje się metrykami, np. czasem odpowiedzi, przepustowością, liczbą transakcji na sekundę, wykorzystaniem zasobów czy stabilnością parametrów w czasie. Dlatego poprawna odpowiedź odnosi się bezpośrednio do spełnienia wymagań wydajnościowych, a nie do pracy w warunkach awarii.

Odpowiedzi mówiące o "zdolności oprogramowania do działania w warunkach wadliwej pracy systemu" oraz "w warunkach wadliwej pracy sprzętu" dotyczą innego obszaru: odporności na błędy, niezawodności, tolerancji uszkodzeń lub testów awaryjnych. Takie testy sprawdzają zachowanie w sytuacjach nieprawidłowych (awaria komponentów, błędy środowiska), a nie spełnianie typowych celów wydajności.

Odpowiedź opisująca "ciąg zdarzeń, w którym prawdopodobieństwo każdego zdarzenia zależy jedynie od wyniku poprzedniego" odnosi się do pojęcia matematycznego (łańcuch Markowa). Nie jest to cel testów wydajnościowych w inżynierii oprogramowania ani administracji systemami.

Na egzaminie warto pamiętać: wydajność = miary i wymagania, a odporność/niezawodność = zachowanie przy awarii. Jeśli w treści pojawia się "wymagania wydajnościowe", zwykle chodzi o porównanie pomiarów z oczekiwaniami.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Testy wydajnościowe to testy niefunkcjonalne, które mierzą, jak szybko i sprawnie działa system w zadanych warunkach. Sprawdzają m.in. czasy odpowiedzi, przepustowość, liczbę obsługiwanych użytkowników i zużycie zasobów, aby ocenić spełnienie wymagań wydajnościowych.
Sprawdzają wymagania niefunkcjonalne związane z wydajnością, np. maksymalny czas odpowiedzi, minimalną przepustowość, stabilność działania pod obciążeniem czy dopuszczalne użycie CPU i RAM. Wyniki porównuje się z kryteriami akceptacji (SLA/SLI).
Bo ich głównym celem nie jest sprawdzenie zachowania przy uszkodzeniach sprzętu lub błędach systemu, lecz pomiar parametrów pracy w typowych i kontrolowanych warunkach obciążenia. Testy awaryjne/odpornościowe skupiają się na degradacji usług i tolerancji błędów.
Testy obciążeniowe to częsty rodzaj testów wydajnościowych: badają działanie przy określonym (często rosnącym) obciążeniu użytkownikami lub żądaniami. "Wydajnościowe" jest pojęciem szerszym i może obejmować też testy stabilności, testy długotrwałe czy porównania konfiguracji.
Test stresowy polega na przekraczaniu typowego obciążenia, aby sprawdzić, kiedy system przestaje spełniać wymagania i jak się zachowuje po przeciążeniu. Ocenia się m.in. degradację czasu odpowiedzi, błędy, kolejki oraz zdolność do powrotu do normalnej pracy po ustąpieniu obciążenia.
Najczęściej mierzy się czasy odpowiedzi (średni/percentyle), przepustowość (np. żądania na sekundę), liczbę błędów, wykorzystanie CPU/RAM/dysku/sieci oraz opóźnienia. Kluczowe jest, aby metryki wynikały z wymagań i były mierzone w powtarzalnych warunkach.
Popularne są narzędzia generujące ruch i scenariusze, np. Apache JMeter. W praktyce łączy się je z monitoringiem (logi, wykresy zasobów, metryki aplikacji), aby znaleźć wąskie gardła. Na egzaminie ważniejsze jest rozumienie celu testu niż nazwa narzędzia.
Wydajność dotyczy "jak szybko i ile" (czas odpowiedzi, przepustowość, obciążenie). Niezawodność/odporność dotyczy "czy działa mimo problemów" (awarie komponentów, błędy środowiska, utrata połączeń). Jeśli odpowiedź mówi o pracy przy awarii, to zwykle nie jest test wydajności.
Nie bezpośrednio w typowym ujęciu egzaminacyjnym testów oprogramowania. Łańcuch Markowa to model probabilistyczny z matematyki i statystyki. Testy wydajnościowe skupiają się na pomiarach i spełnieniu wymagań wydajnościowych systemu, a nie na definicjach procesów losowych.
Najpierw wyłap słowa-klucze: "wymagania wydajnościowe", "czas odpowiedzi", "przepustowość" sugerują wydajność; "awaria", "wadliwa praca", "odporność" sugerują niezawodność/tolerancję błędów. Potem dopasuj definicję celu testu, a nie narzędzie czy środowisko.
info

Statystycznie 63% uczniów zna prawidłową odpowiedź. średnie

Eksperci podkreślają: "Testy wydajnościowe służą do sprawdzenia, czy system spełnia założone wymagania niefunkcjonalne dotyczące wydajności (np. czas odpowiedzi, przepustowość, liczba obsługiwanych użytkowników)."

Źródła:

  • ISTQB Glossary — hasło: "performance testing" (cel i definicja), https://glossary.istqb.org/ - accessed 2026-02-27
  • ISO/IEC/IEEE 29119-1:2022, Software and systems engineering — Software testing — Part 1: Concepts and definitions (definicje i pojęcia testowania), 2022
  • Apache JMeter User Manual — rozdziały wprowadzające (zastosowanie do testów wydajności/obciążenia), https://jmeter.apache.org/usermanual/ - accessed 2026-02-27

Materiały:

  • Słownik pojęć ISTQB (Glossary) – hasła: performance testing, load testing, stress testing
  • ISO/IEC/IEEE 29119 (standard testowania) – część dotycząca pojęć i procesów testowych
  • Dokumentacja narzędzi do testów wydajności (np. JMeter) – rozdziały o celach i metrykach testów

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego