Podstawy procesu testowania

Podstawową i najkrótszą definicją testowania jest znajdowanie anomalii. Nie rozstrzygamy czym jest anomalia i kto ma stwierdzić czy konkretny przypadek nią jest czy też nie. Pozostawiamy dopasowanie tej definicji do Państwa środowiska i pojmowania testowania.

Podstawy
Definicję możemy rozszerzyć do większego obszaru, na przykład testowaniem jest znajdowanie defektów lub zapewnienie określonej jakości produktu (czy jest to oprogarmowanie, czy też urządzenie, nie ma to teraz znaczenia). Testować możemy wszystko co, zostało wytworzone przez człowieka: od igły po odrzutowce, od oprogramowania po budynki. Co więcej, każdy z nas, czy tego chce czy nie jest częściowo testerem. Prosty przykład: wybierając drogę którą pójdziemy do szkoły/pracy/sklepu kierujemy się potrzebami, oraz jakością trasy. Najprawdopodobniej przetestowaliśmy różne opcje i wybieramy tą najkorzystniejszą dla nas.

Kiedy kończy się testowanie?
Choć wielu w to nie wierzy, testowanie produktu nie kończy się nigdy. Trwa od momentu powstania koncepcji po unicestwienie produktu. Nie możemy powiedzieć, że jakość jest doskonała i nic nie da się już poprawić. Nie prawdą jest, że produkt nie ma żadnego błędu - możemy to zastąpić, że żaden błąd nie został jeszcze znaleziony. Może ocieramy się w tym momencie o Prawo Murphego ale tak właśnie jest.

Planowanie testów
Jeśli podejmuję decyzję o testowaniu musimy podjąć także decyzję o celach testowania: Do czego dążymy/Co chcemy osiągnąć?
Odpowiedź na to pytanie powinno być zawarte w planach testów.

Inne tematy podjęte przez test plan to:
  • zasięg testowania i ryzyko,
  • założenia testowania: techniki testowania, narzędzia testowe, pokrycie testów, drużyna testowa etc.,
  • zasoby testowe: ludzie, środowisko etc.,
  • implementacja polityki i startegii testowej,
  • plan analizy testów i zajęć projektowych,
  • określenie kryterium zakończenia testów.

Kontrolowanie testów
Plan testów musi być sprawdzany w każdym momencie procesu testowania do tego służy proces kontroli. Na bierząco musimy sprawdzać jak daleko "odchodzimy" od wstępnych założeń.

Podstawowe założenia to:
  • pomiar i analiza rezultatów,
  • monitorowania i dokumantowania postępu, pokrycie testów i kryteria zakończenia testów,
  • inicjowania właściwych reakcji w odpowiedzi na następujace zmiany
  • podejmowanie decyzji.

Projektowanie i analiza testów
Planowanie i analiza testów jest czynnością, podczas której ogólne postanowienia testowe zostają przemienione w namacalne warunki testowe i projektowanie testów.

Analiza i projektowanie testów obejmuje następujące bardzo ważne zadania:
  • przegląd podstaw testów (takich jak wymagania, architektura, projekt, interfejsy)
  • identyfikacja warunków testowych lub wymagań testowych i wymaganych danych testowych bazujących na analizie czynników testowych, specyfikacji, zachowań i struktury
  • projektowanie testów
  • sprawdzenie testowalności wymagań systemu
  • projektowanie ustawień środowiska testowego i identyfikacja wymaganej infrastruktury i narzędzi

Wdrażanie i wykonywanie testów
Implementacja testów i ich wykonywanie jest czynnością gdzie warunki testów zostają przemienione w przypadki testowe i zbiór czynników testowych oraz konfigurację środowiska.

Implementacja testów i ich wykonywanie składa się z następujących zadań:
  • rozwijanie i prioryteryzacja przypadków testowych, tworzenie danych testowych, pisanie procedu testowych i opcjonalnie przygotowanie środowisk symulatorów testowych oraz pisanie skryptów testowych dla automatyzacji.
  • tworzenie zestawów testowych z przypadków testowych dla efektywnego wykonywania testów
  • wykonywanie przypadków testowych ręcznie lub przy użyciu narzędzi automatycznych, zgodnie z zaplanowaną sekwencją
  • zapamiętywanie wyników wykonywanych testów i zapisywanie wersji oprogramowania będącego testowanym i narzędzi testowych
  • porównywanie aktualnych wyników z oczekiwanymi wynikami
  • raportowanie różnic jako przypadków i ich analiza w celu ustalenia ich przyczyn (np. defekt w kodzie, złe dane testowe, błąd w dokumentacji lub złe wykonanie instrukcji testowej)
  • powtarzalnie czynności testowych jako rezultat wykrycia przypadków. Dla przykładu, ponowne wykonanie instrukcji testowej, która poprzednio zwróciła wynik negatywny, dla upewnienia się, że defekt już nie występuje; ponowne wykonie poprawionej instrukcji testowej by upewnić się, że defekt został przypadkowo wprowadzony w poprzednio niezmieniannych obszarach lub czy defekt nie odkrył kolejnych defektów (testy regresji).

Sprawdzenie kryterium zakończenia testów
Sprawdzanie kryterium zakończenia testów jest czynnością testową względem zdefiniowanych celów. Musi zostać to zrobione na każdym poziomie testów.

Sprawdzanie kryterium składa się z następujących zadań:
  • sprawdzenie zapisów potestowych względem kryterium wyjścia określonego w planach testów
  • testowanie czy więcej testów jest potrzebne lub czy kryterium zakończenia powinno być zmienione
  • napisanie podsumowania testów w postaci raportu dla udziałowców

Zakończenie testów
Czynności kończące testy polegają na zbieraniu wszystkich danych ze wszystkich ukończonych czynności testowych dla konsolidacji doświadczenia, czynników testowych, faktów i liczb. Dla przykładu, kiedy oprogramowanie zostaje wypuszczone na rynek projekt zostaje zakończony (lub wstrzymany), kamienie milowe projektu zostały osiągnięte lub wersja oprogramowania z uwzględnieniem komentarze i błędów zgłoszonych przez użytkowników zostało opublikowana.

Na czynności zamykająca aktywności testowe składają się:
  • sprawdzenie, które z zaplanowanych dostaw rzeczywiście zostały dostarczone, sprawdzenie raportów zamknięcia przypadków lub
  • spradzenie raportów zgłoszenia zmian dla tych, które pozostały otwarte, sprawdzenie dokumentacji akceptacyjnych systemu
  • zakończenie i zarchiwizowanie wszystkich czynników testowych dla późniejszego, ponownego ich użycia
  • przejęcie czynników testowych przez organizację zajumującą się serwisem produktu.
  • analiza tego czego nauczyliśmy się podczas projektu aby wiedza ta posłużyła nam dla przyszłych projektów i dla poprawy dojrzałości organizacji testowej.

 

 

Najbliższe terminy szkoleń

 

28-30 listopada - Katowice

ISTQB Poziom Podstawowy (Foundation Level)


28 listopada-1 grudnia - Wrocław

Zawód Tester


4-6 grudnia - Warszawa

ISTQB Poziom Podstawowy (Foundation Level)

 

Partnerzy

Narzędzia testerskie