1. Strona główna
  2. Sylabus dla poziomu zaawansowanego – Techniczny analityk testowy (wersja z 19.10.2012)
  3. 2. Testowanie w oparciu o strukturę
  4. 2.5 Testowanie wielokrotne warunków

2.5 Testowanie wielokrotne warunków

W rzadkich przypadkach może okazać się konieczne przetestowanie wszystkich kombinacji wartości, które mogą pojawić się w decyzji. Taki gruntowny poziom testowania nazywany jest pokryciem wielokrotnym warunków. Liczba wymaganych testów zależy od liczby warunków atomowych w wyrażeniu decyzyjnym i wynosi 2n, gdzie n jest liczbą niepowiązanych warunków atomowych. W przykładzie podanym w poprzednim punkcie, w celu uzyskania pokrycia warunków wielokrotnych wymagane jest wykonanie następujących testów:

A B C (A LUB B) ORAZ C
Test 1 PRAWDA PRAWDA PRAWDA PRAWDA
Test 2 PRAWDA PRAWDA FAŁSZ FAŁSZ
Test 3 PRAWDA FAŁSZ PRAWDA PRAWDA
Test 4 PRAWDA FAŁSZ FAŁSZ FAŁSZ
Test 5 FAŁSZ PRAWDA PRAWDA PRAWDA
Test 6 FAŁSZ PRAWDA FAŁSZ FAŁSZ
Test 7 FAŁSZ FAŁSZ PRAWDA FAŁSZ
Test 8 FAŁSZ FAŁSZ FAŁSZ FAŁSZ

Jeśli w używanym języku programowania występuje mechanizm zwarcia, faktyczna liczba przypadków testowych zwykle ulega zmniejszeniu, w zależności od kolejności i zgrupowania operacji logicznych wykonywanych na warunkach atomowych.

Obszar zastosowania

Ta technika była tradycyjnie stosowana do testowania oprogramowania wbudowanego, które powinno działać w niezawodny, bezawaryjny sposób przez długi okres czasu (np. zakładano, że centrale telefoniczne mają funkcjonować przez 30 lat). W przypadku większości newralgicznych aplikacji ten rodzaj testowania prawdopodobnie zostanie zastąpiony testowaniem ZPWD.

Ograniczenia/trudności

Ponieważ liczba przypadków testowych wynika bezpośrednio z tablicy prawdy zawierającej wszystkie warunki atomowe, łatwo określić ten poziom pokrycia. Liczba wymaganych przypadków może być jednak bardzo duża, dlatego w większości sytuacji wystarczające jest zastosowanie pokrycia ZPWD.