4.2 Black-Box-testtekniker Flashcards

1
Q

Vad finns det för vanliga black box testtekniker? 4

A
  • Ekvivalensklassindelning
  • Gränsvärdesanalys
  • Testning med hjälp av beslutstabeller
  • Tillståndsbaserad testning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad kallas Ekvivalensklassindelning på engelska?

A

equivalence partition, EP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad gör man i Ekvivalensklassindelning (EP)?

A

delar in data i klasser (kallas även ekvivalensklasser) baserat på förväntningen att alla element i en given klass ska behandlas på
samma sätt av testobjektet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vad är teorin bakom EP?

A

Att om ett testfall, som testar ett värde från en ekvivalensklass, upptäcker en defekt, bör denna defekt också upptäckas av testfall som testar något annat värde från samma klass. Därför räcker det med ett testfall för varje klass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad baseras klassindelningen i ekvivalensklassindelning på?

A

Alla dataelement som är relaterade till testobjektet, inklusive
indata, utdata, konfigurationsobjekt, interna värden, tidsrelaterade värden och gränssnittsparametrar.
Klasserna kan vara kontinuerliga eller diskreta, ordnade eller oordnade, ändliga eller oändliga.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad får klasser i klassindelningen i ekvivalensklassindelning inte vara/göra?

A

Klasserna får inte överlappa varandra och får inte vara tomma.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Brukar det vara lätt eller svårt att göra klassindelningen i EP?

A

Det kan vara enkelt men ofta är det komplicerat att förstå hur testobjektet kommer att behandla olika värden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad kallas klasser inom EP som innehåller giltiga värden?

A

Giltig klass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad kallas klasser inom EP som innehåller ogiltiga värden?

A

Ogiltig klass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vad är ett ogiltligt värde i EP?

A

Definitionerna av giltiga och ogiltiga värden kan variera mellan team
och organisationer.
Ogiltiga värden kan tolkas som de som ska ignoreras eller avvisas av testobjektet eller som de för vilka ingen bearbetning är definierad i testobjektspecifikationen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vad är ett giltligt värde i EP?

A

Definitionerna av giltiga och ogiltiga värden kan variera mellan team
och organisationer.
Till exempel kan giltiga värden tolkas som de som ska bearbetas av testobjektet
eller som de för vilka specifikationen definierar deras bearbetning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad är täckningsobjekten i EP?

A

Ekvivalensklasserna.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Hur uppnår man 100% täckning i EP?

A

Testfall måste innehålla alla identifierade klasser (inklusive ogiltiga klasser)
genom att täcka varje klass minst en gång.
Täckningsgraden mäts som antalet klasser som testats av
minst ett testfall, dividerat med det totala antalet identifierade klasser, och uttrycks i procent.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Hur kan ett testelement inkludera flera uppsättningar av klasser i EP? Och vad innebär det?

A

(t.ex. testelement med mer än en
indataparameter) vilket innebär att ett testfall kommer att täcka klasser från olika uppsättningar av
klasser.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vad är each choice-täckning?

A

I EP när man har i ett testfall med flera uppsättningar av klasser kan det vara bra att använda när man mäter täckning. Each Choice-täckning kräver att testfall testar varje klass från varje uppsättning klasser minst en gång. Each Choice-täckning tar inte hänsyn till kombinationer av klasser

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad bygger testtekniken gränsvärdesanalys på/BVA?

A

Att testa gränserna för ekvivalensklasser

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Vilka typer av klasser kan man använda BVA/ gränsvärdesanalys på?

A

BVA kan endast användas på ordnade klasser

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Vilka utgör gränsvärderna i gränsvärdesanalys?

A

Lägsta och högsta värderna i en klass

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Vad gör man i BVA om två element tillhör samma klass?

A

Då måste alla element mellan dem också tillhöra den klassen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Varför används BVA?

A

Eftersom utvecklare är mer benägna att göra fel vid hantering av dessa gränsvärden. Typiska defekter som hittas av BVA är gränser som är felplacerade till positioner över eller under deras avsedda positioner, eller är helt utelämnade.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Vad är skillnaden på 2-värdes BVA och 3-värdes BVA?

