4.2 Black-Box-testtekniker Flashcards
Vad finns det för vanliga black box testtekniker? 4
- Ekvivalensklassindelning
- Gränsvärdesanalys
- Testning med hjälp av beslutstabeller
- Tillståndsbaserad testning
Vad kallas Ekvivalensklassindelning på engelska?
equivalence partition, EP
Vad gör man i Ekvivalensklassindelning (EP)?
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.
Vad är teorin bakom EP?
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
Vad baseras klassindelningen i ekvivalensklassindelning på?
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.
Vad får klasser i klassindelningen i ekvivalensklassindelning inte vara/göra?
Klasserna får inte överlappa varandra och får inte vara tomma.
Brukar det vara lätt eller svårt att göra klassindelningen i EP?
Det kan vara enkelt men ofta är det komplicerat att förstå hur testobjektet kommer att behandla olika värden
Vad kallas klasser inom EP som innehåller giltiga värden?
Giltig klass
Vad kallas klasser inom EP som innehåller ogiltiga värden?
Ogiltig klass
Vad är ett ogiltligt värde i EP?
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.
Vad är ett giltligt värde i EP?
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.
Vad är täckningsobjekten i EP?
Ekvivalensklasserna.
Hur uppnår man 100% täckning i EP?
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.
Hur kan ett testelement inkludera flera uppsättningar av klasser i EP? Och vad innebär det?
(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.
Vad är each choice-täckning?
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
Vad bygger testtekniken gränsvärdesanalys på/BVA?
Att testa gränserna för ekvivalensklasser
Vilka typer av klasser kan man använda BVA/ gränsvärdesanalys på?
BVA kan endast användas på ordnade klasser
Vilka utgör gränsvärderna i gränsvärdesanalys?
Lägsta och högsta värderna i en klass
Vad gör man i BVA om två element tillhör samma klass?
Då måste alla element mellan dem också tillhöra den klassen
Varför används BVA?
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.
Vad är skillnaden på 2-värdes BVA och 3-värdes BVA?
De skiljer sig åt vad gäller täckningsobjekt per gräns som måste testas för att uppnå 100 % täckning
Vad krävs i 2-värdes BVA för 100% täckning?
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
Vad krävs i 3-värdes BVA för 100% täckning?
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
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.
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.