Your SlideShare is downloading. ×
0
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Softwarequalitätssicherung mit Continuous Integration Tools

1,352

Published on

Kurzbeschreibung …

Kurzbeschreibung

Automatische Softwaretests rücken immer mehr in den Mittelpunkt. Gerade die derzeit vielfach eingesetzten agilen Vorgehensweisen benötigen ein teamübergreifendes und reproduzierbares Verfahren zur Sicherung der Softwarequalität. In diesem Vortrag legt Dirk Weil, Geschäftsführer der GEDOPLAN GmbH aus Bielefeld, das Augenmerk auf die Werkzeuge, die in Java-Projekten zum fortlaufenden Build und Test von Software genutzt werden können. Anhand einiger Praxisbeispiele zeigt er den Aufbau und Betrieb einer Continuous-Integration-Umgebung, die GEDOPALN für Softwareprojekte betreibt. Dozent: Dirk Weil, Gedoplan

Inhalt

- Grundlagen und Motivation automatischer Softwaretests
- Testziele und Verfahren (Unit-Tests, Regressionstests, Akzeptanztests etc.)
- Build- und Testautomatisierung
- Beispielumgebung auf Basis von Ant, Maven, Subversion und Hudson
- Code-Analyse
- Extreme Feedback

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,352
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Softwarequalitätssicherungmit Continuous Integration ToolsTreffpunkt Semicolon, 26.10.2010, GFU Cyrus AGDirk Weil, GEDOPLAN GmbH
  • 2. Entwicklung von Informationssystemen30+ Jahre am Markt~35 MitarbeiterBeratung und EntwicklungMaßgeschneiderte Lösungen GEDOPLANStandardsoftware Archi- Entwick- Analyse tektur lung SAP® Java
  • 3. Seit 1998 im Bereich Java: 100+ Beratungs- und Entwicklungsprojekte Konzeption und Entwicklung 30+ Seminartitel für Seminarpartner Java / Java EE GEDOPLAN Diverse App.-Server Glassfish Archi- Entwick- IBM WebSphere Analyse tektur lung JBoss Oracle WebLogic SAP® SAP NetWeaver Java
  • 4. IT-Systeme und ProzesseBeratung, Schulung, Entwicklung80+ Mitarbeiterwww.involva-gruppe.de
  • 5. Automatischer Softwaretest Testgetriebene Softwareentw. Test- automatisierung 5
  • 6. Automatischer Softwaretest Experimentelles Verfahren zum Test einer Anwendung (SUT = System Under Test) Zwei Zielsetzungen: Destruktiver Test: Im SUT möglichst viele Fehler aufdecken Demonstrativer Test: Korrektheit des SUT demonstrieren Effiziente und kostensparende Test-Durchführung: Möglichst viele Test-Aktivitäten durch Werkzeuge unterstützen Test-Aktivitäten automatisiert ablaufen lassen 6
  • 7. Ziele der Testautomatisierung Explizite und detaillierte Beschreibung des Testwissens Effiziente Testdurchführung Reproduzierbare Testergebnisse Beliebige Wiederholbarkeit von Testläufen Erhöhung der Software-Qualität Einsparung von Personal- und Sachkosten 7
  • 8. Unit Tests Weit verbreitetes Framework: JUnit 4 Nutzt intensiv public class MitarbeiterServiceTest Annotationen { @BeforeClass Bedingt Java 5 public static void setUpBeforeClass() { Gute Integration … // Test-Fixture erzeugen } in IDE, Maven, … @Test public void testAddBerechtigung() { … // zu testende Funktionalität aufrufen Assert.assertEquals(…); } } 8
  • 9. Test von Swing-GUIs Abbot Framework zum Test von Java-GUI-Elementen Open Source http://abbot.sourceforge.net Record and Play Editor für GUI-Skripts Einbindung in JUnit möglich 9
  • 10. Test von Webanwendungen Selenium Testframework für Web- Anwendungen Open Source http://seleniumhq.org/ Record and Play via Browser-Plugin Integrierbar in JUnit 10
  • 11. Continuous Integration Voraussetzung: Projekt enthält ausführbare Tests JUnit Selenium, Abbot, … Build selbst ist auch ein Test! 11
  • 12. Continuous Integration Manuelle Ausführung reicht nicht belastet den Entwicklungsprozess keine (einheitliche) Veröffentlichung der Ergebnisse keine (einheitliche) Eskalation bei Fehlern An dem Teil habe ich nichts gemacht! Bei mir läufts! Oh, sorry – das habe ich noch nicht eingecheckt. 12
  • 13. Continuous Integration Anforderungen an eine Build- und Test-Umgebung Regelmäßige, automatische Ausführung zeitgesteuert ("Daily Build") durch Check-In getriggert … Kompletter Build Ausführung aller Tests Ggf. Qualitätsprüfung (Style, Coverage, …) Reporting Benachrichtigung 13
  • 14. Continuous Integration 14
  • 15. Continuous Integration Arte- Inform fakte CI-System Checkout Entw.-Umgebung Re- ports Checkout Commit SCM 15
  • 16. Hudson "Extensible Continuous Integration Engine" Build und Test von Software-Projekten Monitoring von beliebigen Jobs Einfache Installation und Konfiguration Umfangreiche Werkzeugunterstützung "out-of-the-Box" SVN, CVS ant, mvn, shell javadoc, junit, … 16
  • 17. Installation und Start Download von hudson.war von http://hudson-ci.org/ Start … per Kommandozeile: java –jar hudson.war als Deployment in JBoss, Tomcat, … Bedienung per Browser auf http://host:8080[/hudson] 17
  • 18. Job-Übersicht 18
  • 19. Zusammenfassung eines Jobs 19
  • 20. Zugriff auf Build-Ergebnisse Javadoc Gebaute Artefakte Unittest-Ergebnisse (inkl. Drill-Down) 20
  • 21. Benachrichtigungen Per Mail nach jedem fehlgeschlagenen Build nach erstem erfolgreichen Build an Mail-Verteiler oder Verursacher 21
  • 22. Erweiterbarkeit Plugins Core 2006 2007 2008 2009 22
  • 23. Erweiterbarkeit Plugin-Konzept Benachrichtigungen IRC, Jabber, Twitter, … Oberfläche Emotical Hudson, Green Balls, … Benutzerverwaltung Active Directory, LDAP, … Berichte Checkstyle, Cobertura, Crap4J, FindBugs, PMD, … 23
  • 24. Erweiterbarkeit Plugin-Konzept Build-Werkzeuge Buckminster, Gradle, Rake, … Quellcodeverwaltung ClearCase, Git, PVCS, Visual Sourcesafe, … Artefaktverteilung FTP, SCP, … … 24
  • 25. Projekt-Voraussetzungen Build per Cmd Line ant, mvn, make, shell, … Projekt komplett im SCM alle Dependencies verfügbar auch im SCM per Maven o.ä. 25
  • 26. Erweiterungen: Checkstyle Überprüft die Einhaltung von Konventionen im Java-Code. Maven-Plugin: Prüfung des Codes Hudson-Plugin: Sammeln und Darstellen der Prüfergebnisse Trend Drill-Down 26
  • 27. Erweiterungen: Cobertura Prüft die Code-Abdeckung durch Tests Maven-Plugin: Instumentierung des Codes, Testausführung. Hudson-Plugin: Sammeln und Darstellen der Prüfergebnisse Trend Drill-Down 27
  • 28. Erweiterungen: Extreme Feedback Prominente Darstellung des Build-Status Emotional Mr. Hudson Builderlein … 28
  • 29. Weitere Features S Verteiltes Build M S S Matrix Build Derby Oracle JBoss MySQL 29
  • 30. Danke für Ihre Aufmerksamkeit! Haben Sie Fragen?

×