Jax 2011-qs

705 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
705
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
5
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Jax 2011-qs

  1. 1. Open-Source-Werkzeugkasten für Software-QS 05.05.2011 | 10:15 - 11:15 Uhr | Zagrebsaal IFreitag, 13. Mai 2011 1
  2. 2. Speaker • Tobias Joch – inovex GmbH – Head of Solution Development – leichtgewichtige und hochskalierende (Web-) Anwendungen – CCDFreitag, 13. Mai 2011 2
  3. 3. Kurzer Überblick über das Thema QSFreitag, 13. Mai 2011 3
  4. 4. Ziel = Erfüllung der Qualitätsmerkmale • Korrektheit • Zuverlässigkeit • Robustheit • Effizienz • Benutzerfreundlichkeit • Wartbarkeit • Wiederverwendbarkeit • Portierbarkeit • Kompatibilität • VertrauenswürdigkeitFreitag, 13. Mai 2011 4
  5. 5. Agiler Prozess am Beispiel von Scrum 24 2-4Freitag, 13. Mai 2011 5
  6. 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 ManuellFreitag, 13. Mai 2011 6
  7. 7. Abgrenzung / Scope • Umfangreiches Thema • Konzentration auf die für Java-(Web-) Entwicklung relevantesten Tools und Frameworks • kein Anspruch auf VollständigkeitFreitag, 13. Mai 2011 7
  8. 8. Inhalt des heute mitgebrachten WerkzeugkastenFreitag, 13. Mai 2011 8
  9. 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. 10. Unit-Tests • xUnit – JUnit • de facto Standard • DBUnit • XMLUnit • HTTPUnit • EJB3Unit • SpringJUnit4ClassRunner... – TestNGFreitag, 13. Mai 2011 10
  11. 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. 12. JUnit • IDE-IntegrationFreitag, 13. Mai 2011 12
  13. 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. MockitoFreitag, 13. Mai 2011 13
  14. 14. Test Coverage • Eclipse Plugins – djUnit – EclEmma • Reports – Cobertura – EmmaFreitag, 13. Mai 2011 14
  15. 15. Web-TestsFreitag, 13. Mai 2011 15
  16. 16. Web-Tests • Validatoren – Link Checker – HTML-Syntax, ... • Functional / Acceptance – Fitnesse – Selenium (Grid) – Windmill – Cucumber (rake, rspec) – Celerity, Watir, ...Freitag, 13. Mai 2011 16
  17. 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. 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
  19. 19. Performance- / Last-TestsFreitag, 13. Mai 2011 19
  20. 20. Performance- / Last-Tests • Apache – ab – JMeter • Grinder – GrinderStone • Tsung – Erlang – High Performance – Multi-ProtokollFreitag, 13. Mai 2011 20
  21. 21. JVM-Analyse Tools / TechnikenFreitag, 13. Mai 2011 21
  22. 22. JVM-Analyse Tools / Techniken • Shell / Console – kill -3 / jstack – Thread Dump für z.B. „looping threads“, timeouts, etc. • jvmstat – jps – jstat – visualgc • jConsole • VisualVM • Eclipse Memory Analyzer – Heap Dump AnalyseFreitag, 13. Mai 2011 22
  23. 23. Build-Tools / CIFreitag, 13. Mai 2011 23
  24. 24. Build-Tools / CI • Build-Tools – Ant – Maven – Buildr – Gradle • CI – CruiseControl – Apache Continuum – Hudson => JenkinsFreitag, 13. Mai 2011 24
  25. 25. Build-Tools / CI Maven • einheitliche der Projektstruktur • Standard Aufgaben „out-of-the-box“ – Plugins • Dependency Management – Firmen eigener Proxy sinnvoll – QSFreitag, 13. Mai 2011 25
  26. 26. Build-Tools / CI Jenkins • aktive Community • viele Plugins • einfache Verwaltung • http://www.wakaleo.com/books/ jenkins-the-definitive-guideFreitag, 13. Mai 2011 26
  27. 27. Build-Tools / CI Jenkins • Beispiel – http://ci.jenkins-ci.org/Freitag, 13. Mai 2011 27
  28. 28. Statische Code-AnalyseFreitag, 13. Mai 2011 28
  29. 29. Statische Code-Analyse • oder auch „linting“ genannt (Lint) • formaler Prüfung – Quelltext – Bytecode • manuell oder automatisch – einfachen Coding-Standards – Prüfung von Typumwandlungen /Bereichsgrenzen – Speicherlecks – „Bad Smells“ – null-Referenzen – uninitialized values, ...Freitag, 13. Mai 2011 29
  30. 30. Statische Code-Analyse • FindBugs – static bytecode analyzer – based on Jakarta BCEL • PMD – source code analyzer – identifies potential problems – static ruleset • Checkstyle – some static code analysis – shows violations of a configured coding standardFreitag, 13. Mai 2011 30
  31. 31. Reports / MetrikenFreitag, 13. Mai 2011 31
  32. 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ändlichkeitFreitag, 13. Mai 2011 32
  33. 33. Reports / Metriken • Umfang (LOC, Wiederverwendung, Prozeduren, ...) • Komplexität (McCabe) • Lesbarkeit (Stil) • Entwurfsqualität (Modularität, Kohäsion, Kopplung, ...) • Produktqualität (Testergebnisse, Testabdeckung, Dubletten, ...) • ...Freitag, 13. Mai 2011 33
  34. 34. Reports / Metriken • Sonar – Integration in Maven und Eclipse – Jenkins-Plugin • http://nemo.sonarsource.org/Freitag, 13. Mai 2011 34
  35. 35. Vielen Dank!Freitag, 13. Mai 2011 35

×