6. QS im SDLC
Tracking
Specs
BDD
Analyse
g
De
/Bu
sig
CR
n
TDD
Monitoring CI xUnit
Wa
l.
p
rtu
Im
Pair-
n
Systemtests Programming
g
Delivery Metriken
UAT
Pen-Tests Reviews
Integrationstests
Manuell
Freitag, 13. Mai 2011 6
7. Abgrenzung / Scope
• Umfangreiches
Thema
• Konzentration auf die
für Java-(Web-)
Entwicklung
relevantesten Tools
und Frameworks
• kein Anspruch auf
Vollständigkeit
Freitag, 13. Mai 2011 7
8. Inhalt des heute mitgebrachten
Werkzeugkasten
Freitag, 13. Mai 2011 8
9. Inhalt des heute mitgebrachten
Werkzeugkasten
• Unit-Tests
• Web-Tests
• Performance- / Last-Tests
• JVM-Analyse Tools / Techniken
• Build-Tools / CI
• Statische Code-Analyse
• Reports / Metriken
• Code-Review-Tools, SCM, ...
Freitag, 13. Mai 2011 9
10. Unit-Tests
• xUnit
– JUnit
• de facto Standard
• DBUnit
• XMLUnit
• HTTPUnit
• EJB3Unit
• SpringJUnit4ClassRunner...
– TestNG
Freitag, 13. Mai 2011 10
11. JUnit
• XP / TDD
• Kent Beck, Erich Gamma
• passed
• failed
– failure
– error
• grün = Fehlerfrei?
– nur so viel testen bis es "grün" ist
• Antipattern!
• Autor Code & Test identisch http://www.junit.org/
Freitag, 13. Mai 2011 11
12. JUnit
• IDE-Integration
Freitag, 13. Mai 2011 12
13. Test Double
• Test Stub
– Hand geschriebenes Objekt für Testzwecke
• Mock Objects
– Erwartung vor dem Test konfiguriert
• z.B. EasyMock / PowerMock
• Test Spy
– Verifikation findet nach dem eigentlichen
Test statt
• z.B. Mockito
Freitag, 13. Mai 2011 13
14. Test Coverage
• Eclipse Plugins
– djUnit
– EclEmma
• Reports
– Cobertura
– Emma
Freitag, 13. Mai 2011 14
17. Web-Tests
• Cucumber für Java
(und viele weitere Sprachen für die JVM)
– cuke4duke 0.4.3
Feature: Hello JAX 2011
Scenario: Say Hello to the JAX 2011
Given I have a skeleton web application
When I open the home page
Then the page heading should be "Hello JAX 2011!"
Freitag, 13. Mai 2011 17
18. Web-Tests
• Cucumber für Java
(und viele weitere Sprachen für die JVM)
– cuke4duke 0.4.3
Feature: Hello JAX 2011
Scenario: Say Hello to the JAX 2011
Given I have a skeleton web application
When I open the home page
Then the page heading should be "Hello JAX 2011!"
Freitag, 13. Mai 2011 18
32. Reports / Metriken
• Formale Vergleichs- und
Bewertungsmöglichkeiten
– ausgedrückt in Meßzahlen
– interpretierbar als der Erfüllungsgrad einer
Qualitätseigenschaft
– Indikation für den Zustand der SW
• Wartbarkeit, Erweiterbarkeit,
Verständlichkeit
Freitag, 13. Mai 2011 32