Warunek testowy zredefiniowany i zredukowany

Warunek testowy zredefiniowany i zredukowany
ISO w najnowszej wersji swojego standardu ISO/IEC/IEEE 29119 zdecydowało się na dość poważną i jednocześnie logicznie uzasadnioną zmianę związaną z "warunkiem testowym". Zamiast niego zaproponowano model testu. Czy jednak zrobiono to dobrze?

Warunek testowy jest dość intensywnie eksplorowany w sylabusach ISTQB, a wywodzi się ze standardu IEEE 829, który to z kolei został wchłonięty przez standard ISO 29119. Koncept zakładający istnienie pośredniego bytu między wymaganiem i przypadkiem testowym nie jest niczym złym, ale był on niemal całkowicie teoretyczny. Organizacji, które tworzyły specyfikację projektową testów, która zawierała warunki testowe było bardzo niewiele.
W dużym uproszczeniu możemy zdefiniować warunek testowy jako pomysł na to, co ma być testowane. Według definicji:
warunek testowy - testowalny aspekt komponentu lub systemu, taki jak funkcja, transakcja, cecha, atrybut jakości lub element strukturalny, zidentyfikowany jako podstawa do testowania.

Więcej o warunkach testowych poczytacie w tym >>artykule.

W nowej wersji standardu zaktualizowano definicję procesu projektowania i implementacji testów. W pierwszym wydaniu proces ten opierał się na wykorzystaniu warunków testowych. Informacja zwrotna ze stosowania normy zasygnalizowała problem ze zrozumieniem przez „czytelników” czym jest "warunek testowy" i jak jest wykorzystywany do tworzenia przypadków testowych. Zdecydowano się więc w drugim wydaniu zastąpić "warunki testowe" przez "modele testów".

Definicja mówi: 
model testu - reprezentacja elementu testowego, która pozwala skupić się na testowaniu poszczególnych cech lub właściwości.

Element testowy to jest to, co będziemy testowali i obejmują systemy, elementy oprogramowania, obiekty, klasy, dokumenty wymagań, specyfikacje projektowe i podręczniki użytkownika.

W przykładzie podano, że modele testów to - deklaracje wymagań, partycje równoważności, diagram przejścia stanów, opis przypadku użycia, tabela decyzyjna, opis składni wejściowej, kod źródłowy, graf przepływu sterowania, parametry i wartości, drzewko klasyfikacji czy język naturalny.

Dodatkowe uwagi w słowniku mówią, że: 

  • model testowy może zawierać jeden lub więcej warunków testowych.
  • modele testowe są powszechnie używane do wspomagania projektowania testów (np. są używane do wspomagania projektowania testów w ISO/IEC/IEEE 29119-4 i są używane w testowaniu opartym na modelu). Istnieją inne rodzaje modeli wspierających inne aspekty testowania, takie jak modele środowiska testowego (3.34), modele dojrzałości testowej i modele architektury testowej (3.47).

Wprowadzono również pojęcie „specyfikacji modelu testowego” jako dokumentu określającego model testowy.

W przebudowanym procesie projektowania i implementacji wygląda to tak, jak na przedstawionym przepływie.

warunek-testowy.png

Spośród czynności wchodzących w skład tego procesu możemy wyróżnić:

  •  tworzenie modelu testowego (TD1);
  •  określenie pokrycie elementów testów (TD2);
  •  tworzenie przypadków testowych (TD3);
  •  tworzenie procedur testów.

Model testowy reprezentuje testowalne aspekty elementu testowego, takie jak funkcja, transakcja, cecha, atrybut jakości lub element strukturalny zidentyfikowany jako podstawa do testowania. Model testowy odzwierciedla wymagane kryterium zakończenia testu w strategii testowej.

Przykład. Jeśli zidentyfikowano kryterium zakończenia testu dla testowania przejścia między stanami, które wymaga pokrycia wszystkich stanów, wówczas model testowy pokaże, w jakich stanach może znajdować się element testowy.
Pokrycie elementów testowych są atrybutami modelu testowego, które mogą być pokryte podczas testowania. Pojedynczy model testowy będzie zazwyczaj podstawą dla pokrycia kilku  elementów testowych.
Przypadek testowy jest zbiorem warunków wstępnych, danych wejściowych (w tym działań, gdzie ma to zastosowanie) i oczekiwanych wyników, opracowanych w celu określenia, czy dana część elementu testowego została poprawnie zaimplementowana.

 

Komentarz 1.
Nawet jeśli ISO uznało, że koncept warunków testowych za niezrozumiały, to pomysł zastąpienia tego modelem testu, który ma bardzo zbliżoną do warunku definicję jest już skrajnie niezrozumiały. Ponieważ sam warunek testowy nie był używany, to dołożono jeszcze pojęcie, które jest zbiorem nieużywanych wcześniej warunków. Jeśli komuś model testu pomaga w lepszym zrozumieniu procesu, to prosimy o kontakt z redakcją i wyjaśnienie nam sensu jego wprowadzenia.

Komentarz 2. 
„Model testu” jest strzałem w kolano ISTQB, które niedawno zaktualizowało dużą część swoich sylabusów i mocno oparła się na koncepcie warunków testowych, a dodatkowo referuje do ISO 29119. Teraz ISO zmieniło swoje definicje i albo ISTQB musi się odciąć od ISO, albo ponownie przyjąć definicje ISO. W obu przypadkach zaktualizowanie sylabusów będzie koniecznością.

To powinno Cię zainteresować