1. Strona główna
  2. Sylabus poziomu podstawowego ISTQB 2018 (wersja 1.01)
  3. 2. Testowanie w cyklu życia oprogramowania
  4. 2.2. Poziomy testów
  5. 2.2.3. Testowanie systemowe

2.2.3. Testowanie systemowe

Cele testowania systemowego

Testowanie systemowe skupia się na zachowaniu i możliwościach całego systemu lub produktu, często z uwzględnieniem całokształtu zadań, jakie może on wykonywać oraz zachowań niefunkcjonalnych, jakie można stwierdzić podczas wykonywania tych zadań. Cele testowania systemowego to między innymi:

  • zmniejszanie ryzyka;
  • sprawdzanie zgodności zachowań funkcjonalnych i niefunkcjonalnych systemu z projektem i specyfikacjami;
  • sprawdzanie kompletności systemu i prawidłowości jego działania;
  • budowanie zaufania do jakości systemu jako całości;
  • wykrywanie defektów;
  • zapobieganie przedostawaniu się defektów na poziom testowania akceptacyjnego lub na produkcję.

W przypadku niektórych systemów celem testowania może być również zweryfikowanie jakości danych. Podobnie jak w przypadku testowania modułowego i testowania integracyjnego, automatyczne, systemowe testy regresji pozwalają uzyskać pewność, że wprowadzone zmiany nie spowodowały nieprawidłowego działania dotychczasowych funkcji lub całościowej funkcjonalności. Często spotykanym rezultatem testowania systemowego są dane i informacje, na podstawie których interesariusze podejmują decyzje o przekazaniu systemu do użycia produkcyjnego. Ponadto testowanie systemowe może być niezbędne do spełnienia wymagań wynikających z obowiązujących przepisów prawa lub norm/standardów.

Środowisko testowe powinno w miarę możliwości odzwierciedlać specyfikę środowiska docelowego lub produkcyjnego.

Podstawa testów

Przykładowe produkty pracy, które mogą być wykorzystywane jako podstawa testów w ramach testowania systemowego, to między innymi:

  • specyfikacje wymagań (funkcjonalnych i niefunkcjonalnych) dotyczących systemu i oprogramowania;
  • raporty z analizy ryzyka;
  • przypadki użycia;
  • opowieści i historyjki użytkownika;
  • modele zachowania systemu;
  • diagramy stanów;
  • instrukcje obsługi systemu i podręczniki użytkownika.

Przedmioty testów

Do typowych przedmiotów testów dla testów systemowych zalicza się:

  • aplikacje;
  • systemy łączące sprzęt i oprogramowanie;
  • systemy operacyjne;
  • system podlegający testowaniu;
  • konfiguracja i dane konfiguracyjne systemu.

Typowe defekty i awarie

Przykładami typowych defektów i awarii wykrywanych w ramach testowania systemowego są:

  • niepoprawne obliczenia;
  • niepoprawne lub nieoczekiwane zachowania funkcjonalne lub niefunkcjonalne systemu;
  • niepoprawne przepływy sterowania i/lub przepływy danych w systemie;
  • problemy z prawidłowym i kompletnym wykonywaniem całościowych zadań funkcjonalnych;
  • problemy z prawidłowym działaniem systemu w środowisku produkcyjnym;
  • niezgodność działania systemu z opisami zawartymi w instrukcji obsługi systemu i podręcznikach użytkownika.

Konkretne podejścia i odpowiedzialności

Testowanie systemowe powinno koncentrować się na kompleksowym zbadaniu zachowania systemu jako całości na poziomie zarówno funkcjonalnym, jak i niefunkcjonalnym. W ramach testowania systemowego należy stosować techniki (patrz rozdział 4.), które są najbardziej odpowiednie dla danego aspektu (danych aspektów) systemu będącego przedmiotem testów. W celu sprawdzenia, czy zachowanie funkcjonalne jest zgodne z opisem zawartym w regułach biznesowych, można wykorzystać np. tablicę decyzyjną.

Testowanie systemowe wykonują zwykle niezależni testerzy. Defekty w specyfikacjach (np. brakujące historyjki użytkownika lub niepoprawnie zdefiniowane wymagania biznesowe) mogą doprowadzić do nieporozumień lub sporów dotyczących oczekiwanego zachowania systemu. Wyniki testów mogą więc zostać zaklasyfikowane jako rezultaty fałszywie pozytywne lub fałszywie negatywne, a sugerowanie się nimi może spowodować odpowiednio stratę czasu lub spadek skuteczności wykrywania defektów.

Między innymi dlatego (aby zmniejszyć częstość występowania powyższych sytuacji) należy zaangażować testerów w przeglądy, doprecyzowywanie historyjek użytkownika i inne czynności testowe o charakterze statycznym na jak najwcześniejszym etapie prac.