Prowadzący:
Katarzyna Pietrzyk
Paweł Morawski
Agenda
1. Wprowadzenie
2. Wymagania
3. Przypadek testowy
Definicja
Schemat
Cechy dobrego przypadku testowego
4. Techniki projektowania
Czarnej skrzynki
Białej skrzynki
Oparte na doświadczeniu
5. Scenariusze testowe
6. Metryki
To juŜ było…
Testowanie
Poziomy testów
Rodzaje testów
Wymagania
Definiowane przez uŜytkowników
…
Testowalność [1/2]
Testowalność [2/2]
Przegląd (ang.review) wymagań jest najbardziej efektywną drogą walidacji wymagań.
Defekty, które nie będą znalezione podczas przeglądu wymagań będą „wnoszone” do kolejnych
faz produkcji oprogramowania.
Im późniejsza faza tworzenia oprogramowania,
tym naprawienie defektów staje się coraz droŜsze.
Cechy dobrze zdefiniowanych wymagań:
jednoznaczność
kompletność
spójność
modyfikowalność
śledzalność
uŜyteczność (wtórna)
weryfikowalność
Przypadek testowy [1/2]
(ang. Test case)
1
4. Pojedyncza czynność, którą naleŜy wykonać
Techniki projektowania
Jeśli dla jednego przypadku wystąpi defekt, dla pozostałych przypadków równieŜ
Przykład:
Parametr miesiąc w dacie.
... -2 -1 0 1 ...................... 12 13 14 15 .....
--------------------|-------------------------|---------------------
niepoprawne wartości 1 poprawne wartości niepoprawne wartości 2
Technika wartości granicznych
Przykład:
W bazie rejestrowane są osoby w wieku 0-10 lat
[-1,0,1,9,10,11]
sekwencję przejść,
kaŜdy stan,
Przykład:
Maszyna pracuje zgodnie z prezentowanym diagramem stanów
0
1 1
Stan
wej. 1 0
S1 S1 S2 S1 S2
S2 S2 S1
0
Tabela przejścia stanów Diagram stanów
Reguły
C1 ∧ A1
1 2 3
C1 F T T
C2 A2
C2 T - F
- -
∧ C3 T
C3 A3
A1 T F F
negacja
A2 F T F
∧ logiczne AND
A3 F F T
Warunki początkowe
Warunki końcowe
Zalety i wady
testy są powtarzalne
Testy białej skrzynki (ang. white box), które zakładają znajomość sposobu
implementacji testowanych funkcji i są opracowywane na podstawie
sprawdzania kody źródłowego.
Biała skrzynka
If (a = 1)
Dane wejściowe print „a is 1” Dane wyjściowe
else
print „a is not 1”
Zalety i wady
Zalety testowania metodą białej skrzynki:
poniewaŜ wymagana jest znajomość struktury kodu, łatwo jest określić jaki typ danych
wejściowych/wyjściowych jest potrzebny, aby efektywnie przetestować aplikację
prawie niemoŜliwym jest przejrzenie kaŜdej linii kodu w poszukiwaniu ukrytych błędów,
co moŜe powodować błędy po fazie testów.
Techniki oparte na doświadczeniu
(ang. experience based)
Scenariusz testowy
Narzędzia
TestLink
QA Track
Mercury Test Director
IBM Rational ClearQuest
IBM Rational Test Manager
Podsumowanie
Brak jednej prostej recepty/najbardziej właściwej metody na
wygenerowanie „dobrego” przypadku testowego
Cel testów
Typ testów
Czas i budŜet
Następne spotkanie…
Dziękuję
Zadanie
• jednoznaczność
• kompletność
• spójność
• modyfikowalność
• śledzalność
• uŜyteczność (wtórna)
• weryfikowalność
Techniki projektowania
• pokrycie decyzji/rozgałęzień
• zgadywanie błędów
• testowanie eksploracyjne