Podstawą testowania jest ryzyko – to, co bardziej ryzykowne, trzeba testować więcej i staranniej. Aby móc tę podstawową zasadę stosować w praktyce, trzeba oszacować zarówno prawdopodobieństwo, jak i skutki ewentualnych awarii, oraz na ile testowanie jest skuteczną i ekonomiczną metodą, aby to prawdopodobieństwo obniżyć. Prawdopodobieństwo awarii zależy od dwóch grup czynników: prawdopodobieństwa defektów oraz profili użytkowania systemu. Prezentacja pokazuje systematycznie te zależności, oraz jak je wykorzystać w praktyce zarówno do projektowania testów, jak i do nadzorowania przebiegu projektu.
[QE 2015] Bogdan Bereza - Testowanie na podstawie ryzyka
1. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 1 (45)
2015
Testowanie na podstawie ryzyka
Bogdan Bereza
bogdan.bereza@victo.eu
3. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 3 (45)
1. Co to
znaczy?
2. W
praktyce
3. Lampki
4. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 4 (45)
Testowanie na podstawie
ryzyka - co to znaczy?
2. W
praktyce
3. Lampki
5. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 5 (45)
Bez testowania
Solidne testowanie
Czemu tak?
6. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 6 (45)
Duże
Małe
PRAWDOPODOBIEŃSTWO
ZAGROŻENIE
Niskie Wysokie
Obszerna kontrola
Sporadyczna kontrola
Bo tak:
7. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 7 (45)
Wymagana
intensywność i
dokładność
testów
Prawdopodobieństwo
defektów
Profil
użycia
Prawdopodobieństwo
awarii
Koszty
(skutki)
awarii
Ryzyko awarii
Skuteczność testów w
zmniejszaniu
prawdopodobieństwa
awarii
8. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 8 (45)
Wymagana
intensywność i
dokładność
testów
Ryzyko awarii
Skuteczność testów w
zmniejszaniu
prawdopodobieństwa
awarii
Prawdopodobieństwo
awarii
Koszty
(skutki)
awarii
Prawdopodobieństwo
defektów
Profil
użycia
9. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 9 (45)
Prawdopodobieństwo
awarii
Złożoność
oprogramowania
Prawdopodobieństwo
defektu
Profil
użytkowania
Wielkość
oprogramowania
Znajomość
technologii?
Wcześniejsze
testowanie?
Jakość
wymagań Dojrzałość
procesu
Znajomość
procesu
Psychologia
jednostki
Dynamika
grupowa
Kultura
organizacji
Doświadczenie
Częstość
wykonywania
Zmienność
zastosowania
Odsetek
użytkowników o
danym profilu
Kontekst
(scenariusz)
zastosowania
10. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 10 (45)
Wielkość oprogramowania
11. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 11 (45)
Złożoność oprogramowania
12. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 12 (45)
Znajomość dziedziny i technologiiZnajomość dziedziny i technologiiZnajomość dziedziny i technologii
blogomocja.blogspot.com/2015/01/gimbaza-testerow.html
13. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 13 (45)
Wcześniejsze testowanie
Rozsądne
wymagania
Sprawdzony kod
Testy systemowe
14. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 14 (45)
Jakość wymagań (i innych działań QA)
Niezależnie do tego, czy
działamy iteracyjnie, czy
sekwencyjnie
15. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 15 (45)
co tester powinien pamiętać o północy?
when helping
doesn't help
= gdy zamiast QA mamy
tylko QC,
prawdopodobieństwo
rośnie i trzeba więcej
testów
16. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 16 (45)
Dynamika grupowa Z początku trudno ocenić, jak to
działa, ale do tego po jednym -
dwóch sprintach posłużyć może
dobra retrospektywa
17. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 17 (45)
Kultura organizacji
Zorientowanienazewnątrz
Zorientowaniedowewnątrz
Swoboda działania
Nadzór
Kultura klanowa Adhokracja
Kultura hierarchiczna Kultura rynkowa
18. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 18 (45)
Proces
19. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 19 (45)
Psychologia jednostki
Ale nie polecam,
z’eby próbować’ to
precyzyjnie obliczac’!
20. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 20 (45)
Profil użytkowania… no, warto znać
Częstość
wykonywania
Zmienność
zastosowaniaOdsetek
użytkowników o
danym profilu
Kontekst
(scenariusz)
zastosowania
21. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 21 (45)
Wymagana
intensywność i
dokładność
testów
Ryzyko awarii
Skuteczność testów w
zmniejszaniu
prawdopodobieństwa
awarii
Prawdopodobieństwo
awarii
Koszty
(skutki)
awarii
Prawdopodobieństwo
defektów
Profil
użycia
22. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 22 (45)
Koszty awarii (po wdrożeniu i przed)
•Koszty bezpośrednie (i przed, i po)
•Debugowanie
•Usuwanie
•Koszty pośrednie (po wdrożeniu)
•Działania ograniczające skutki
•Odszkodowania
•Zła sława
23. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 23 (45)
Dokładniej, dwie krzywe
Koszt naprawy i koszt wykrycia
24. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 24 (45)
Na ile
to
działa
?
kanomodel.com
25. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 25 (45)
Radosław Hofman „Software Quality Perception”
„wpadka” „wkręcić”
„obciach” „żenada”
26. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 26 (45)
satisfice.com/tools/htsm.pdf
27. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 27 (45)
Wymagana
intensywność i
dokładność
testów
Ryzyko awarii
Skuteczność testów w
zmniejszaniu
prawdopodobieństwa
awarii
Prawdopodobieństwo
awarii
Koszty
(skutki)
awarii
Prawdopodobieństwo
defektów
Profil
użycia
28. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 28 (45)
Przetestować!
Nie, lepiej
sprawdzić…
29. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 29 (45)
Testowanie na
podstawie
ryzyka w
praktyce
3. Lampki
1. Co to
znaczy?
30. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 30 (45)
Prawdopodobieństwo
Konsekwencje
Macierz ryzyka dla wymagań Tak, tylko dwa-trzy
poziomy – tego
zwykle nie da się
oszacować
dokładniej!
31. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 31 (45)
Prawdopodobieństwo
Konsekwencje
Klasyfikowanie wymagań
32. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 32 (45)
Prawdopodobieństwo
Konsekwencje
Testy
techniczne
Testy
biznesowe
Ile testować? „Testować więcej” i „testować nie tak dużo”, to
heurystyka – algorytmu na to nie ma i nie
będzie!
33. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 33 (45)
Testy akceptacyjne i
trochę
eksploracyjnych
Testy akceptacyjne i
eksploracyjne +
testy jednostkowe
Testy akceptacyjne, na
podstawie modeli oraz
eksploracyjne
Testy akceptacyjne, na
podstawie modeli oraz
eksploracyjne plus
jednostkowe i inne białej
skrzynki
Prawdopodobieństwo
Konsekwencje
Na przykład (tylko na przykład!)
34. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 34 (45)
Przykład: poziomy DO-178B
A. Katastrofa – 100% pokrycia zmodyfikowanych
warunków decyzji (MC/DC)
B. Śmierć pasażerów – 100% pokrycia decyzji
C. Obrażenia pasażerów – 100% pokrycia
instrukcji
D. Np. zmiana planu lotu – brak wymagań
E. Np. awaria systemu rozrywki – brak wymagań
35. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 35 (45)
Próba obliczeń?
• Zwiększenie pokrycia testami diagramu
przejść stanów z 1-przełączeń do 2-
przełączeń zmniejsza prawdopodobieństwo
awarii o 15%
• Pracochłonność zaprojektowania i wykonania
tych dodatkowych testów to 5 osobodni,
czego koszt jest 5.000 zł
• Koszt awarii wynosi 50.000 zł, a 15% z
50.000 to 7.500 zł – opłaca się testować
• A może warto jednak zaryzykować?
Ha, ha! Zupełny brak danych!
Raczej brak danych…
36. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 36 (45)
Wybór
strategii ryzyka
37. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 37 (45)
Podsumowanie
• Testowanie na podstawie ryzyka,
to nie algorytm, lecz heurystyka
• Jakość oszacowań zwiększa się wraz ze
znajomością specyfiki branży, organizacji oraz
technologii
• Opłaca się ją jednak stosować, aby próbować
trafniej szacować pracochłonność testów
• Nie zastępuje projektowania testów!
38. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 38 (45)
2. W
praktyce
Metoda:
lampki
1. Co to
znaczy?
39. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 39 (45)Zamiast biegania i pytania „czy można już skończyć testowanie?”
Czas(wersje)
Wielkość koła = konsekwencja ryzyka, kolor = status (malejące prawdopodobieństwo)
Raportowanie statusu
40. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 40 (45)
Oczywiście, że jak w Scrumie…
… jeśli tylko DoD jest dobre zdefiniowane
41. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 41 (45)
1. Co to znaczy?
2. W praktyce 3. Lampki
Uff, skończyliśmy
42. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 42 (45)
wymagania.org.pl
kontakt@wymagania.org.pl
43. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 43 (45)
Dobrze się bawiliśmy!
44. Testowanie na podstawie ryzyka, wersja 4 – Bogdan Bereza – bogdan.bereza@victo.eu 44 (45)
2015
Testowanie na podstawie ryzyka
Bogdan Bereza
bogdan.bereza@victo.eu