Testdrevet utvikling (TDD), testbarhet og Mocking Quiz Flashcards

1
Q

Hva er testdrevet utvikling (TDD)?

a) En metode hvor testing skjer etter at koden er skrevet.

b) En utviklingsmetode der tester skrives før koden.

c) En tilnærming hvor man tester koden etter at hele systemet er implementert.

d) En metode hvor man først skriver tester, deretter utvikler koden for å bestå disse testene.

A

En metode hvor man først skriver tester, deretter utvikler koden for å bestå disse testene.

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

Hva er “De 3 Lovene For TDD” i følge Robert C Martin?

a) Skriv kode, test kode, refaktorer kode.

b) Skriv en test som feiler, skriv kun kode for å bestå testen, refaktorer koden.

c) Skriv tester etter koden er skrevet, sikre at testene passerer, deploy koden.

d) Skriv en test, skriv produksjonskode, sikre at koden passerer alle tester.

A

b) Skriv en test som feiler, skriv kun kode for å bestå testen, refaktorer koden.

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

Hvilken utviklingspraksis er TDD særlig knyttet til?

a) Vannfallsmetoden

b) Smidig utvikling

c) Spiralmodellen

d) RAD (Rapid Application Development)

A

Smidig utvikling

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

Hva menes med “testing i isolasjon” innen programvaretesting?

a) Å teste hver modul alene før integrasjonstesting.

b) Å utføre testing uten internettforbindelse.

c) Å teste kun den delen av koden som er endret.

d) Å teste i et isolert fysisk miljø.

A

Å teste hver modul alene før integrasjonstesting.

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

Hva er hovedformålet med mocking ?

a) Å erstatte eksterne avhengigheter med dummy-objekter.

b) Å gjøre koden raskere.

c) Å forbedre UI-designet.

d) Å lagre testresultater.

A

Å erstatte eksterne avhengigheter med dummy-objekter.

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

Hva beskriver best Dependency Injection?

a) Å sette avhengigheter direkte i koden

b) En teknikk hvor et objekt mottar sine avhengigheter fra et annet objekt.

c) En metode for å injisere feil i koden for å teste.

d) En måte å redusere avhengigheter i koden på.

A

En teknikk hvor et objekt mottar sine avhengigheter fra et annet objekt.

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

Hvorfor er testbarhet viktig i systemutvikling?

a) Det reduserer behovet for dokumentasjon.

b) Det sikrer at koden kan gjenbrukes.

c) Det hjelper med å identifisere feil tidlig i utviklingsprosessen.

d) Det eliminerer behovet for brukertesting.

A

Det hjelper med å identifisere feil tidlig i utviklingsprosessen.

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

Hva indikerer et “Interface” i konteksten av programvareutvikling?

a) En brukergrensesnittskomponent.

b) En kontrakt som definerer metoder som må implementeres av en klasse.

c) En type datastruktur.

d) En metode for å koble til databaser.

A

En kontrakt som definerer metoder som må implementeres av en klasse.

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

Hvordan kan TDD bidra til bedre systemdesign?

a) Ved å kreve omfattende dokumentasjon.

b) Ved å fremprovosere testbare klasser og funksjoner, som fører til et design med løsere koblinger.

c) Ved å øke kompleksiteten i koden.

d) Ved å fokusere utelukkende på ytelse.

A

Ved å fremprovosere testbare klasser og funksjoner, som fører til et design med løsere koblinger.

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

Hvilken påstand om TDD er riktig?

a) TDD garanterer at programvaren er feilfri.

b) TDD reduserer tiden brukt på debugging og gir utvikleren større tillit til koden.

c) TDD eliminerer behovet for refaktorering av kode.

d) TDD er kun relevant for frontend-utvikling.

A

TDD reduserer tiden brukt på debugging og gir utvikleren større tillit til koden.

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