Open-Source-Werkzeugkasten für Software-QS. 05.05.2011 10:15-11:15 Uhr Zagrebsaal I



Ähnliche Dokumente
Kontinuierliche Architekturanalyse. in 3D

Eins für alles? Monitoring und Profiling mit VisualVM

Auswahl eines Continuous Integrationsservers

Echolot Qualitätssicherung mit Sonar

Build-Pipeline mit Jenkins

Werkzeuggestützte Softwareprüfungen Statische Analyse und Metriken

Christian Meder inovex. Sauberes Grün QS für Android

Softwarequalität: Einführung. 15. April 2015

Spock und Geb: Übersichtlich und nachvollziehbar Testen für alle!

Agile Java-Entwicklung in der Praxis

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH

Gutes Benehmen Akzeptanztest-getriebene Software-Entwicklung in einem Web-Projekt

Maven 2 Softwareprojekte mit Kultur

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG

Der frühe Tester fängt den Bug

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Matthias Küspert software engineering

Testen und Testautomatisierung in agilen Projekten

Test Driven Development

Quality Point München

Entwicklungswerkzeuge

CamelCaseCon 2011 Vortrag von Stefan Glase am Statische Code-Analyse für Groovy & Grails mit CodeNarc

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm

DevOps bei den ID Build-Automatisierung statt Silo-Betrieb

Iterativ. Inkrementell

Serbest Hammade / Resh serbest.hammade@hammade.de. Do, 21. Juni 2012

Kampf dem Fehlerteufel PMD, Findbugs und Checkstyle in großen Projekten

Qualität von Software - Prof. Schlingloff, Lackner - SS2013 DYNAMISCHER TEST. Whitebox Testen mit JUnit

ZuuL - Entwicklung eines Adventures

Was bringt TDD wirklich?

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner

Herzlich Willkommen zum Fachgruppentreffen Software-Test in Leinfelden-Echterdingen

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Requirements-basiertes Testen am Beispiel des NI Requirements Gateways

Continuous Integration mit Jenkins

Wer bin ich. > Senior Consultant, Architekt und Trainer (MATHEMA Software GmbH) > 25+ Jahre Software > 12+ Jahre Java Enterprise > 7+ Jahre.

Spock und Geb (WebDriver) Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden?

Unit Tests. Programmiermethodik. Eva Zangerle Universität Innsbruck

Referat. Continuous Integration. mit Maven und Jenkins. Benjamin Keeser. Hochschule für angewandte Wissenschaften München FB 07 Informatik (Master)

Qualitätsmanagement im Projekt

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

Scrum, ISIS und ISO 9001 zertifiziertes Qualitätsmanagement. Joachim Meyer

Wanna be faster? Performance kann man managen! Application Performance Management, TIC Konferenz 2014

Mobile Apps: Von der Entwicklung bis zum Test mit HP Software

Die 7 Wege zum Clean Code

Anforderungsgetriebene Webentwicklung mit Grails:

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Automatisiertes End-to-end Testen von Enterprise Applikationen

Java Entwicklung für Embedded Devices Best & Worst Practices!

Software - Testung ETIS SS05

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

HAGEN KLATT. Geburtsjahr 1989 Profil-Stand Juni Triona Information und Technologie GmbH Dekan-Laist-Straße 15a Mainz

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Entwicklung von effizienten UI-basierten Akzeptanztests für Webanwendungen

Testen im Software- Entwicklungsprozess

Test. Hauptsache, es läuft? Entwicklung. Wartung. iks Thementag. Mehr Softwarequalität Best practices für alle Entwicklungsphasen

Robert Hartmann Public v1.0 (Feb 2015) Architektur & Agilität - Praxisbericht

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Oracle GridControl Tuning Pack. best Open Systems Day April Unterföhring. Marco Kühn best Systeme GmbH

Last- und Stresstest mit the Grinder 3

PROFIL HAGEN KLATT. Stand: Juni Triona Information und Technologie GmbH. Dekan-Laist-Str. 15a Mainz. Tel: /

Softwaretests. Werkzeuge zur Automatisierung. Thementag Wer testet, ist feige. Autor: für Markus Alvermann.

Codequalitätskontrolle mit SonarQube

TDD. mit JUnit & Mockito. Tobias Trelle, codecentric

Atlassian Git Essentials Nahtlose Entwicklungsworkflows aus einer Hand

T3 Testen im Software- Lebenszyklus

Detecting Anomaly and Failure in Web Applications

Tanuki Service Wrapper 101. JVM Verwaltung mit der Community Edition. Alexander Pacnik Karlsruhe,

The Art of Unit Testing

Testing. Modul Software Komponenten. Roland Gisler. Inhalt

WLGauge: : Web Link Gauge to Measure the Quality of External WWW Links. Andreas Lübcke

Chancen agiler Softwareentwicklung. Dipl.-Inform. Henning Wolf Geschäftsführer der akquinet agile GmbH

Automatisierte GUI Tests in fachlichen Teststufen Patrick Möller

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend

