Podstawy testowania oprogramowania

Rola testowania w SDLC
Testowanie to integralna część każdego etapu cyklu życia oprogramowania. Wspiera planowanie, analizę, projektowanie, implementację, wdrożenie oraz konserwację systemu. Pomaga w identyfikacji błędów, zapewnieniu zgodności z wymaganiami oraz utrzymaniu jakości.

Poziomy testowania
  • Testy jednostkowe – sprawdzają pojedyncze moduły kodu.
  • Testy integracyjne – oceniają współdziałanie komponentów.

  • Testy systemowe – testują cały system w środowisku zbliżonym do produkcyjnego.

  • Testy akceptacyjne – przeprowadzane z udziałem użytkowników końcowych, weryfikują gotowość produktu.

Rodzaje testów

  • Funkcjonalne – sprawdzają zgodność działania z wymaganiami.

  • Niefunkcjonalne – oceniają wydajność, bezpieczeństwo, użyteczność.

  • Regresji – weryfikują, czy nowe zmiany nie wprowadziły błędów.

  • Bezpieczeństwa – identyfikują luki i zagrożenia.

Cykl życia testów
Obejmuje planowanie, projektowanie, przygotowanie danych, wykonanie testów oraz ich ocenę i raportowanie. Kluczowe są: jasne cele, zarządzanie zasobami i narzędziami, oraz iteracyjność w doskonaleniu procesu testowego.

Znaczenie automatyzacji i współpracy zespołowej
Testowanie staje się częścią ciągłej integracji (CI) i ciągłego dostarczania (CD). Narzędzia takie jak Jenkins, Selenium czy SonarQube wspierają ten proces. Kluczowa jest też współpraca testerów z deweloperami i interesariuszami.

Podstawy weryfikacji oprogramowania

Definicja i cele weryfikacji
Weryfikacja to proces sprawdzania, czy produkt jest zgodny z wymaganiami na różnych etapach jego tworzenia. Celem jest wykrycie niezgodności jeszcze przed wdrożeniem, co zmniejsza koszty błędów.

Techniki weryfikacji
Obejmują:

  • Przeglądy kodu (code review)

  • Analizy statyczne

  • Inspekcje i audyty

  • Formalne metody dowodzenia poprawności

Weryfikacja a walidacja

  • Weryfikacja: „Czy produkt jest budowany poprawnie?” (zgodność z dokumentacją i projektem).

  • Walidacja: „Czy budujemy właściwy produkt?” (zgodność z potrzebami użytkownika).

Znaczenie w procesach zapewniania jakości
Weryfikacja pozwala wcześnie wykrywać błędy, co wspiera ogólną jakość produktu. Szczególną rolę odgrywa w projektach o wysokim stopniu formalizacji (np. systemy krytyczne dla bezpieczeństwa).

Ostatnia modyfikacja: wtorek, 17 czerwca 2025, 16:31