testy dwóch róż – czyli lancasterowie i yorkowie poznają psychologię testowania

43
Wojna dwóch róż, czyli Lancasterowie i Yorkowie stosują psychologię w testowaniu Adam Roman Instytut Informatyki i Matematyki Komputerowej UJ TestWarez 2015

Upload: stowarzyszenie-jakosci-systemow-informatycznych-sjsi

Post on 14-Apr-2017

739 views

Category:

Leadership & Management


3 download

TRANSCRIPT

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

KREATYWNOŚĆ

MECHANIZMY PSYCHOLOGICZNE

KREATYWNOŚĆ

MECHANIZMY PSYCHOLOGICZNE

KREATYWNOŚĆ

THINK OUTSIDE THE BOX!

THINK OUTSIDE THE BOX!

MECHANIZMY PSYCHOLOGICZNE

KREATYWNOŚĆ

4x ?

MECHANIZMY PSYCHOLOGICZNE

KREATYWNOŚĆ

4x ?

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)

UWAGA SPOILER!

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

ZAGADKA DLA GRUPY PIERWSZEJ

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

ZAGADKA DLA GRUPY DRUGIEJ

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

CZY TE DWA TESTY SĄ „ISTOTNIE INNE”?

PROBLEM SUKCESJI

A TE?

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

Zmarły monarcha nie musi być przecież w korzeniu drzewa

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

czas na pytania…?