A

De skiljer sig åt vad gäller täckningsobjekt per gräns som måste testas för att uppnå 100 % täckning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Vad krävs i 2-värdes BVA för 100% täckning?

A

Det krävs det två täckningsobjekt för varje gränsvärde: detta
gränsvärde och dess närmaste granne som tillhör den intilliggande klassen.

För att uppnå 100 % täckning måste testfall testa alla täckningsobjekt, d.v.s. alla identifierade
gränsvärden.
Täckningen mäts som antalet testade gränsvärden dividerat med det totala antalet identifierade gränsvärden, och uttrycks i procent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Vad krävs i 3-värdes BVA för 100% täckning?

A

krävs det tre täckningsobjekt för varje gränsvärde:
detta gränsvärde och båda dess grannar
Därför kan vissa av täckningsobjekten här inte vara gränsvärden.

För att uppnå 100 % täckning med 3-värdes BVA måste testfall testa alla
täckningsobjekt, d.v.s. identifierade gränsvärden och deras grannar.

Täckningsgraden mäts som antalet testade gränsvärden och deras grannar, dividerat med det totala antalet identifierade
gränsvärden och deras grannar, och uttrycks i procent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Varför är 3 värdes BVA mer rigoröst än 2 värdes? Ge ett exempel som inte skulle hittas av 2 men hittas av 3.

A

Eftersom det kan upptäcka defekter som förbises av 2-värdes BVA.

