Testning Flashcards

1
Q

Förklara vad whitebox- respektive blackbox-testning innebär

A

Whitebox har man tillgång till källkod, det har man inte i blackbox

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

Ge exempel på ett testcase där whitebox-testning är att föredra, samt ett testcase där blackboxtestning är att föredra. Motivera varför i respektive fall.

A

Blackbox är att föredra när man ska kolla funktionaliteten och whitebox när man kollar allt, även design.

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

Förklara vad TDD – Test Driven Development – innebär

A

TDD är att skriva atomiserad test-kod (innan programkod) som failar för att sedan skriva precis så mycket som krävs för att den ska gå igenom.

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

Vad finns det för för- och nackdelar med TDD?

A

Fördelar: Kom igång lättare, skapar självförtroende.
Nackdelar: Tar längre tid. Kan vara svårt att tillämpa på äldre kod.

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

Förklara vad BDD – Behavior Driven Development – innebär.

A

En förlängning av TDD. I BDD är testfall skrivna på ett naturligt språk som även icke-programmerare kan läsa.
”Given, When, Then”

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

Vad finns det för för- och nackdelar med BDD?

A

Fördelar: Ger en bra test-teckning, man testar allt i produkten. Alla kan förstå det, inte bara programmerare.
Nackdelar: Skriver man en dålig BDD blir det ett dåligt test. Tar längre tid.

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

Förklara vad utforskande testning innebär.

A

Innebär att man manuellt går igenom en produkt. Man antecknar det man gör. Man rapporterar inte bara buggar utan även fel i gränssnitt mm.

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

Är påståendet “utforskande testning är alltid det första ledet i all testning” sant eller falskt?
Motivera!

A

Ja, man måste utforska och tänka hur man ska lösa problemet innan man skriver tester.

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

Vad är regressionstestning?

A

Att testa en produkt efter att ändringar har gjorts för att säkerställa att inga nya buggar har kommit till som ett resultat av ändringarna.
Viktig i all kodning då det är lätt hänt att man ändrar på en sak så slutar en annan att fungera.

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

Är manuell regressionstestning effektivt och ekonomiskt försvarbart? Eller bör regressionstestning
alltid genomföras automatiserat? Motivera!

A

Kan vara det om projektet är väldigt litet eller kort. Annars är AT att föredra då det sparar tid, om prestandan behöver testas, minimerar risken att missa något som den mänskliga faktorn kan göra.

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

Vad innebär automatiserad testning? Beskriv tre exempel på olika former av automatiserad testning

A

Enhetstestning
End-point-testning
Gränssnitttestning
AT innebär att man skriver programkod som testat programvara.

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

Ge exempel på två testcase där automatiserad testning är att föredra, samt två där manuell testning
är att föredra. Motivera!

A

AT = Endpoint-testing, enhetstestning (så man kan jobba enligt TDD)
MT = Utforskande testning av tex en hemsida (måste vara manuellt), användbarhetstester

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

Vad är ett smoke test? Förklara

A

Testa programvara för att avgöra om programmet är stabil eller inte.
När du röktestar programvara kör du flera olika tester för att kontrollera programmets kärnfunktioner.

Hans svar:
Viktigt att göra vid en överlämning. + det ovan.

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

När i testprocessen är det relevant att göra smoke tests?
Förklara med fokus på olika (yrkes)roller och deras samverkan när och varför dessa tester är särskilt
viktiga.

A

Framförallt vid överlämning mellan olika team. För att säkerställa att allt fungerar när man lämnar över.
Från utvecklare till testare.

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

Vilka yrkesroller är involverade i testning av mjukvara? Nämn minst 3 stycken, samt förklara varför
personer med denna yrkesroll bör vara involverade i testning av mjukvara.

A

Utvecklare – skriver tester
Testare – som testar all kod
Testledare – Huvudansvaret för testning. Leder ett team av testare och tar ansvar för hela testningen.

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

Vilka kunskaper behöver man ha kring testning av mjukvara för att kunna räknas som kompetent i
sin yrkesroll? Svara utifrån vilka yrkesroller du har valt i föregående fråga. Motivera!

A

Utvecklare – behöver förstå vad olika tester är, tex enhetstestning endpoint och gränssnittsnitt
Testare – vara bra på olika sorters testning, bra med förståelse för hur man skriver enhetstester.
Testledare - Samma egenskaper som testare men även en bra ledare och bra på att organisera.

17
Q

Vad är CI – Continuous Integration? Förklara.

A

CI handlar om att kontinuerligt lägga till, tillexempel göra commits ofta.
Även att köra automatiserade tester vid var commit eller push (pull-request på de stora brancherna).

18
Q

Varför är CI centralt inom testning? Förklara med fokus på CI:s betydelse för olika yrkesroller.

A

För att man kan köra tester automatiserat när man kör push osv för att se till att man inte förstör kod som tidigare fungerat.

19
Q

Vad innebär ACL (Access Control List) inom REST (Representational State Transfer)? Hur testar man
att ACL fungerar som det ska? Förklara.

A

ACL är som ett regelverk där man bestämmer vem som får göra vad. En admin ska troligen komma in överallt och kunna ändra på saker medans en besökare ska endast kunna läsa av, inte ändra något. Använd tex Postman för att testa detta.

20
Q

Bör man föredra white listing-principen eller black listing-principen inom ACL från ett säkerhets- och
testningsperspektiv? Kan de samverka/samexistera? Motivera!

A

White är att föredra. Man måste öppna upp. Black måste man stänga av och det är lätt att glömma.
Allow = whitelisting, disallow = blacklisting.