Page 3 : 46
Forelæsningsnoter i Objekt-orienteret Programmering
Test og Dokumentation
* Introduktion til programtest
Introduktion til test
Testabilitet
Testenheder
Testutopi
Programbevis
* White box testteknik
White box test
Test af uafhængige stier
Fra programenhed til flow graph (1)
Fra programenhed til flow graph (2)
Udledning af testtilfælde til white box test
Andre white box tests
* Black box testteknik
Black box test
Valg af input til black box test (1)
Valg af input til black box test (2)
Eksempel på black box test
* Teststrategi
Teststrategi
Enhedstest
Integrationstest
Sammenligning af top-down og bottom-up integrationstest
* Code Review
Code Review
* Test af objekt-orienterede programmer
Observationer
Test af klasse 'skiver'
Detaljer om slice-baseret klasse enhedstest
Klassen som testenhed: Praktiske problemer
Test i forhold til kontraktideen (1)
Test i forhold til kontraktideen (2)
Opsummering
* Introduktion til programdokumentation
Hvorfor programdokumentation
Moduldokumentation
Dokumentation: Strukturering i tid og rum
Dokumentation i forhold til test
* Javadoc
Introduktion til javadoc
Javadoc materiale
* Literate Programming
Intern programdokumentation ala literate programming
Det klassiske literate programming værktøj
Intern struktur af et literate WEB dokument
Opsummering
Testabilitet
Testabilitet er oversættelsen af den engelske term 'testability', som refererer til 'det at kunne teste et program'
Testabilitet
refererer til omkostningerne som er forbundet med afsløringer af fejl og defekter i et program
To nøgleaspekter af testabilitet
Kontrollerbarhed
Muligheden for at styre program input og programtilstand forud for en testudførelse
Uden kontrollerbarhed kan man ikke være sikker på hvad der forårsager bestemte resultater af et program
Observerbarhed
Muligheden for at tilgå resultatet af en testudførelse
Uden observerbarhed kan man ikke vurdere på resultatet af en test
Testabilitet bør være en vigtig designfaktor
Artikel om testabilitet: Robert V. Binder, 'Design for testability', Communication of the ACM, vol 37 no 2, September 1994