Das Testen von JSF Anwendungen ist notwendig, aber nicht einfach. In diesem Vortrag motivieren wir zunächst, warum unserer Meinung nach Tests unerlässlich sind. Dann zeigen wir ein einfaches kleines CDI-basiertes Framework, namens AcceptIt, welches uns bei der Erstellung von Integrationstests für JSF-Anwendungen hilft.
3. Routinearbeit
• d.h.:
gutesVerständnis der
Anforderung!
• Top Down Entwurf
=> bessere Architektur!
• End-To-End = Top Down
s. http://www.sigs.de/download/oop_09/Dirbach%20NEU.pdf
4. Wissensarbeit
• d.h.:
Problem und Lösung
sind noch unklar!
• ständiger Wechsel
zwischen Problem-
und Lösungsraum!
• End-To-End =>
Konzentration auf
Was und Warum
6. Erfahrungswerte aus
einem Integrationsprojekt
• Aufgabe:
Integration eines SOAP-basierten Webdienst!
• Erkenntnisse!
• Standardverhalten war einfach!
• korrektesVerhalten in Randfällen nicht!
• End-To-End als effizientes
Entwicklungsinstrument
11. Unit Test
Object Under TestPro:!
- schnell!
- validiert API-Entwurf
Contra:!
- wenig Aussage über Systems!
- robuste Testssuite kann schwierig sein
12. Unit Under Test
+ 3rd party Code
Integrations Test
Pro:!
- validiert Teilsysteme
Contra:!
- herausfordernder Schnitt der Teilsysteme
13. System Under Test
End to End Test
Pro:!
- Hohe Aussage über System!
- Entkopplung von Test und Systemcode
Contra:!
- Aufwand!
!
=> Notwendigkeit einer guten Testarchitektur
16. Tests als
1st Class Citizen
• gleiche Anforderungen an Testcode wie an
Produktivcode, insb. bzgl.!
• Wartbarkeit!
• Verständlichkeit!
• Tests => Aufwand => Investition!
• Abwesenheit von Tests :=
Wette, dass Software fehlerfrei ist und nicht
weiterentwickelt wird…
=> mutig