Software Testing + TDD Flashcards
Hvad står TDD for?
test driven development
Rules of TDD 1
test the expected outcome of an example
Rules of TDD 2
dont prejudge design..let your tests drive it
Rules of TDD 3
write the minimum code required to get your tests to pass
Rules of TDD 4
each test should validate one piece of logic
Hvad tester mocks?
Mocks tester behaveiour
verify().mymethod()
Skaber en falsk version af noegt, da man gerne vil bestemme hvad den leverer
Hvad tester stubs?
Stubs tester data
when().thenReturn()
Hvad er softwaretest?
processen med at analysere en softwarekomponent for at opdage forskelle mellem de eksisterende og de krævede betingelser (defekter) samt evaluere softwarefunktionaliteten.
Hvad er de fire testniveauer?
✅ Unit Testing (Level 0) – Test af individuelle komponenter/moduler.
✅ Integration Testing – Test af interaktioner mellem moduler.
✅ System Testing – Test af hele systemet som en enhed.
✅ Acceptance Testing (Level n) – Test af softwaren mod forretningskrav.
Hvad er forskellen mellem Black Box og White Box Testing?
🖤 Black Box Testing – Tester software uden at kende dens interne struktur, baseret på krav.
⚪ White Box Testing – Tester software med viden om dens interne kode og logik.
Hvad er forskellen mellem Verification og Validation?
Verification – “Bygger vi produktet korrekt?” (intern kontrol af kodekvalitet).
Validation – “Bygger vi det rigtige produkt?” (tester mod kundekrav).
Hvad er en god teststrategi?
✅ Definer kvantificerbare krav før test.
✅ Udfør tekniske reviews før testning for at fange fejl tidligt.
✅ Brug “Rapid Cycle Testing” for hurtig feedback.
✅ Udvikl software, der kan teste sig selv med automatiserede tests.
White box testing: Hvad er Basis Path Testing?
En metode til at teste alle mulige programstier ved at:
📌 Identificere uafhængige stier.
📌 Måle cyklomatisk kompleksitet.
📌 Sikre, at hver sti testes mindst én gang.
White box testing: Hvad er cyklomatisk kompleksitet, og hvordan beregnes det?
et mål for programmets logiske kompleksitet.
Beregnes ved:
1. Antal regioner i flow-diagrammet.
2. Formel: V(G) = E - N + 2 (E = edges, N = nodes).
3. Formel: V(G) = P + 1 (P = antal betingelser).
Black box: Hvad er Boundary Value Analysis (BVA)?
En testmetode, hvor grænseværdier for input testes:
📌 Eks: Hvis en inputværdi spænder fra 1-100, testes 1, 100, 0, 101.
Black box: Hvad er Equivalence Partitioning?
En metode til at inddele input i grupper, hvor én test pr. gruppe er nok.
📌 Eks: Hvis input er alder (0-150), kan vi teste børn, voksne, ældre.
Hvad er forskellen mellem funktionelle og ikke-funktionelle tests?
🔹 Funktionelle tests → Tester hvad systemet gør (f.eks. input/output).
🔹 Ikke-funktionelle tests → Tester hvordan systemet gør det (f.eks. hastighed, sikkerhed).
Hvad er Test-Driven Development (TDD)?
En metode, hvor test cases skrives før koden implementeres.
Proces:
1️⃣ Skriv en fejlende test.
2️⃣ Skriv minimal kode for at få testen til at bestå.
3️⃣ Refaktorer koden for at optimere den.
Hvad er Acceptance Criteria i agile testing?
Bruger ofte Given-When-Then format:
✅ Given en forudsætning.
✅ When en handling sker.
✅ Then det forventede resultat.
Hvad er Regression Testing?
Sikrer, at nye ændringer ikke ødelægger eksisterende funktionalitet.
Testing level
Toppen er dyrest, men kræver mindre tests.
- UI tests (vi vil gerne have så få af disse som muligt da alle de andre underliggende er testet)
- Acceptance test
- Integration tests
- Unit tests
UI test
når jeg klikker på denne så sker det der skal ske
User acceptance test
tester forretningslogik, jeg kan ikke hængte en trailer på der er for tung.
Tester typisk de kriterier der står på userstories
Hvad er selenium tests?
tester brugerinteraktioner.
Det er en måde at lave UI test på
Verification & validation
Verification- Are we building the products right?
Validation-Are we building the right product?
Hvad bør man teste først?
forretningslogikken (service)
Hvad tester integrationstests
tester om 2 komponenter kan tale sammen
Hvor kommer TDD fra?
XP
@Beforeall
kører kun i starten
@Beforeeach
kører før hver test