Testdrevet utvikling (TDD), testbarhet og Mocking Quiz Flashcards
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.
En metode hvor man først skriver tester, deretter utvikler koden for å bestå disse testene.
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.
b) Skriv en test som feiler, skriv kun kode for å bestå testen, refaktorer koden.
Hvilken utviklingspraksis er TDD særlig knyttet til?
a) Vannfallsmetoden
b) Smidig utvikling
c) Spiralmodellen
d) RAD (Rapid Application Development)
Smidig utvikling
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ø.
Å teste hver modul alene før integrasjonstesting.
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.
Å erstatte eksterne avhengigheter med dummy-objekter.
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å.
En teknikk hvor et objekt mottar sine avhengigheter fra et annet objekt.
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.
Det hjelper med å identifisere feil tidlig i utviklingsprosessen.
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.
En kontrakt som definerer metoder som må implementeres av en klasse.
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.
Ved å fremprovosere testbare klasser og funksjoner, som fører til et design med løsere koblinger.
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.
TDD reduserer tiden brukt på debugging og gir utvikleren større tillit til koden.