KWALIFIKACJA INF3 - CZERWIEC 2016

PYTANIE NR 37.
Testy aplikacji internetowej sprawdzające skalowalność aplikacji i bazy danych oraz architekturę serwera i konfigurację nazywa się testami
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Testy skalowalności należą do testów wydajnościowych: oceniają zachowanie systemu przy rosnącym obciążeniu (czasy odpowiedzi, przepustowość, zużycie CPU/RAM) i wpływ architektury serwera oraz konfiguracji bazy. Kompatybilność dotyczy zgodności ze środowiskami (np. przeglądarki/OS), nie skalowania.

Pełne wyjaśnienie:

Skalowalność oznacza zdolność systemu do utrzymania akceptowalnej jakości działania przy wzroście obciążenia (np. więcej użytkowników, więcej żądań, większy wolumen danych). Takie sprawdzanie wykonuje się w ramach testów wydajnościowych, które badają zachowanie aplikacji "pod obciążeniem" i obejmują m.in. testy obciążeniowe, przeciążeniowe oraz właśnie testy skalowalności.

Dlaczego poprawne jest "wydajności"?

  • W testach wydajnościowych obserwuje się metryki takie jak czas odpowiedzi, przepustowość, błędy pod obciążeniem, wykorzystanie CPU/RAM, limity połączeń do bazy.
  • Pytanie wskazuje na architekturę serwera i konfigurację (np. ustawienia bazy, cache, równoważenie ruchu), czyli elementy typowo analizowane podczas testów wydajności i skalowania.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "bezpieczeństwa" dotyczy odporności na zagrożenia (np. podatności, kontrola dostępu, szyfrowanie). Nie mierzy, czy system działa szybciej/wolniej przy większym obciążeniu.
  • "funkcjonalnych" dotyczy poprawności działania funkcji (czy aplikacja realizuje wymagania), a nie parametrów takich jak throughput czy czas odpowiedzi przy wielu użytkownikach.
  • "użyteczności" dotyczy ergonomii i UX (czy interfejs jest zrozumiały, czy użytkownik łatwo osiąga cel). To inna kategoria niż analiza zasobów serwera i skalowania bazy.

W praktyce testy wydajnościowe dla aplikacji WWW wykonuje się przez symulowanie rosnącego ruchu i analizę wąskich gardeł (aplikacja, baza danych, sieć, konfiguracja serwera), aby potwierdzić, że system można bezpiecznie skalować.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Testy wydajnościowe sprawdzają, jak aplikacja zachowuje się pod obciążeniem: czy utrzymuje akceptowalny czas odpowiedzi, przepustowość i stabilność. Analizuje się też wykorzystanie zasobów serwera (CPU/RAM), limity połączeń oraz wpływ konfiguracji bazy danych.
Skalowalność weryfikują testy wydajnościowe, w szczególności testy skalowalności oraz obciążeniowe. Ich celem jest sprawdzenie, czy system poradzi sobie z rosnącą liczbą użytkowników lub danych po zwiększeniu zasobów albo dodaniu kolejnych węzłów.
Testy kompatybilności dotyczą zgodności działania w różnych środowiskach (np. przeglądarki, systemy operacyjne, urządzenia, rozdzielczości). Skalowalność dotyczy wzrostu obciążenia i zasobów infrastruktury, więc jest badana w testach wydajności, a nie w testach środowiskowych.
Najczęściej mierzy się czas odpowiedzi, liczbę obsłużonych żądań na sekundę (przepustowość), liczbę błędów, opóźnienia w bazie danych, wykorzystanie CPU/RAM i I/O. Dla INF.3 ważne jest rozumienie, że metryki łączą warstwę aplikacji, serwera i bazy.
Wykonuje się je przed wdrożeniem (aby potwierdzić wymagania niefunkcjonalne), po większych zmianach w kodzie lub bazie danych oraz przy zmianie infrastruktury. Testy obciążeniowe pomagają wykryć wąskie gardła, zanim pojawią się problemy u użytkowników.
Testy funkcjonalne sprawdzają, czy funkcje działają poprawnie (np. logowanie, koszyk, zapis do bazy). Testy wydajnościowe sprawdzają, czy system działa wystarczająco szybko i stabilnie pod obciążeniem. Poprawna funkcjonalność nie oznacza jeszcze dobrej wydajności.
Sygnały to słowa: obciążenie, skalowalność, przepustowość, czas odpowiedzi, liczba użytkowników, architektura serwera, konfiguracja bazy. Gdy pytanie dotyczy zachowania systemu przy wzroście ruchu lub zasobów, zwykle chodzi o testy wydajnościowe.
Często myli się skalowalność z kompatybilnością (środowiska vs obciążenie) albo uznaje, że skoro "coś działa", to są to testy funkcjonalne. Inny błąd to skupienie się na UI/UX i wybór użyteczności, mimo że pytanie dotyczy serwera i bazy danych.
Nie. Testy bezpieczeństwa wykrywają podatności i błędy ochrony danych (np. autoryzacja, szyfrowanie, odporność na ataki). Testy wydajnościowe badają szybkość i stabilność pod obciążeniem. To różne cele i różne kryteria oceny jakości aplikacji.
Ucz się rozpoznawać "cel testu" po słowach-kluczach: funkcjonalne (co ma działać), wydajnościowe (jak szybko i pod obciążeniem), kompatybilność (gdzie działa: przeglądarki/OS), użyteczność (czy wygodnie), bezpieczeństwo (czy odporne). Ćwicz na krótkich opisach scenariuszy.
info

Statystycznie 48% uczniów zna prawidłową odpowiedź. trudne

Eksperci podkreślają: "Kompatybilność dotyczy zgodności ze środowiskami (np. przeglądarki/OS), nie skalowania."

Źródła:

  • ISTQB Glossary (definicje: performance testing, scalability testing, compatibility testing) – https://glossary.istqb.org/ (dostęp 2026-03-13)
  • ISTQB Certified Tester Foundation Level Syllabus (sekcje o testach niefunkcjonalnych/performance) – https://www.istqb.org/certifications/certified-tester-foundation-level (dostęp 2026-03-13)
  • ISO/IEC/IEEE 29119 (Software Testing) – informacja ogólna o klasyfikacji i procesach testowania; szczegóły wymagają dostępu do treści normy (dostęp 2026-03-13)

Materiały:

  • Słownik ISTQB (definicje: performance testing, scalability testing, compatibility testing)
  • Sylabus ISTQB Foundation Level (rozdziały o testach niefunkcjonalnych)
  • Dokumentacja narzędzi do testów obciążeniowych oraz materiały o metrykach wydajności aplikacji WWW

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego