Io-10-wyk-Slajd23

Z Studia Informatyczne
Wersja z dnia 10:51, 11 wrz 2006 autorstwa Bwalter (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Aksjomat antydekompozycji

Aksjomat antydekompozycji


Aksjomat antydekompozycji mówi, że pokrycie uzyskane dla testowanego modułu nie zawsze jest uzyskane dla modułów przez niego wywoływanych. Zestaw testów pokrywający klasę lub metodę nie musi pokrywać obiektów serwera tej klasy lub metody. W przykładzie, który Państwo widzicie następujące warianty testów dla klasy korzystającej z klasy Math spowodują 100% pokrycie instrukcji tej klasy:

  • liczba = 0, wyjście = 0;
  • liczba = 2, wyjście = 0.5

Natomiast nie spowodują one wykonania wszystkich instrukcji w klasie Math. Otóż nie wykonana zostanie ani razu instrukcja wyrzucająca wyjątek DzieleniePrzezZero, ponieważ w klasie klienta sprawdzanie jest wystąpienie warunku dla 0. Zatem pokrycie instrukcji dla klasy Math wyniesie tylko 50%, co jest zgodne z aksjomatem antydekompozycji.


<< Poprzedni slajd | Spis treści | Następny slajd >>