Tenta: unit testing metoder kod

En studieuppsättning med frågor och svar om enhetstestningmetoder inom programmering, med fokus på viktiga begrepp och tekniker.

HugoPerssonqx·48 flashcards·48 frågor
universitetcomputer_scienceprogramming
0
Kan
1 / 48
0
Övar
Framsida

Vad är enhetstestning?

Tryck för att vända
Baksida

Enhetstestning är en metod för att testa individuella komponenter eller moduler i programvara för att säkerställa att de fungerar som avsett.

Tryck för att vända
Kan
Övar fortfarande

Quiz(48 frågor)

Fråga 1 av 48

1. Vad är enhetstestning?

Begrepp i det här studiesetet(48)

Grunder i enhetstestning(16)

Vad är enhetstestning?

Enhetstestning är en metod för att testa individuella komponenter eller moduler i programvara för att säkerställa att de fungerar som avsett.

Varför är enhetstestning viktig?

Det hjälper till att identifiera buggar tidigt, förbättrar kodens kvalitet och underlättar framtida ändringar.

Sant eller falskt: Enhetstestning ersätter systemtestning.

Falskt. Enhetstestning kompletterar systemtestning, men ersätter den inte.

Vad testas under enhetstestning?

Individuella funktioner, metoder eller klasser. - Kontroll av specifik logik - Återanvändning av kod

Fyll i blank: Enhetstestning fokuserar på ________.

små delar av koden, som funktioner eller metoder.

Vad är en testdriven utvecklingsmetod (TDD)?

TDD är en programmeringsmetod där tester skrivs innan koden implementeras för att säkerställa att funktionaliteten matchar kraven.

Nämn två fördelar med enhetstestning.

- Tidig identifiering av buggar - Förbättrad kodunderhållning

Hur påverkar enhetstestning refaktorering?

Enhetstestning underlättar refaktorering genom att snabbt verifiera att ändringar inte bryter existerande funktionalitet.

Centrala begrepp inom enhetstestning?

Testfall, mock-objekt, assertions, täckning, regressionstestning.

Vad är ett testfall?

Ett testfall definierar ett specifikt scenario för att testa en viss funktionalitet i koden.

Vad innebär kodtäckning?

Kodtäckning är en mätning av hur mycket av koden som exekveras under tester, vilket hjälper att identifiera otäckta delar.

Sant eller falskt: Enhetstestning förbättrar koden.

Sant. Det uppmuntrar till bättre design och modularitet i koden.

Ge ett exempel på enhetstest.

Test av en matematikfunktion som adderar två tal: - Input: 1, 2 - Förväntat resultat: 3

Vad är mock-objekt?

Mock-objekt används för att simulera externa beroenden i tester, vilket isolerar enhetstestspecifika komponenter.

Nämn en vanlig utmaning med enhetstestning.

Att skriva tester som är meningsfulla och lätt underhålls kan vara svårt, särskilt under snabb utveckling.

Vad innebär regressionstestning?

Regressionstestning är processen att köra tester igen efter ändringar i koden för att säkerställa att ingen befintlig funktionalitet har brutits.

Testmetoder(16)

Vad är enhetstestning?

En metod för att testa enskilda enheter av en kod. Syftet är att verifiera att varje del fungerar korrekt.

Skillnad mellan enhetstest och integrationstest?

Enhetstest: testar individuella komponenter. Integrationstest: testar samverkan mellan flera komponenter.

Vad är TDD?

Testdriven utveckling. Utvecklingsteknik där tester skrivs före kod. - Förbättrar kodkvalitet - Främjar design

Fyll i: Enhetstester bör vara ____ och ____.

Självständiga och snabba.

Ge ett exempel på enhetstestmetod.

Assert-metoden: Används för att verifiera att ett värde är som förväntat.

Sant eller falskt: Enhetstester kan ersätta integrationstester.

Falskt. De kompletterar varandra.

Vilken typ av tester används ofta med mock-objekt?

Enhetstester. Mock-objekt simulerar beroenden för att isolera testning.

Vad står AAA för i testmetodik?

Arrange, Act, Assert. - Förbered testmiljön - Utför åtgärden - Verifiera resultatet

Beskriv ett scenario för parametriserade tester.

Testa en funktion med flera indata och förväntade utdata. - Ej duplicering av testkod.

Vad är ett regressions test?

Testar att ny kod inte har brutit befintlig funktionalitet. Viktigt efter ändringar.

Skillnad mellan svarta lådan och vita lådan tester?