Agiles Testen - Ein Erfahrungsbericht Thomas Schissler / artiso AG Michael Lierheimer/ infoteam software AG

Open Source. Hendrik Ebbers 2015

Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013!

APEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH

TDD für iphone OS. xpdays Tammo Freese

Cloud-Provider im Vergleich. Markus

Testen von graphischen Benutzeroberflächen. 26. Juni 2013

ISIS. Das Navigationssystem für angemessene Qualität und hohe Effizienz

Java Performance Tuning

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Continuous Integration in JBF. Johannes Kellner

Last- und Stresstest. Überblick. Einleitung / Motivation Stresstest Lasttest Tools The Grinder Zusammenfassung

Effiziente Testautomatisierung in agilen Projekten

Telling TestStories Modellbasiertes Akzeptanz Testen Serviceorientierter Systeme

Agile Softwareprozess-Modelle

Automatisierte Regressionstests per Knopfdruck sparen Zeit und Ressourcen sichern die Qualität schonen die Nerven

ABSICHERUNG MODELLBASIERTER SICHERHEITSKRITISCHER AVIONIK SOFTWARE Dr. Elke Salecker

Weniger Risiko, höhere Qualität, mehr Effizienz Der Einsatz von SASUnit in der Datenintegration bei der Fraport AG

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Refaktorisierung des Eclipse- Plugins Saros für die Portierung auf andere IDEs. Verteidigung der Bachelorarbeit von Arndt Tigges

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Rene Schneider GEBIT Solutions GmbH. Integrity - ein innovatives Tool zur Acceptance-Test-Automatisierung

Transkript:

Open-Source-Werkzeugkasten für Software-QS 05.05.2011 10:15-11:15 Uhr Zagrebsaal I 1

Speaker Tobias Joch inovex GmbH Head of Solution Development leichtgewichtige und hochskalierende (Web-) Anwendungen CCD 2

Kurzer Überblick über das Thema QS 3

Ziel = Erfüllung der Qualitätsmerkmale Korrektheit Zuverlässigkeit Robustheit Effizienz Benutzerfreundlichkeit Wartbarkeit Wiederverwendbarkeit Portierbarkeit Kompatibilität Vertrauenswürdigkeit 4

Agiler Prozess am Beispiel von Scrum 24 2-4 5

QS im SDLC Tracking CR/Bug Analyse Design Specs BDD TDD Monitoring Systemtests Wartung CI Delivery Impl. UAT xunit Metriken Pair- Programming Integrationstests Manuell Pen-Tests Reviews 6

Abgrenzung / Scope Umfangreiches Thema Konzentration auf die für Java-(Web-) Entwicklung relevantesten Tools und Frameworks kein Anspruch auf Vollständigkeit 7

Inhalt des heute mitgebrachten Werkzeugkasten 8

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,... 9

Unit-Tests xunit Mastertextformat JUnit bearbeiten de facto Standard DBUnit XMLUnit HTTPUnit EJB3Unit SpringJUnit4ClassRunner... TestNG 10

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/ 11

JUnit IDE-Integration 12

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 13

Test Coverage Eclipse Plugins djunit EclEmma Reports Cobertura Emma 14

Web-Tests 15

Web-Tests Validatoren Link Checker HTML-Syntax,... Functional / Acceptance Fitnesse Selenium (Grid) Windmill Cucumber (rake, rspec) Celerity, Watir,... 16

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!" 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!" 18

Performance- / Last-Tests 19

Performance- / Last-Tests Apache ab JMeter Grinder GrinderStone Tsung Erlang High Performance Multi-Protokoll 20

JVM-Analyse Tools / Techniken 21

Shell / Console JVM-Analyse Tools / Techniken kill -3 / jstack Thread Dump für z.b. looping threads, timeouts, etc. jvmstat jps jstat visualgc jconsole VisualVM Eclipse Memory Analyzer Heap Dump Analyse 22

Build-Tools / CI 23

Build-Tools / CI Build-Tools Ant Maven Buildr Gradle CI CruiseControl Apache Continuum Hudson => Jenkins 24

Build-Tools / CI Maven einheitliche der Projektstruktur Standard Aufgaben out-of-the-box Plugins Dependency Management Firmen eigener Proxy sinnvoll QS 25

Build-Tools / CI Jenkins aktive Community viele Plugins einfache Verwaltung http://www.wakaleo.com/books/ jenkins-the-definitive-guide 26

Build-Tools / CI Jenkins Beispiel http://ci.jenkins-ci.org/ 27

Vielen Dank! 28

Statische Code-Analyse 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,... 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 standard 31

Reports / Metriken 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 33

Reports / Metriken Umfang (LOC, Wiederverwendung, Prozeduren,...) Komplexität (McCabe) Lesbarkeit (Stil) Entwurfsqualität (Modularität, Kohäsion, Kopplung,...) Produktqualität (Testergebnisse, Testabdeckung, Dubletten,...)... 34

Reports / Metriken Sonar Integration in Maven und Eclipse Jenkins-Plugin http://nemo.sonarsource.org/ 35