Wystąpienie złożone będzie z 3 zasadniczych części. W części pierwszej omówię kilka mechanizmów psychologicznych o niezwykle silnych implikacjach praktycznych dla pracy testerów. Pokażę z jakich zasad psychologicznych (!) wynika efektywność formalnych technik projektowania testów. Postaram się również uzasadnić empirycznie, dlaczego tak ważne jest porozumiewanie się z klientem w języku biznesu. Zobaczymy również dlaczego jedną z kluczowych cech testera musi być kreatywność, nieszablonowe myślenie i znajomość… logiki!
Testy dwóch róż – czyli Lancasterowie i Yorkowie poznają psychologię testowania
1. Wojna dwóch róż, czyli
Lancasterowie i Yorkowie stosują
psychologię w testowaniu
Adam Roman
Instytut Informatyki i Matematyki Komputerowej UJ
TestWarez 2015
2. 1. Mechanizmy
psychologiczne
Efektywne testy
podstawa dla
2. Praktyczny
problem testowy
pozwalają dobrze
przetestować
3. Model
Techniki
białoskrzynkowe
pokrywają
Podejście
analityczne
generuje
testy
wykorzystuje
wpływają na
PLAN PREZENTACJI
8. MECHANIZMY PSYCHOLOGICZNE
EFEKT POTWIERDZENIA (EKSPERYMENT WASONA)
Odgadnij regułę, według której akceptowane są trójki liczb
Trójka (2, 4, 6) spełnia regułę (jest akceptowana)
Dla każdej podanej przez Ciebie trójki otrzymasz odpowiedź,
czy spełnia ona regułę
10. MECHANIZMY PSYCHOLOGICZNE
EFEKT POTWIERDZENIA (EKSPERYMENT WASONA)
Reguła brzmi: „dowolna sekwencja rosnąca”. W eksperymencie
przeprowadzonym przez Wasona badani mieli duże trudności
z jej odgadnięciem, często zakładając bardziej skomplikowane
reguły
Badani przeprowadzali testy jedynie, aby
potwierdzić swoje przypuszczenia
Krytyczny racjonalizm: hipoteza naukowa musi być
przetestowana przez próbę falsyfikacji
Ludzie próbują raczej potwierdzać niż zaprzeczać
Klayman & Ha: ludzie nie tyle mają tendencję do potwierdzania, co
do przeprowadzania testów zgodnych z założoną opinią
11. MECHANIZMY PSYCHOLOGICZNE
EFEKT POTWIERDZENIA (EKSPERYMENT WASONA)
test negatywny, niepewne potwierdzenieT H
H T
TH
test negatywny, zdecydowana falsyfikacja
test pozytywny, niepewne potwierdzenie
test negatywny, niepewne potwierdzenie
test negatywny, zdecydowana falsyfikacja
test pozytywny, niepewne potwierdzenie
test pozytywny, zdecydowana falsyfikacja
test negatywny, niepewne potwierdzenie
test pozytywny, zdecydowana falsyfikacja
test pozytywny, niepewne potwierdzenie
12. MECHANIZMY PSYCHOLOGICZNE
EFEKT POTWIERDZENIA (EKSPERYMENT WASONA)
Klayman & Ha – potwierdzenie ich hipotezy:
Trójki liczb klasyfikowane jako „DAX” i „MED”, zamiast
informacji „zgodna z regułą”, „niezgodna z regułą”
Pozwoliło to uniknąć sugerowania, że celem jest znalezienie
jakiejś specyficznej reguły
W tej wersji badani uzyskiwali znacznie lepsze rezultaty
Należy testować swoje hipotezy tak, aby
uzyskać jak najwięcej informacji
to właśnie leży u podstaw formalnych technik projektowania testów!
13. CEL TESTOWANIA
Wykazać, że testowany
program nie zawiera
błędów
Wykazać, że testowany
program zawiera
mnóstwo błędów
Podświadome dążenie
do przekonania, że tak
rzeczywiście jestKonstrukcja złych
(słabych) przypadków
testowych
Brak objawów błędów
Większe przekonanie,
że w programie nie ma
błędów
Dobrze
skonstruowane,
przemyślane testy
Większe
prawdopodobieństwo
wykrycia błędu!
MECHANIZMY PSYCHOLOGICZNE
IMPLIKACJE EFEKTU POTWIERDZENIA W TESTOWANIU
14. MECHANIZMY PSYCHOLOGICZNE
TEST SELEKCJI WASONA
Przygotowanie do eksperymentu
Podział słuchaczy na dwie równe grupy
Grupa pierwsza za chwilę zobaczy zadanie na slajdzie. Będzie miała
minutę na rozwiązanie zadania. Rozwiązanie należy zapisać na
kartce lub zapamiętać
Grupa druga proszona jest o to, aby przez chwilę nie patrzeć na
ekran
16. MECHANIZMY PSYCHOLOGICZNE
TEST SELEKCJI WASONA
Na stole leżą 4 karty, zgodnie z rysunkiem. Każda karta ma liczbę
po jednej i kolor po drugiej stronie. Na widocznych stronach kart
widnieją: 3, 8, kolor czerwony, kolor niebieski. Którą/które z nich należy
koniecznie odwrócić, aby sprawdzić, czy prawdziwe jest twierdzenie:
jeśli karta zawiera parzystą liczbę z jednej strony, to jej druga strona
jest czerwona
8
18. MECHANIZMY PSYCHOLOGICZNE
TEST SELEKCJI WASONA
Na stole leżą 4 karty, zgodnie z rysunkiem. Każda ma wiek osoby po
jednej i pity przez nią napój po drugiej stronie (piwo lub wodę). Na
widocznych stronach kart widnieją: 16, 25, piwo, woda. Którą/które
należy koniecznie odwrócić, aby sprawdzić, czy prawdziwe
jest twierdzenie:
jeśli ktoś pije alkohol, to ma co najmniej 18 lat
25
19. MECHANIZMY PSYCHOLOGICZNE
TEST SELEKCJI WASONA
Prawidłowa odpowiedź:
Grupa 1
karty: 8 i niebieska
Grupa 2
karty: 16 i piwo
implikacja A → B jest nieprawdziwa tylko, gdy A jest prawdziwe
a B nieprawdziwe; więc tylko dla karty z parzystą liczbą z jednej
strony i kolorem niebieskim z drugiej
Policzmy poprawne odpowiedzi w obu grupach.W której jest więcej?
(egz. z testowania, 102 studentów – pytanie w wersji dla Grupy 1
– 58% błędnych odpowiedzi)
8
25
20. MECHANIZMY PSYCHOLOGICZNE
TEST SELEKCJI WASONA – IMPLIKACJE DLA TESTOWANIA
Ludzie rozwiązują test łatwiej, gdy przedstawi się go w postaci
problemu dotyczącego stosunków społecznych lub dotyczących
tego, czy z jakichś przywilejów korzystają wyłącznie ci, którzy
są do tego uprawnieni
Ten sam test używający pojęć abstrakcyjnych wypada gorzej!
WNIOSKI
1. Logika jest ważna!
2. Używać języka odbiorcy!
x=1; i=0;
while (!(x==1) || i>=0) {
…
}
21. Gwidon jest najlepszym testerem wśród programistów i
jednocześnie najlepszym programistą wśród testerów. Wtedy :
A) Zbiór testerów nie może pokrywać się ze zbiorem programistów.
B) Gwidon może być jednocześnie najgorszym programistą i
najgorszym testerem.
C) Gwidon musi być najlepszym testerem lub najlepszym
programistą.
D) Jeśli jakiś tester jest jednocześnie programistą, może być
lepszym testerem od Gwidona.
E) Część wspólna zbioru testerów i programistów musi być
niepusta.
• 102 studentów, 40% odpowiedzi niepoprawnych!
MECHANIZMY PSYCHOLOGICZNE
LOGIKA (!) PYTANIE EGZAMINACYJNE NA EGZAMINIE Z TESTOWANIA, Inst. Inf. UJ
22. PROBLEM SUKCESJI
SPECYFIKACJA PROBLEMU
Wojna dwóch róż – problem sukcesji tronu
Zasada sukcesji: primogenitura w linii męskiej
Reguły:
• najstarszy syn monarchy i jego zstępni mają pierwszeństwo
przed jego rodzeństwem i ich zstępnymi
• starszy syn ma pierwszeństwo przed młodszym, ale synowie
mają pierwszeństwo przed córkami
• dzieci reprezentują zmarłych przodków i starsza linia
pochodzenia ma zawsze pierwszeństwo nad młodszą, w ramach
każdej z płci
WEJŚCIE: drzewo genealogiczne z zaznaczonym zmarłym
monarchą
WYJŚCIE: następca tronu
23. PROBLEM SUKCESJI
PRZYKŁAD – CZY ROZUMIEMY ZASADY? REGUŁY LOGICZNE!
kolejność dzieci = starszeństwo
potomek
martwy
potomek
24. PROBLEM SUKCESJI
PRZYKŁAD – CZY ROZUMIEMY ZASADY? REGUŁY LOGICZNE!
kolejność dzieci = starszeństwo
potomek
martwy
potomek
25. PROBLEM SUKCESJI
JAK METODYCZNIE WYPROWADZIĆ EFEKTYWNE TESTY?
Opisywać testy językiem biznesowym (biznes = królestwo,
dziedziczenie, potomkowie, tron itp.)
Pamiętać o efekcie potwierdzenia! Każdy test ma sprawdzić
możliwie odmienną od dotychczas przetestowanych części
programu.
Wykorzystać formalne techniki projektowania testów (dobrze
zrealizują efekt potwierdzenia)
Out of the box thinking – wartościowe dopełnienie technik.
28. PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – WYŁAPANIE WSZYSTKICH KLUCZOWYCH TERMINÓW
Wojna dwóch róż – problem sukcesji tronu
Zasada sukcesji: primogenitura w linii męskiej
Reguły:
• najstarszy syn monarchy i jego zstępni mają pierwszeństwo
przed jego rodzeństwem i ich zstępnymi
• starszy syn ma pierwszeństwo przed młodszym, ale synowie
mają pierwszeństwo przed córkami
• dzieci reprezentują zmarłych przodków i starsza linia
pochodzenia ma zawsze pierwszeństwo nad młodszą, w ramach
każdej z płci
WEJŚCIE: drzewo genealogiczne z zaznaczonym zmarłym
monarchą
WYJŚCIE: następca tronu
29. PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – WYŁAPANIE WSZYSTKICH KLUCZOWYCH TERMINÓW
Wojna dwóch róż – problem sukcesji tronu
Zasada sukcesji: primogenitura w linii męskiej
Reguły:
• najstarszy syn monarchy i jego zstępni mają pierwszeństwo
przed jego rodzeństwem i ich zstępnymi
• starszy syn ma pierwszeństwo przed młodszym, ale synowie
mają pierwszeństwo przed córkami
• dzieci reprezentują zmarłych przodków i starsza linia
pochodzenia ma zawsze pierwszeństwo nad młodszą, w ramach
każdej z płci
WEJŚCIE: drzewo genealogiczne z zaznaczonym zmarłym
monarchą
WYJŚCIE: następca tronu
kolejność dzieci
30. PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – WYŁAPANIE WSZYSTKICH KLUCZOWYCH TERMINÓW
Wojna dwóch róż – problem sukcesji tronu
Zasada sukcesji: primogenitura w linii męskiej
Reguły:
• najstarszy syn monarchy i jego zstępni mają pierwszeństwo
przed jego rodzeństwem i ich zstępnymi
• starszy syn ma pierwszeństwo przed młodszym, ale synowie
mają pierwszeństwo przed córkami
• dzieci reprezentują zmarłych przodków i starsza linia
pochodzenia ma zawsze pierwszeństwo nad młodszą, w ramach
każdej z płci
WEJŚCIE: drzewo genealogiczne z zaznaczonym zmarłym
monarchą
WYJŚCIE: następca tronu
kolejność dzieci
liczba dzieci
31. PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – WYŁAPANIE WSZYSTKICH KLUCZOWYCH TERMINÓW
Wojna dwóch róż – problem sukcesji tronu
Zasada sukcesji: primogenitura w linii męskiej
Reguły:
• najstarszy syn monarchy i jego zstępni mają pierwszeństwo
przed jego rodzeństwem i ich zstępnymi
• starszy syn ma pierwszeństwo przed młodszym, ale synowie
mają pierwszeństwo przed córkami
• dzieci reprezentują zmarłych przodków i starsza linia
pochodzenia ma zawsze pierwszeństwo nad młodszą, w ramach
każdej z płci
WEJŚCIE: drzewo genealogiczne z zaznaczonym zmarłym
monarchą
WYJŚCIE: następca tronu
kolejność dzieci
liczba dzieci
liczba zstępnych
32. PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – WYŁAPANIE WSZYSTKICH KLUCZOWYCH TERMINÓW
Wojna dwóch róż – problem sukcesji tronu
Zasada sukcesji: primogenitura w linii męskiej
Reguły:
• najstarszy syn monarchy i jego zstępni mają pierwszeństwo
przed jego rodzeństwem i ich zstępnymi
• starszy syn ma pierwszeństwo przed młodszym, ale synowie
mają pierwszeństwo przed córkami
• dzieci reprezentują zmarłych przodków i starsza linia
pochodzenia ma zawsze pierwszeństwo nad młodszą, w ramach
każdej z płci
WEJŚCIE: drzewo genealogiczne z zaznaczonym zmarłym
monarchą
WYJŚCIE: następca tronu
kolejność dzieci
liczba dzieci
liczba zstępnych
płeć
33. PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – WYŁAPANIE WSZYSTKICH KLUCZOWYCH TERMINÓW
Wojna dwóch róż – problem sukcesji tronu
Zasada sukcesji: primogenitura w linii męskiej
Reguły:
• najstarszy syn monarchy i jego zstępni mają pierwszeństwo
przed jego rodzeństwem i ich zstępnymi
• starszy syn ma pierwszeństwo przed młodszym, ale synowie
mają pierwszeństwo przed córkami
• dzieci reprezentują zmarłych przodków i starsza linia
pochodzenia ma zawsze pierwszeństwo nad młodszą, w ramach
każdej z płci
WEJŚCIE: drzewo genealogiczne z zaznaczonym zmarłym
monarchą
WYJŚCIE: następca tronu
kolejność dzieci
liczba dzieci
liczba zstępnych
płeć
żywy/martwy
34. PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – CATEGORY-PARTITION
Kategoria Podział
Typ osoby Monarcha, potomek, przodek, rodzeństwo
Liczba dzieci 0, 1, więcej niż 1
Kolejność S > S, S > C, C > C, C > S
Liczba zstępnych 0, 1, więcej niż 1
Płeć Syn, córka
Aktywność Żywy, martwy
Idea: wykorzystać kombinacje powyższych do konstruowania testów
Np.: monarcha ma więcej niż 1 potomka
potomkowie to syn, córka i syn
najstarszym potomkiem jest syn, potem córka, potem drugi syn
najstarszy syn ma 0 zstępnych, drugi syn jest martwy
córka ma 1 zstępnego i jest to syn
35. PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – CATEGORY-PARTITION
Kategoria Podział
Typ osoby Monarcha, potomek, przodek, rodzeństwo
Liczba dzieci 0, 1, więcej niż 1
Kolejność S > S, S > C, C > C, C > S
Liczba zstępnych 0, 1, więcej niż 1
Płeć Syn, córka
Aktywność Żywy, martwy
Idea: wykorzystać kombinacje powyższych do konstruowania testów
Np.: monarcha ma więcej niż 1 potomka
potomkowie to syn, córka i syn
najstarszym potomkiem jest syn, potem córka, potem drugi syn
najstarszy syn ma 0 zstępnych, drugi syn jest martwy
córka ma 1 zstępnego i jest to syn
SYSTEMATYCZNE
TWORZENIE KOMBINACJI
DOBRZE POKRYJE
ALGORYTM (efekt
potwierdzenia!)
38. PROBLEM SUKCESJI
THINKING OUT OF THE BOX
Uwzględnienie błędnych danych wejściowych!
(BTW, X może być pogrobowcem, wtedy chyba jest OK?)
X
39. PROBLEM SUKCESJI
THINKING OUT OF THE BOX
Przypadek typu „Gra o tron” – wszyscy potomkowie martwi ;-)
(BTW: w takim przypadku chyba istotna jest informacja o
rodzeństwie króla – pytanie, jak „szerokie” ma być otoczenie
króla w drzewie, nie tylko jego potomków, ale i wstępnych
oraz rodzeństwa!)
40. TESTOWANIE OPARTE O MODEL
PODEJŚCIE WYKORZYSTUJĄCE TABLICE DECYZYJNE
1 2 3 4 5 6 7 8 9
WARUNKI
ma NS? T T N N N N N N N
NS żyje? T N - - - - - - -
ma NC? - - T T N N N N N
NC żyje? - - T N - - - - -
ma NB? - - - - T T N N N
NB żyje ? - - - - T N - - -
ma NSi? - - - - - - T T N
NSi żyje? - - - - - - T N -
AKCJE
następca NNS - NNC - NNB - NNSi - -
oznaczyć jako
analizowany?
- T - T - T - T T
kto do dalszej analizy? - NNS - NNC - NNB - NNsi przodek
NS/NC/NB/NSi = nieanalizowany syn/córka/brat/siostra
41. załóżmy, że drzewo podawane w formie tekstowej:
nazwisko data ur. ojciec
Edward III 1312 -
Edward 1330 Edward III
Ryszard II 1367 Edward
Jan z Gandawy 1340 Edward III
Henryk IV 1366 Jan z Gandawy
Edmund z York 1341 Edward III
Ryszard 1375 Edmund z York
Jakie dodatkowe rzeczy można przetestować?
np.: poprawność dat, dwoje synów o tej samej dacie urodzenia,
dziecko o dacie urodzenia wcześniejszej niż ojciec, poprawność nazwisk
(puste pola, znaki specjalne, zbyt długie nazwy), błędna struktura pliku…
TESTOWANIE API
WPŁYW POSTACI DANYCH WEJŚCIOWYCH NA MOŻLIWOŚCI TESTOWE
Edward III
Edward
Jan
z Gandawy
Edmund
z York
Ryszard II Henryk IV Ryszard
42. • mechanizmy psychologiczne mają wpływ na testowanie
– efekt potwierdzenia (skuteczność technik proj. testów)
– test selekcji (logika; rola języka w komunikacji)
– thinking out of the box (kreatywność wspomagająca formalne
techniki projektowania testów)
• podejście analityczne (w tym oparte na modelu) pozwala
na systematyczne i dokładne przetestowanie nawet
złożonych systemów oraz skomplikowanych reguł
biznesowych
• u źródeł podejścia analitycznego leży m.in. psychologia!
PODSUMOWANIE
WNIOSKI