Sobes.tech
Junior

Opowiedz o rodzajach testów niefunkcjonalnych.

sobes.tech AI

Odpowiedź od AI

Testy niefunkcjonalne oceniają atrybuty jakości oprogramowania, które nie są związane z konkretnymi funkcjami lub zachowaniami. Skupiają się na tym, jak system działa.

Główne rodzaje testów niefunkcjonalnych:

  • Testy wydajności (Performance Testing): Ocena szybkości, reaktywności, skalowalności i stabilności systemu pod określonym obciążeniem.
    • Test obciążeniowy (Load Testing): Sprawdzenie zachowania systemu przy oczekiwanym maksymalnym obciążeniu.
    • Test stresowy (Stress Testing): Określenie punktu awarii systemu przy obciążeniu przekraczającym oczekiwane.
    • Test stabilności/wytrzymałości (Stability/Endurance Testing): Sprawdzenie zdolności systemu do obsługi oczekiwanego obciążenia przez dłuższy czas.
    • Test objętości (Volume Testing): Sprawdzenie zachowania systemu przy dużej ilości danych w bazie danych.
  • Testy bezpieczeństwa (Security Testing): Sprawdzenie ochrony danych i zasobów przed nieautoryzowanym dostępem, utratą lub uszkodzeniem.
    • Testy penetracyjne (Penetration Testing): Symulacja ataku w celu wykrycia podatności.
    • Analiza podatności (Vulnerability Analysis): Użycie zautomatyzowanych narzędzi do wykrywania znanych podatności.
  • Testy użyteczności (Usability Testing): Ocena, jak łatwo i skutecznie użytkownicy mogą wchodzić w interakcję z systemem.
    • Testy z rzeczywistymi użytkownikami.
    • Ocena heurystyczna.
  • Testy niezawodności (Reliability Testing): Sprawdzenie zdolności systemu do wykonywania funkcji bez awarii przez określony czas w zadanych warunkach.
    • Testy odzyskiwania po awarii (Failure Recovery Testing): Sprawdzenie zdolności systemu do odzyskania po awarii.
  • Testy skalowalności (Scalability Testing): Sprawdzenie, czy system może efektywnie obsługiwać rosnące obciążenia, ilości danych lub liczbę użytkowników.
  • Testy dostępności (Accessibility Testing): Sprawdzenie, jak dostępne i przyjazne dla użytkownika jest oprogramowanie dla osób z różnymi potrzebami.
  • Testy kompatybilności (Compatibility Testing): Sprawdzenie działania oprogramowania w różnych środowiskach (systemy operacyjne, przeglądarki, urządzenia).

Znaczenie testów niefunkcjonalnych polega na zapewnieniu, że system jest nie tylko funkcjonalnie poprawny, ale także wydajny, bezpieczny, niezawodny i łatwy w użyciu. Ma to bezpośredni wpływ na satysfakcję końcowych użytkowników i sukces produktu.