Zaawansowane projektowanie obiektowe
Testowanie jednostkowe
Prowadzący:
Bartosz Walter
Testowanie jednostkowe
1
Bartosz Walter
Zaawansowane projektowanie obiektowe
Agenda
•
Testowanie jednostkowe
•
Biblioteka JUnit 3.8
•
Biblioteka JUnit 4.0
•
Biblioteka TestNG
•
Obiekty zastępcze
Testowanie jednostkowe (2)
Podczas wykładu zostaną zaprezentowane następujące zagadnienia
•przypomniane będą idea i zasady związane z testowaniem
jednostkowym
•przedstawiona zostanie klasyczna biblioteka JUnit 3.8, która
zapoczątkowała wzrost znaczenia testowania jednostkowego w inŜynierii
oprogramowania
•zaprezentowane będą dwie biblioteki nowej generacji (JUnit 4.0 i
TestNG), oparte na moŜliwościach oferowanych przez języka Java 5.0
•wprowadzone będzie pojęcie obiektu zastępczego (imitacji)
Testowanie jednostkowe
2
Bartosz Walter
Zaawansowane projektowanie obiektowe
Agenda
•
Testowanie jednostkowe
•
Biblioteka JUnit 3.8
•
Biblioteka JUnit 4.0
•
Biblioteka TestNG
•
Obiekty zastępcze
Testowanie jednostkowe (3)
Pierwszą częścią jest przypomnienie zadań stawianych testowaniu
jednostkowemu.
Testowanie jednostkowe
3
Bartosz Walter
Zaawansowane projektowanie obiektowe
Podstawowe pojęcia
•
Cel:
– weryfikacja oczekiwanego zachowania obiektu z
faktycznym
•
Obiekt testowany:
– wyizolowana instancja klasy, która podlega testom
•
Przypadek testowy:
– weryfikacja jednego zachowania jednej metody
•
Klasa testuj
ą
ca:
– klasa z przypadkami testowymi dotyczącymi jednego
obiektu testowanego.
Testowanie jednostkowe (4)
Testowanie jednostkowe jest jedną z technik weryfikacji poprawności
działania programu. Dotyczy jednak bardzo niskiego poziomu –
pojedynczej klasy i metody. Celem jego jest sprawdzenie, czy rzeczywisty
efekt działania metody wywołanej w określonym kontekście i z
określonymi parametrami jest taki, jak oczekiwano.
Nazwa 'testowanie jednostkowe' wywodzi się z faktu, Ŝe obiektem
testowanym jest pojedyncza, wyizolowana ze środowiska instancja klasy.
Zatem nie jest uruchamiany cały tworzony system, ale właśnie pojedynczy
obiekt.
Przypadkiem testowym w testowaniu jednostkowym jest sprawdzenie, czy
metoda w określonych warunkach zachowuje się poprawnie. Zatem dla
kaŜdej metody o nietrywialnym zachowaniu (zwykle będzie to metoda
publiczna) istnieje jeden lub więcej przypadków testowych, po jednym dla
kaŜdego rodzaju zachowania testowanej metody.
Przypadki testowe dotyczące jednego obiektu testowanego są zebrane
wewnątrz jednej klasy testującej. W ten sposób jednej klasie testowanej
odpowiada jedna klasa testująca.
Testowanie jednostkowe
4
Bartosz Walter
Zaawansowane projektowanie obiektowe
Agenda
•
Testowanie jednostkowe
•
Biblioteka JUnit 3.8
•
Biblioteka JUnit 4.0
•
Biblioteka TestNG
•
Obiekty zastępcze
Testowanie jednostkowe (5)
Ilustracją tych zasad jest opis biblioteki JUnit 3.8, która w znacznym
stopniu przyczyniła się do wzrostu popularności testowania
jednostkowego.
Testowanie jednostkowe
5