Till exempel, om beslutspunkten
“if (x ≤ 10) …” är felaktigt implementerat som “if (x = 10) …”, kan inga testdata härledda från 2-värdes BVA (x = 10, x = 11) detektera defekten. Men x = 9, härledd från 3-värdes BVA, kommer sannolikt att upptäcka det.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Vad för typ av testteknik är BVA?
Black box
26
Vad för typ av testteknik är EP?
Black box
27
Vad för typ av testteknik är beslutstabeller?
Black box
28
Varför används beslutstabeller?
För att testa implementeringen av krav som anger hur olika kombinationer av villkor ger olika utfall. Beslutstabeller är ett effektivt sätt att registrera komplex logik, såsom verksamhetsregler.
29
Hur ser en beslutstabell ut? Tex för: Kvinnor mellan 18-64 500kr Män medelålders 1000kr Alla över 60 1500kr Under 18 - förbjudna
Man definierar villkoren och åtgärderna för systemet. I varje kolumn så har man en beslutsregel som definierar en unik kombination av villkor, tsm med tillhörande åtgärder. (tex testcase/beslutsregel 1, testcase/beslutsregel 2, testcase 3). Sen under så har jag action 1, action 2, action 3. Medan neråt för varje dag så har man de olika reglerna. (VILLKOR) Testfall 1, testfall 2, testfall 3, 4, 5, 6 Kön M, M, M, K, K, K Ålder Under 18, Medelålder, Över 60, Under 18, Medelålder, Över 60 (ÅTGÄRDER) 1000 1500 500 NA
30
Hur använder testare beslutstabeller?
Testare använder tabellen för att skriva testfall
31
Vilka värden och villkor visas i en beslutstabell?
I beslutstabeller med begränsat indata visas alla värden för villkoren och åtgärderna (förutom irrelevanta eller omöjliga, se nedan) som booleska värden (sant eller falskt). I beslutstabeller med utökat indata kan alternativt vissa eller alla villkor och åtgärder också anta flera värden (t.ex. numeriska intervall, ekvivalensklasser, diskreta värden).
32
I beslutstabeller vad betyder T?
T = True (Att villkoret är uppfyllt)
33
I beslutstabeller vad betyder F?
F = False (Att villkoret inte är uppfyllt)
34
I beslutstabeller vad betyder -?
- = Att värdet av villkoret är irrelevant för åtgärdsresultatet
35
I beslutstabeller vad betyder N/A?
att villkoret är omöjligt för en given regel
36
I beslutstabeller vad betyder X?
betyder det att åtgärden ska ske
37
I beslutstabeller vad betyder blank?
att åtgärden inte ska ske
38
Vad är en fullständig beslutstabell i beslutstabell testtekniken?
En med tillräckligt många kolumner för att täcka varje kombination av villkor
39
Hur kan man förenkla en beslutstabell?
Genom att ta bort kolumner som innehåller omöjliga kombinationer av villkor. Eller genom att slå samman kolumner till en enda kolumn, där vissa förhållanden inte påverkar resultatet
40
Vilka är täckningsobjekten i beslutstabeller? Och hur får man 100% täckning?
De kolumner som innehåller möjliga kombinationer av villkor. För att uppnå 100 % täckning med denna teknik måste testfall testa alla dessa kolumner. Täckningen mäts som antalet testade kolumner, dividerat med det totala antalet möjliga kolumner, och uttrycks i procent.
41
Vad är styrkan med beslutstabeller?
Det ger ett systematiskt angreppssätt för att identifiera alla kombinationer av villkor, av vilka några annars skulle kunna förbises. Det hjälper också till att hitta eventuella luckor eller motsägelser i kraven.
42
När ska man inte använda beslutstabeller?
Om det finns många villkor kan det vara tidskrävande att testa alla beslutsregler eftersom antalet regler växer exponentiellt med antalet villkor. I ett sådant fall kan en minimerad beslutstabell eller ett riskbaserat angreppssätt användas för att minska antalet regler som behöver testas.
43
Vad gör ett tillståndsdiagram?
Det är en testteknik där ett diagram visar beteendet hos ett system. Det visar systemets olika möjliga tillstånd och övergångarna mellan dem.
44
Hur brukar en övergång i tillståndbaserad testning se ut?
"händelse [vaktvillkor] / åtgärd". (En övergång initieras av en händelse, som dessutom kan vara styrd av ett logiskt villkor (vaktvillkor). Övergångarna antas vara omedelbara och kan ibland leda till att programvaran vidtar åtgärder.) Vaktvillkor och åtgärder kan utelämnas om de inte finns eller är irrelevanta för testaren.
45
Vad är en tillståndtabell?
Det motsvarar ett tillståndsdiagram. Raderna representerar tilllstånd och kolumner representerar händelser/vaktvillkor. Cellerna representerar övergångar / måltillståndet / resulterande åtgärder
46
Vad är stora skillnaden mellan tillstånddiagram och tillståndtabell?
Tillståndstabell visar uttryckligen ogiltiga övergångar , genom tomma rader
47
Hur ser ett testfall baserat på ett tillståndsdiagram / tillståndstabell vanligtis ut?
I form av en sekvens av händelser vilket resulterar i en sekvens av tillståndsändringar . Testfallen brukar ofta täcka flera övergångar mellan tillstånd.
48
Vad finns det för täcknignskriterier för tillståndsbaserad testning?
Många olika, tex täckning av alla tillstånd, täckning av giltiga övergångar och täckning av alla övergångar.
49
Hur fungerar täckning av alla tillstånd i tillståndsbaserad testning?
Täckningsobjekten är tillstånden. För att uppnå 100 % täckning för alla tillstånd måste testfallen säkerställa att alla tillstånd är exekverade. Täckningen mäts som antalet exekverade tillstånd dividerat med det totala antalet tillstånd, och uttrycks i procent.
50
Enligt tillståndsbaserad testning med täckning av alla tillstånd, vad är 100% täckning? Singel -> Gift -> Separerad -> Änka /eller ---> Skiljd Skiljd -> gift Änka -->gift
5 (Fem olika tillstånd (antalet runda ringar)
51
Tillståndsbaserade tabeller brukar visa endast giltiga övergångar eller både giltiga och ogiltiga?
Båda
52
Tillståndsbaserade diagram brukar visa endast giltiga övergångar eller både giltiga och ogiltiga?
Oftast bara giltiga
53
Enligt tillståndsbaserad testning med täckning av av alla giltiga övergångar, vad är 100% täckning? Singel -> Gift -> Separerad -> Änka /eller ---> Skiljd Skiljd -> gift Änka -->gift
6 (pilarna som är möjliga mellan ringarna)
54
Om man ska göra täckning av alla övergångar, är det bättre att använda tillståndsbaserat diagram eller tabell?
Tabell
55
Villken typ av täckning är bäst enligt tillståndsbaserad testning?
Att testa alla övergångar, då det garanterar både alla giltiga övergångar och alla giltiga tillstånd samtidigt.
56
57
Hur fungerar täckning av giltiga övergångar i tillståndsbaserad testning?
Täckningsobjekten är enskilda giltiga övergångar. För att uppnå 100 % giltig övergångstäckning måste testfall testa alla giltiga övergångar. Täckningen mäts som antalet exekverade giltiga övergångar dividerat med det totala antalet giltiga övergångar, och uttrycks i procent.
58
Hur testar man ogiltiga övergångar i tillståndsbaserad testning?
Man försöker exekvera en övergång även om det inte ska fungera
59
Var brukar man använda tillståndsbaserad testning?
I embedded industrin, men även bra inom business
60
Om det i en tillståndsdiagram är en pil till "singel", ska den räknas enligt giltiga övergångar
Nej, även om det på bild är en pil så föds man ju singel.
61
Hur ska man göra om frågan är vilken är det minsta antalet testfall för att få få full täckning enligt giltiga övergångar i ett beslutsdiagram?
Att man inte får lyfta pennan. Börja på den första och kom till slutet, hur många gånger måste jag börja om för att alla pilar ska blivit träffade minst en gång? Det kan fortfarande finnas massa fler sätt att komma till sista rutan men det behövs bara korsas en gång på vilket sätt som helst.
62
I tillståndsdiagram: Vad betyder de olika? ord1 [ord2] / ord3
ord1 = Trigger (Det som triggar / en handling, tex Lägg till eller Skriv på ) Ord2 = Vakt - det som gör att händelsen inte kan ske (Tex: max 4 st) Ord3 = Beteende (det som sker)
63
63
64
Hur fungerar täckning av alla övergångar i tillståndsbaserad testning?
Täckningsobjekten är alla övergångar som visas i en tillståndstabell. För att uppnå 100 % täckning av alla övergångar måste testfallen exekvera alla giltiga övergångar och försöka exekvera ogiltiga övergångar. Att testa endast en ogiltig övergång i ett enda testfall hjälper till att undvika felmaskering, dvs en situation där en defekt förhindrar upptäckten av en annan. Täckning mäts som antalet giltiga och ogiltiga övergångar som exekverats eller försökt täckas av genomförda testfall, dividerat med det totala antalet giltiga och ogiltiga övergångar, och uttrycks i procent
65
Vad är bäst: täckning av alla tillstånd eller täckning av giltiga övergångar?
Täckning av giltiga övergångar, eftersom den vanligtvis kan uppnås utan att exekvera alla övergångar. Giltig övergångstäckning är det mest använda täckningskriteriet.
66
Garanterar full giltig övergångstäckning full täckning av alla tillstånd?
Att uppnå full täckning av alla övergångar garanterar både full täckning av alla tillstånd och full giltig täckning av övergångar och bör vara ett minimikrav för verksamhets- och säkerhetskritisk programvara.
67
Ett annat ord för täckning av giltiga övergångar?
0-switch-täckning
68
Vad kan man testa i black box testtekniker?
Allt från testvillkor, testfall, testdata (mjukvara, krav, specifikationer, models, användarfall, användarberättelser)
69
Vad försöker man hitta i black box tekniker?
Tex för att hitta skillnaden mellan krav och implemenrationen
70
Om ett inputfält bara ska ta emot värden för ålder mellan 20 till 50. Enligt EP: Vilka värden ska testas?
Ett test under 20 = 10 Ett test mellan 20 och 50 = 40 Ett test över 50 = 60
71
Om man ska ta EP, vilka klasser ska man testa? En rabatt är 0 % upp till 500kr. 5% extra för varje 500kr upp till 2000kr. 25% rabatt för alla värden över 2000kr.
0-500 tex 250 501-1000 700 1001-1500 1400 1501-2000 1800 2000-> 4000
72
Hur många testfall kan man ha i varje klass i EP?
1 i varje partition
73
Hur ska man testa när man ska testa ogiltiga partitions i EP?
Man ska testa värdes som inte accepteras av systemet, men man ska testa de ogiltiga individuellt (inte kombinerad med andra ogiltiga klasser för systemet kommer bara säga nej och man vet inte på grund av vilket fel).
74
Ge exempel på varför man inte kan göra två ogiltiga testfall samtidigt i EP?
Om man har inlogg så kanske man har att man måste ha ett viss längd på lösenord, samt vi
75
Hur många testfall ska det enligt EP vara i följande fall? (Både för giltiga och både ogiltiga och giltiga) Ett användarnamn måste ha: 1-6 tecken Börja mellan A-Z Innehålla A-Z och 0-9
Vad: Giltiga klasser: Ogiltiga klasser: Längd: 1-6 0 tecken + över 6 tecken Börjar med: A-Z Börjar med något annat Innehåller: A-Z och 0-9 Har något annat = 7 olika för både giltiga och ogiltiga och 3 för giltiga.
76
Hur många testfall är det minimum antalet av OUTPUT klasser enligt EP vara i följande fall? ( Ett användarnamn måste ha: 1-6 tecken Börja mellan A-Z Innehålla A-Z och 0-9
2. Antingen fungerar användarnamnet eller ej.
77
Kan man göra klasserna i EP mindre?
Ja varje klassindelning kan bli dividerad till sub-klasser.
78
Om man vill ha 100% täckning i EP, måste man ha med ogiltiga klasser?
Ja
79
Vad är täckningsgraden i EP för ett användarnamn om man gjort 4 testfall för följande fall? Ett användarnamn måste ha: 1-6 tecken Börja mellan A-Z Innehålla A-Z och 0-9
4/7 x 100 = 57%
80
Hur många klassindelningar är det i exemplet nedan enligt EP? Välj tilltal: Mr, Mrs, Miss, Dr Välj land: USA, Canada, Afghanistan
Om vilket land man väljer ändrar hur mjukvaran beter sig så ska varje land vara en egen klassindelning. Men om inte så ska alla länder vara samma klass.
81
Hur många klassindelningar enligt EP för följande exempel? Skärmresolutionen kan vara: 640x480 1200x3000 1600x4000 1920x1000
Eftersom skärmen kan agera olika beroende på resolution så måste varje upplösning vara en egen klass. Så 4.
82
Hur många klassindelningar ska det vara enligt EP i fallet nedan? Man kan välja i dropdownlistor: Lista 1 Ålder: <20, mellan 20-50, över 50 Lista 2 land: Egypten, Kanada, USA, Indien
4. För att man behöver bara testa varje en gång och den lista med flest alternativ har 4 (länder). Så tex 19, Egypten 40, Kanada 60, USA (45), Indien
83
Om de i istqb-testet inte specificerar vilken BVA -teknik som ska användas vad är det man ska anta då?
2-värdes
84
Hur många testfall är det enligt BVA 2-stegs i följande fråga? Ålder mellan 20-50 år.
5. 0, 19, 20, 50, 51
85
Hur många testfall är det enligt BVA 2-stegs i följande fråga? Ålder mellan 20-50 år.
7 0, 19, 20, 21, 49, 50, 51
86
Om man i följade fråga gör 3 testfall men 2-värdes BVA efterfrågas, hur stor är täckningsgraden? Ålder mellan 20-50 år.
3/5 x 100 = 60%
87
Vilka testfall ska man ha enligt BVA? Bank kostar 0 % om man har mindre än 500kr, 2% för mindre än 1000kr, och 4% för 1000 eller mer.
0, 499, 500, 999, 1000 5 (Om varför inte det ska vara med än 1000 typ 1001: Det ska bara vara ett testfall för varje klass, och 1000 är en för den högsta klassen)
88
I en beslutstabell, hur räknar jag antalet testfall för full täckning?
Genom att räkna ----> åt höger