Svart låda: tester utan kännedom om intern kod. Vit låda: tester med insyn i kodens logik.

Vad är en testdriven utvecklingscykel?

Cykeln: Skriv test → Skriv kod → Kör test → Refaktorisera. Upprepas tills klart.

Vad är syftet med enhetstestning?

Att säkerställa att varje kodsnutt fungerar som avsett innan integration.

Jämför enhetstest och funktions test.

Enhetstest: testar enskilda funktioner. Funktions test: testar hela systemet från användarperspektiv.

Vilken ramverk används ofta för enhetstestning?

JUnit för Java, NUnit för .NET, PyTest för Python. - Bred användning.

Vad är ett testfall?

En uppsättning indata, förväntad utdata och villkor för ett test. - Specifik och dokumenterad.

Verktyg och ramverk(16)

Vad är JUnit?

JUnit är ett ramverk för enhetstestning i Java. Det möjliggör systematisk testning av Java-program genom att tillhandahålla annoteringar och metoder för att skapa och köra tester.

Nämn ett verktyg för Python-enhetstestning.

PyTest är ett populärt verktyg för enhetstestning i Python. Det erbjuder enkel syntax och stöd för parametriserade tester.

Sant eller falskt: NUnit är för Java.

Falskt. NUnit är ett ramverk för enhetstestning i C#. Det används för att skriva och köra tester i .NET-appar.

Vad gör ett testdrivet utvecklingsverktyg?

Det hjälper utvecklare att skriva tester innan de kodar. Exempelvis TDD (Test-Driven Development) främjar denna metod.

Nämn ett ramverk för JavaScript-enhetstestning.

Jasmine är ett ramverk för enhetstestning i JavaScript. Det gör det möjligt att skriva tester utan att behöva en domänspecifik språk.

Jämför Mocha och Jasmine.

Mocha är en flexibel testare, medan Jasmine är ett beteendedrivet testningsramverk. Jasmine kräver mindre konfiguration.

Fyll i det tomma: __________ används för att köra tester i Ruby.

RSpec används för att köra tester i Ruby. Det är inriktat på beteendedriven utveckling.

Vad är TestNG?

TestNG är ett testningsramverk för Java som erbjuder fler funktioner än JUnit, inklusive parallell testning och parametriserade tester.

Vilket verktyg används för att simulera beteenden i tester?

Mockito är ett populärt ramverk för att skapa mock-objekt och simulera beteenden i Java-enhetstester.

Vad gör ett testdashboard?

Det visar testresultat och kodtäckning. Hjälper team att spåra framsteg och kvalitet i enhets- och integrationstester.

Nämn en fördel med CI/CD i testning.

Kontinuerlig integration/leverans säkerställer att tester körs automatiskt vid varje kodändring, vilket minskar regressionsfel.

Vad är Chai?

Chai är ett assertionsbibliotek för JavaScript som ofta används tillsammans med Mocha för att möjliggöra mer läsbara tester.

Sant eller falskt: Cypress är endast för frontend-testning.

Falskt. Cypress används främst för frontend-testning men kan även användas för API-testning.

Vad gör en testare?

En testare skriver och kör tester för att verifiera att programvara fungerar som avsett och identifiera buggar.

Nämn ett verktyg för kodtäckning.

JaCoCo är ett verktyg för kodtäckning i Java som ger insikter om hur mycket av koden som testas.

Vad står TDD för?

TDD står för Test-Driven Development, en metod där tester skrivs innan den faktiska koden implementeras.

Frågor i det här studiesetet(48)

1. Vad är enhetstestning?

A.En metod för att testa individuella komponenter i programvara.
B.En typ av systemtestning.
C.En metod för att utföra integrationstestning.
D.En typ av användartestning.

2. Vad definierar enhetstestning?

A.En metod för att testa enskilda kodkomponenter.
B.En metod för att testa hela systemets funktionalitet.
C.En metod för att testa användargränssnitt.
D.En metod för att testa prestanda.

3. Vilket av följande ramverk är specifikt för testning i Java?

A.JUnit
B.RSpec
C.Mocha
D.Cypress

4. Vilken av följande är en fördel med enhetstestning?

A.Identifiera buggar tidigt.
B.Minska kodens komplexitet.
C.Öka antalet funktioner.
D.Eliminera behovet av dokumentation.

5. Vilket påstående beskriver integrationstest bäst?

