Download - Tester testen. Entwickler auch
Andreas Günzel | EXXETA AG
Tester testen.Entwickler auch.
Wir haben viel vor
• Warum Unit Tests wichtig sind• Besser Testen mit Mockito• Real Tests dank Arquillian• Die Mischung macht‘s
Meine Person
Andreas GünzelPrincipal Consultant
EXXETA AG
@leichtundkross
www.EXXETA.com
Fehlerkosten nach Projektphase
Phase Faktor* Beispielkosten: Bsp.-Zeit
Test100
6.000 €Test 10.000 € 4 -12 Wochen
Konzept/
Spezifikation1
60 €Konzept/
Spezifikation100 €
60 €taggleich
Codierung10
600 €Codierung 1.000 €
600 €1- 4 Wochen
Produktion 1.00060.000 €
100.000 €60.000 €
Bis 6 Monate
*Der Faktor ist aus der einschlägigen Literatur zum Thema Testen übernommen
Phasen der Softwareentwicklung (klassisch)
Systemanforderungs-analyse
System-Architektur
System-Entwurf
Software-Architektur
Software-Entwurf
Unit-Tests
Integrations-Tests
System-Integration
Abnahme und Nutzung
Zeit
Det
ailli
erun
g
Phasen der Softwareentwicklung (agile)
Quelle: www.readwriteweb.com
Unit-Test
• aka Modultest oder Komponententest
• Test der kleinsten Software-Einheit, die sinnvoll isoliert zu testen ist– Typischerweise eine Klasse oder eine
Schnittstelle
Warum wir nicht testen?
Keine ZeitKein Budget
Der Kunde wollte keine Unit Tests Das kann man
nicht testen
Die laufen bei mir eh nicht
Die Ausführung dauert einfach zu lange
… schreiben wir am Ende des Projekts
Live Coding
• … Test First!
Schnelles
Feedback
Langsames
Feedback
Großer Umfang
Geringer Umfang
Unit-Test
Integrations-test
Systemtest
UAT
Umfang vs. Geschwindigkeit
Build Pipeline
UnitTest
IntegrationTest
SystemTest
Deployment
Zum Schluss
• Tests sind die beste Dokumentation– TDD für aufgeräumte Tests
• Mockito ermöglicht– Entfernung externer Abhängigkeiten– Test des inneren Verhaltens
• Arquillian hilft, wenn– das Test-Setup schwierig ist– das Verhalten im Container im Vordergrund steht
• Richtige Kombination entscheidend
Vielen Dank fürIhre Aufmerksamkeit
@leichtundkross