View
739
Download
3
Embed Size (px)
Citation preview
Wojna dwóch róż, czyli Lancasterowie i Yorkowie stosują
psychologię w testowaniu
Adam Roman
Instytut Informatyki i Matematyki Komputerowej UJ
TestWarez 2015
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
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łę
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ą
MECHANIZMY PSYCHOLOGICZNE
EFEKT POTWIERDZENIA (EKSPERYMENT WASONA)
test negatywny, niepewne potwierdzenie T H
H T
T H
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
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!
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 jest Konstrukcja 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
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
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
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
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
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) {
…
}
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
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
PROBLEM SUKCESJI
PRZYKŁAD – CZY ROZUMIEMY ZASADY? REGUŁY LOGICZNE!
kolejność dzieci = starszeństwo
potomek
martwy potomek
PROBLEM SUKCESJI
PRZYKŁAD – CZY ROZUMIEMY ZASADY? REGUŁY LOGICZNE!
kolejność dzieci = starszeństwo
potomek
martwy potomek
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.
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
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
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
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
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ć
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
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
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!)
PROBLEM SUKCESJI
PODEJŚCIE ANALITYCZNE – SYSTEMATYCZNE TWORZENIE KOMBINACJI
…
Liczba potomków króla
Płeć i kolejność potomków króla
itd. …
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
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!)
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
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
• 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