A.Testar interaktionen mellan olika komponenter.
B.Testar enskilda funktioner i isolering.
C.Testar användargränssnittet.
D.Testar prestanda hos systemet.

6. Vilket verktyg används för att köra tester i Python?

A.PyTest
B.JUnit
C.NUnit
D.RSpec

7. Vad testas vanligtvis under enhetstestning?

A.Individuella funktioner och metoder.
B.Databaskopplingar.
C.Användargränssnitt.
D.Systemets prestanda.

8. Vad innebär TDD i programmering?

A.Skriva tester innan koden.
B.Skriva kod utan tester.
C.Köra tester efter att koden har skrivits.
D.Refaktorisera kod utan testning.

9. Sant eller falskt: Jasmine är en testare för Python.

A.Sant
B.Falskt
C.Oklart
D.Ej relevant

10. Vad innebär testdriven utveckling (TDD)?

A.Skriva tester innan koden implementeras.
B.Skriva koden först och sedan tester.
C.Testa hela systemet på en gång.
D.Använda simuleringar för tester.

11. Enhetstester bör vara ____ och ____.

A.Självständiga och snabba.
B.Komplexa och tidskrävande.
C.Beroende och långsamma.
D.Enhetliga och oberoende.

12. Vad står CI/CD för i programmering?

A.Continuous Integration/Continuous Delivery
B.Code Integration/Code Delivery
C.Continuous Improvement/Continuous Development
D.Code Inspection/Code Debugging

13. Vad är ett testfall?

A.En specifikation av en testning av en funktion.
B.En typ av integrationstest.
C.En sammanställning av alla tester.
D.En metod för att dokumentera fel.

14. Vilken metod används för att verifiera värden i en enhetstest?

A.Assert-metoden.
B.Verify-metoden.
C.Check-metoden.
D.Test-metoden.

15. Vilket av följande är en skillnad mellan Mocha och Jasmine?

A.Mocha är mer strikt
B.Jasmine är mer flexibel
C.Mocha har färre konfigurationsalternativ
D.Jasmine är beteendedrivet

16. Vad innebär kodtäckning?

A.Mätning av hur mycket av koden som exekveras under tester.
B.Antal testfall som har skrivits.
C.Antal buggar som hittats.
D.Mängden tid som spenderats på testning.

17. Sant eller falskt: Enhetstester kan helt ersätta integrationstester.

A.Sant.
B.Falskt.
C.Beroende av situationen.
D.Endast i vissa fall.

18. Vilket ramverk används för att skapa mock-objekt i Java?

A.Mockito
B.JUnit
C.Chai
D.NUnit

19. Vad är mock-objekt?

A.Simuleringar av externa beroenden i tester.
B.Verkliga databaskopplingar.
C.Tester som körs på hela systemet.
D.Ett sätt att mäta kodtäckning.

20. Vilken typ av tester använder ofta mock-objekt?

A.Enhetstester.
B.Integrationstester.
C.Systemtester.
D.Acceptanstester.

21. Vilket av följande är INTE ett verktyg för enhetstestning?

A.PyTest
B.RSpec
C.JaCoCo
D.NUnit

22. Vilken av följande är en utmaning med enhetstestning?

A.Att skriva meningsfulla och underhållbara tester.
B.Att få tester att köra snabbt.
C.Att skapa användargränssnittstester.
D.Att använda flera programmeringsspråk.

23. Vad står AAA för i testmetodik?

A.Arrange, Act, Assert.
B.Analyze, Apply, Assert.
C.Action, Analyze, Assert.
D.Arrange, Analyze, Act.

24. Vad är syftet med TDD?

A.Att skriva kod först
B.Att skriva tester efter kod
C.Att skriva tester innan kod
D.Att automatisera distribution

25. Sant eller falskt: Enhetstestning ersätter systemtestning.

A.Falskt.
B.Sant.
C.Beroende på projektet.
D.Endast för små projekt.

26. Ge ett exempel på parametriserade tester.

A.Flera indata och förväntade utdata för en funktion.
B.Testa en funktion i isolering.
C.Testa hela systemet.
D.Testa prestanda under belastning.

27. Vad används för att visa testresultat visualiserat?

A.Testdashboard
B.Mockito
C.RSpec
D.JUnit

28. Vad innebär regressionstestning?

A.Att köra tester igen efter kodändringar.
B.Att testa användargränssnittet.
C.Att utföra belastningstestning.
D.Att skapa nya testfall.

29. Vad är syftet med regressions testning?

