# POZIOM 3. Testy systemowe

## Podstawa testów

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

## Obiekty testów

* podręczniki systemowe, użytkownika i operacyjne
* konfiguracje systemu i dane konfiguracyjne

Testy systemowe zajmują się zachowaniem systemu, zakres testów powinien być jasno określony w planie testów.

Przedmioty testów&#x20;

wyprowadza się zwykle ze specyfikacji wymagań, specyfikacji funkcjonalnych lub przypadków użycia.

## Przedmioty testów:&#x20;

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

**Przykład**

W systemie przechowującym dane studentów istnieją różne moduły – pobierający rekordy z formularza rekrutacyjnego, zapisujący pobrane rekordy, umożliwiający dodanie nowego studenta manualnie. Testy systemowe sprawdzają na przykład czy przypadek użycia polegający na dodaniu nowego studenta manualnie, a następnie pobraniu danych dla tego samego studenta z formularza rekrutacyjnego nadpisuje dane studenta dodanego manualnie (gdyż jest to zgodne z wymaganiami i specyfikacją).

## Testy systemowe mogą zawierać

* testy oparte na:
  * &#x20;ryzyku
  * wymaganiach
  * procesie biznesowym
* przypadkach użycia lub innych wysokopoziomowych opisach zachowania systemu
* interakcji z systemem operacyjnym, zasobami systemowymi itp.

{% hint style="info" %}
Testy powinny sprawdzać funkcjonalne jak i niefunkcjonalne wymagania, które mogą być wyrażone w formie tekstu lub modeli.
{% endhint %}

Testerzy powinni potrafić dobrać odpowiednie techniki dla testowanego aspektu systemu.

## Typowe defekty i awarie&#x20;

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

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