Software Testing + TDD Flashcards

1
Q

Hvad står TDD for?

A

test driven development

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

Rules of TDD 1

A

test the expected outcome of an example

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

Rules of TDD 2

A

dont prejudge design..let your tests drive it

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

Rules of TDD 3

A

write the minimum code required to get your tests to pass

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

Rules of TDD 4

A

each test should validate one piece of logic

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

Hvad tester mocks?

A

Mocks tester behaveiour

verify().mymethod()

Skaber en falsk version af noegt, da man gerne vil bestemme hvad den leverer

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

Hvad tester stubs?

A

Stubs tester data
when().thenReturn()

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

Hvad er softwaretest?

A

processen med at analysere en softwarekomponent for at opdage forskelle mellem de eksisterende og de krævede betingelser (defekter) samt evaluere softwarefunktionaliteten.

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

Hvad er de fire testniveauer?

A

✅ 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.

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

Hvad er forskellen mellem Black Box og White Box Testing?

A

🖤 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.

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

Hvad er forskellen mellem Verification og Validation?

A

Verification – “Bygger vi produktet korrekt?” (intern kontrol af kodekvalitet).
Validation – “Bygger vi det rigtige produkt?” (tester mod kundekrav).

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

Hvad er en god teststrategi?

A

✅ 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.

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

White box testing: Hvad er Basis Path Testing?

A

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.

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

White box testing: Hvad er cyklomatisk kompleksitet, og hvordan beregnes det?

A

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).

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

Black box: Hvad er Boundary Value Analysis (BVA)?

A

En testmetode, hvor grænseværdier for input testes:
📌 Eks: Hvis en inputværdi spænder fra 1-100, testes 1, 100, 0, 101.

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

Black box: Hvad er Equivalence Partitioning?

A

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.

17
Q

Hvad er forskellen mellem funktionelle og ikke-funktionelle tests?

A

🔹 Funktionelle tests → Tester hvad systemet gør (f.eks. input/output).
🔹 Ikke-funktionelle tests → Tester hvordan systemet gør det (f.eks. hastighed, sikkerhed).

18
Q

Hvad er Test-Driven Development (TDD)?

A

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.

19
Q

Hvad er Acceptance Criteria i agile testing?

A

Bruger ofte Given-When-Then format:
✅ Given en forudsætning.
✅ When en handling sker.
✅ Then det forventede resultat.

20
Q

Hvad er Regression Testing?

A

Sikrer, at nye ændringer ikke ødelægger eksisterende funktionalitet.

21
Q

Testing level

A

Toppen er dyrest, men kræver mindre tests.

  1. UI tests (vi vil gerne have så få af disse som muligt da alle de andre underliggende er testet)
  2. Acceptance test
  3. Integration tests
  4. Unit tests
22
Q

UI test

A

når jeg klikker på denne så sker det der skal ske

23
Q

User acceptance test

A

tester forretningslogik, jeg kan ikke hængte en trailer på der er for tung.

Tester typisk de kriterier der står på userstories

24
Q

Hvad er selenium tests?

A

tester brugerinteraktioner.
Det er en måde at lave UI test på

25
Q

Verification & validation

A

Verification- Are we building the products right?

Validation-Are we building the right product?

26
Q

Hvad bør man teste først?

A

forretningslogikken (service)

27
Q

Hvad tester integrationstests

A

tester om 2 komponenter kan tale sammen

28
Q

Hvor kommer TDD fra?

29
Q

@Beforeall

A

kører kun i starten

30
Q

@Beforeeach

A

kører før hver test