A.Att verifiera att ny kod inte bryter befintlig funktionalitet.
B.Att testa nya funktioner i systemet.
C.Att säkerställa att användargränssnittet fungerar.
D.Att mäta systemets prestanda.

30. Vad är en fördel med att använda assertionsbibliotek som Chai?

A.Det förenklar testskrivning
B.Det kräver mer kod
C.Det är endast för Java
D.Det hindrar testning

31. Vilken term refererar till en mätning av tester som verifierar kodens korrekta funktion?

A.Testtäckning.
B.Prestandatest.
C.Säkerhetstest.
D.Användartest.

32. Vilken skillnad finns mellan svarta lådan och vita lådan tester?

A.Svart låda: Tester utan kunskap om intern kod.
B.Svart låda: Tester med full insyn i koden.
C.Vit låda: Tester utan kännedom om externa beroenden.
D.Vit låda: Tester utan insyn i kodens logik.

33. Vilket av följande ramverk erbjuder stöd för parametriserade tester?

A.TestNG
B.Jasmine
C.Mocha
D.RSpec

34. Vilken av följande aspekter är inte en del av enhetstestning?

A.Testa hela systemet.
B.Testa individuella metoder.
C.Testa logik inom en funktion.
D.Testa nya funktioner i koden.

35. Vilken ramverk är populär för enhetstestning i .NET?

A.NUnit.
B.JUnit.
C.PyTest.
D.Mocha.

36. Vilket verktyg används för att testa API:er?

A.Postman
B.JUnit
C.Mockito
D.RSpec

37. Vad är en fördel med att använda mock-objekt?

A.Att isolera enhetstester från externa beroenden.
B.Att snabba upp integrationstestning.
C.Att undvika alla buggar.
D.Att eliminera behovet av dokumentation.

38. Vad är ett testfall?

A.En uppsättning indata, förväntad utdata och testvillkor.
B.En lista med tester som ska utföras.
C.En metod för att köra tester.
D.En beskrivning av kodens logik.

39. Vad karakteriserar NUnit?

A.Det är för Python
B.Det är för C#
C.Det används endast för frontend
D.Det är inte ett testningsramverk

40. Fyll i blank: Enhetstestning bidrar till ______.

A.Bättre koddesign och modularitet.
B.Mindre kodvolym.
C.Fler buggar.
D.Snabbare systemtestning.

41. Vad är skillnaden mellan enhetstest och funktions test?

A.Enhetstest: testar enskilda funktioner; funktions test: testar hela systemet.
B.Enhetstest: testar hela systemet; funktions test: testar enskilda funktioner.
C.Enhetstest: testar prestanda; funktions test: testar användargränssnitt.
D.Enhetstest: testar integration; funktions test: testar enskilda komponenter.

42. Vilket av följande ramverk är mest lämpligt för BDD?

A.RSpec
B.JUnit
C.NUnit
D.Mockito

43. Vad är en assertion i kontexten av enhetstestning?

A.Ett påstående om förväntat resultat av en test.
B.En typ av testmetod.
C.En mätning av kodtäckning.
D.En dokumentation av testresultat.

44. Vad är en testdriven utvecklingscykel?

A.Skriv test → Skriv kod → Kör test → Refaktorisera.
B.Skriv kod → Skriv test → Kör test.
C.Refaktorisera → Skriv kod → Skriv test.
D.Kör test → Skriv kod → Skriv test.

45. Vad är en viktig egenskap hos Cypress?

A.Endast för backend-testning
B.Främst för frontend-testning
C.Fungerar endast med Java
D.Inga integrationstester

46. Vilken av följande metoder används för att isolera en komponent i enhetstestning?

A.Mock-objekt
B.Integrationstestning
C.Systemtestning
D.Prestandatestning

47. Vilken av följande påståenden beskriver bäst syftet med enhetstestning?

A.Att verifiera att varje del av koden fungerar korrekt.
B.Att testa hela systemet från användarperspektiv.
C.Att säkerställa att användargränssnittet är användarvänligt.
D.Att utvärdera prestandan av hela applikationen.

48. Vilket av följande påståenden om TestNG är sant?

A.TestNG erbjuder fler funktioner än JUnit.
B.TestNG används endast för frontend-testning.
C.TestNG är ett verktyg för kodtäckning.
D.TestNG är specifikt för Python.

Relaterade studieset

Skapa ditt eget studieset

Ladda upp en PDF, klistra in dina anteckningar eller beskriv ett ämne – AI genererar flashcards, quiz och mer på några sekunder.