Java User Group Stuttgart eV Java User Group Stuttgart eV Java User Group Stuttgart eV Java User Group Stuttgart eV
JUGS RSS-FeedJUGS XING GruppeJUGS @ twitterJUGS bei Google+JUGS bei MeetupiJUG MemberJava User Group Stuttgart eVMember of java.net Java User Group Stuttgart e.V.
Java User Group Stuttgart eV Java User Group Stuttgart eV Java User Group Stuttgart eV Java User Group Stuttgart e.V.
Java User Group Stuttgart eV Java User Group Stuttgart eV
Home
Profil
Mitgliedschaft
Info-Abonnement
Veranstaltungen und Vortragsfolien
Sponsoren und Partner
jugs.board
Dokumente
Kontakt
 
Java Forum Stuttgart
JUGS Special Interest Groups
 
Impressum
Java User Group Stuttgart eV

Stuttgarter Test-Tage am 21. & 22. März 2013

Bilanz zu den Stuttgarter Test-Tagen in Oli's Blog

Übersicht  |   Programm  |   Abstracts  |   Kosten/Leistungen  |   Anmeldung  |   Termine  |   Sponsoring

Veranstaltungsort, Kontakt & Sonstiges

Abstracts

 

 

Willkommen zu den Stuttgarter Test-Tagen 2013
Begrüßung und Organisatorisches

Oliver Böhm

» Folien

 

 

Gurkensalat statt Spaghetticode
BDD mit Cucumber für Java

Jan Stamer, Sebastian Groß, PE INTERNATIONAL

» Folien

21. März 2013
09:30 - 10:15 Uhr

Wie weisen wir nach das unsere Software das tut was sie soll? Unit Tests. Und für den Fachbereich oder die Revision die keine Unit Tests versteht? Hm, … versuchen wir es doch mal mit Behaviour Driven Development (BDD). BDD verspricht die Lücke zu füllen. Dazu werden Anforderungen an die Software von Fachbereich und Entwicklung in einer gemeinsamen Sprache notiert. Die Anforderungen werden in Form von Tests ausführbar gemacht um Fortschritt und Korrektheit der Entwicklung nachzuvollziehen.

Bei PE INTERNATIONAL haben wir vor über einem Jahr die ersten Schritte mit BDD gemacht. Inzwischen setzen wir BDD für mehrere unserer Produkte ein. Von den Erfahrungen und Lessons Learned wollen wir gerne berichten. Wir verwenden das BDD Framework Cucumber in Varianten für PHP und Java.

Agenda

  • Motivation von BDD
  • Einführung BDD
  • Erste Schritte mit Cucumber für Java
  • Lessons Learned

Übung

  1. Einfaches Szenario formulieren (z.B. zum Thema Einkaufen im Netz).
  2. Ausführen des Shopping Features von Cucumber JVM.
  3. Eigenes Szenario mit Cucumber JVM ausführen.

Über die Referenten

Jan Stamer ist Senior Software Engineer bei PE INTERNATIONAL AG.

Sebastian Groß ist Quality Assurance Manager bei PE INTERNATIONAL AG.

 

 

Entwicklung von effizienten UI-basierten Akzeptanztests für Webanwendungen

Dr. Annahita Oswald-Röhrig, Andreas Falk, NOVATEC GmbH

» Folien

21. März 2013
10:15 - 11:00 Uhr

Selbst im heutzutage überwiegend agilen Softwareentwicklungsumfeld ist es nach wie vor eine Herausforderung die Umsetzung der gewünschten Funktionalität im Sinne des Kunden sicherzustellen.

Hierfür sind effiziente Tests zur Abdeckung der Akzeptanzkriterien für die User Stories unverzichtbar.

In diesem Vortrag wird die Entwicklung effizienter Akzeptanztests für Webanwendungen auf Basis von Selenium und Greenpepper dargestellt.

Dazu werden zunächst die grundlegenden Konzepte des Acceptance Test Driven Developments (ATDD), sowie die grundsätzliche Funktionsweise von Selenium erläutert.

Im weiteren Verlauf wird beschrieben, wie ausgehend von den Akzeptanzkriterien der User Stories, die Erstellung von Akzeptanztests bewerkstelligt werden kann. Hierbei werden wir mit Best-Practices und insbesondere dem Page-Objects-Pattern Wege aufzeigen, wie man auch entsprechend über die Zeit stabile Web-Tests erstellen und diese automatisieren kann.

Übung

Von der User-Story zum automatisierten Akzeptanztest mit Selenium und Greenpepper

In dieser Übung erhalten die Teilnehmer die Möglichkeit automatisierte Akzeptanztests für eine Bespielanwendung zu schreiben. Als Basis verwenden wir eine Anwendung für die es exemplarisch schon eine paar Tests gibt.

Zu Beginn werden wir die Anwendung und die Tests kurz vorstellen. Im Anschluss daran werden wir Anforderungen und Akzeptanzkriterien definieren. Anhand dieser Akzeptanzkriterien werden Tests entworfen, automatisiert und ausgeführt.

Nach den Übungen werden die Teilnehmer einen Einblick in die Testerstellung zusammen mit Selenium, Greenpepper und Confluence gewonnen haben.

Dr. Annahita Oswald-Röhrig Über die Referenten

Dr. Annahita Oswald-Röhrig ist seit eineinhalb Jahren bei der NovaTec GmbH als Consultant in der Competence Group "Agile Quality Engineering" tätig. Ihre Schwerpunkte liegen in der Java Enterprise Entwicklung in agilen Projekten. Zuvor promovierte sie an der Ludwig-Maximilians-Universität München im Bereich Datenbanksysteme / Data Mining und war Autorin mehrerer Artikel in Fachzeitschriften und Journalen sowie Sprecherin auf nationalen und internationalen Konferenzen.

Andreas Falk Andreas Falk arbeitet seit mehr als fünfzehn Jahren im Enterprise-Java-Umfeld. Seit zwei Jahren ist er bei der NovaTec Ingenieure für neue Informationstechnologien GmbH als Senior Consultant tätig. In verschiedenen Stationen als Berater, Architekt, (Teil-)projektleiter und Java-Entwickler in mittleren und großen Kundenprojekten hat er einen umfassenden Erfahrungsschatz aufbauen können. Erfahrungen mit diversen Test-Themen hat Andreas Falk in Kundenprojekten durch die Gestaltung und Mitwirkung in allen üblichen Teststufen beginnend beim Unit-Test, über Integrationstests bis hin zu Systemtests, Performancetests etc. sammeln können. Darüber hinaus beschäftigt sich Andreas Falk im aktuellen Projektkontext u.a. mit der Konzeption und dem Aufsetzen von automatisierten UI- und Last-Tests.

 

 

Enterprise Service Bus as Testing Sandbox for SOAP and REST Web Services

Kai Wähner, Talend

» Folien

21. März 2013
11:30 - 12:15 Uhr

SOAP und REST Web Services sind die de-facto-Standards für die Kommunikation zwischen verschiedenen Programmiersprachen, Anwendungen und Organisationen. Werkzeuge zur Modellierung und Implementierung von Web Services sind in den letzten Jahren immer stabiler und mächtiger geworden. Allerdings ist das Testen dieser Web-Services immer noch eine große Herausforderung.

Diese Session zeigt eine bisher exotische - aber perfekte - Lösung zum Testen von SOAP und REST Web Services: Die Verwendung eines Open-Source Enterprise Service Bus (ESB) als Test-Sandbox. Ein ESB wird in der Regel als Integrationsinfrastruktur innerhalb einer Service-orientierten Architektur zur Implementierung und Ausführung von Web Services mit hoher Zuverlässigkeit und Skalierbarkeit verwendet. Allerdings kann ein ESB auch sehr gut als Test Sandbox verwendet werden. Der visuelle Designer ermöglicht das einfache und sehr effiziente Erstellen von Mocks und zugehörigen Testdaten für Service Consumer und Service Provider. Darüber hinaus können Sequenzen von verschiedenen Service-Anrufen und andere Testlogik modelliert und automatisiert werden. Die Testfälle können mittels der mitgelieferten Weboberfläche direkt geplant und ausgeführt werden. Auch die Integration in eine Continuous Integration Infrastruktur ist möglich. Der Tester verwendet den ESB als Test Sandbox für alle Web-Services, um den Aufwand zu reduzieren und die Qualität der Tests spürbar zu verbessern.

Übungen

Nach der Präsentation kann jeder Teilnehmer versuchen, auf seinem eigenen Laptop einige Tests für SOAP und REST Web Services umzusetzen. Der Einstieg fällt dank der grafischen Benutzeroberfläche und Codegenerierung sehr einfach. Da der verwendete ESB eine Open Source Lösung ist, kann die gelernte Technik nach dem Workshop sofort in eigenen Projekten ohne weitere Kosten eingesetzt werden.

Kai Wähner Über den Referenten

Kai Wähner ist als Principal Consultant bei Talend tätig. Seine Schwerpunkte liegen in den Bereichen Java EE, SOA, Cloud Computing, BPM, Big Data und Enterprise Architecture Management. Außerdem ist er Autor von Fachartikeln, hält Vorträge auf internationalen IT-Konferenzen (z.B. JavaOne, ApacheCon, OOP) und berichtet in seinem Blog (www.kai-waehner.de/blog) über Erfahrungen mit neuen Technologien. Feedback gerne per Email (kontakt@kai-waehner.de), Twitter (@KaiWaehner) oder sozialem Netzwerk (Xing, LinkedIn).

 

 

NABUCCO Test Automation - Automatisiertes Testen ohne Programmieren

Dominik Kaulfuss, PRODYNA AG

» Folien

21. März 2013
12:15 - 13:00 Uhr

Das Testen von Anwendungen und ganzen Anwendungslandschaften wird durch neue Technologien wie z.B. HTML 5 und immer stärkeren Einsatz von Javascript zu einer echten Herausforderung. Die Automatisierung von Tests kann nicht mehr nur als Blackbox-, sondern muss oftmals als Greybox-Test stattfinden und sollte im Idealfall ohne Programmierkenntnisse des Testers erstellt werden können. Damit komplexe Systeme mit vertretbarem Zeitaufwand getestet werden können, müssen Redundanzen in den Tests vermieden und stark auf Wiederverwendung gesetzt werden.

Die in Test Automation genutzten Testelemente für die Erstellung von fachlichen Tests und der dazugehörigen Test-Logik sowie der technischen Anbindung an das SUT (System under Test) wird anhand eines einfachen Beispiels demonstriert. Dabei werden die Kernfunktionen wie z.B. Wiederverwendung von fachlichen Tests, Test für mehrere Browser, versionsabhängige Tests, Mehrbenutzerfähigkeit des Clients und Testlogik ohne Programmierkenntnisse im Detail vorgestellt.

Tests in NABUCCO Test Automation können interaktiv über den Test-Client sowie über eine Jenkins-Integration oder auch zeitgesteuert über Batch-Jobs ausgeführt werden.

Für folgende Technologien existieren Test-Treiber

  • Web-Tests für alle Browser
  • Datenbank-Tests über JDBC
  • WebServcies (SOAP)
  • ReST
  • Swing Oberflächen
  • FTP und SFTP
  • SMB (Samba Shares)
  • Asynchrone Prozesse (Batches)

Übungen

Für die Übungen steht ein Testsystem von NABUCCO Test Automation zur Verfügung, dass Blackbox-Test einer Web-Anwendung mit Tests einer lokalen Datenbank verbindet.

Auf dem Testsystem können unter anderem folgende Schritte ausprobiert werden:

  • Erstellen von fachlichen Tests
  • Ausführen von automatischen Tests
  • Ausführen von manuellen Tests
  • Wiederverwenden von fachlichen Tests
  • Erstellung von logischen Testschritten
  • Speichern von Testergebnissen
  • Export der Testergebnisse nach Excel
  • Tests für mehrere Umgebungen, Versionen und Mandanten konfigurieren

Dominik Kaulfuss Über den Referenten

Dominik Kaulfuss (M.Sc.) studierte Wirtschaftsinformatik an der Hochschule München. Durch eine frühe Fokussierung auf den Bereich der Software Qualitätssicherung kann er auf vielfältige Erfahrung bei verschiedensten Wirtschaftsunternehmen zurückgreifen. Im Rahmen der PRODYNA Test Factory ist Dominik Kaulfuss Experte auf den Gebieten der Testautomatisierung, des modellbasierten Testens und des Testmanagements. Bei einem Telekommunikationsunternehmen betreute er die Einführung und den Einsatz der NABUCCO Test Automation. Darüber hinaus ist er auf das Testdesign und die Testdurchführung neuer Funktionalitäten fokussiert. Die Zertifizierung zum ISTQB Certified Tester rundet das Profil von Herrn Kaulfuss ab.

 

 

Wie können freie Werkzeuge zum strukturierten Testen von Web-Applicationen eingesetzt werden?

Christian Baranowski, SEITENBAU GmbH

» Folien

22. März 2013
09:00 - 09:45 Uhr

Der Vortrag zeigt, wie Tests für Web-Applikationen mit gängigen Open Source Werkzeugen (Spock und Selenium WebDriver) effizient und strukturiert erstellt werden können. Das Ziel des Vortrags ist es, dabei aufzuzeigen, welch Vorteile im Hinblick auf Effizienz und Qualität man durch entsprechenden Werkzeugeinsatz und Automatisierung bei der Testumsetzung und Durchführung erzielen kann. Der Vortrag zeigt anhand einer durchgehenden Demo ganz konkret alle dazu notwendigen Aspekte.

Die gezeigten Methoden und Werkzeuge beruhen auf der langjährigen Erfahrung im Bereich der Testautomatisierung von großen Web-Applikationen in den unterschiedlichsten Projektumfeldern bei der SEITENBAU GmbH. Es hat sich in der Projektpraxis gezeigt, dass zwar oft komplexe Werkzeuge für die Testautomatisierung eingesetzt werden, aber strukturiertes Vorgehen wie z.B. Äquivalenzklassen oftmals nicht beachtet werden. Um effizient Systemtests erstellen und von der Automatisierung profitieren zu können, sind aber gerade diese grundlegenden Methoden unverzichtbar.

Im ersten Teil des Vortrags wird zunächst knapp in gängige Open Source Werkzeuge zum Testen von Web-Applikationen eingeführt. Dabei wird unter anderem gezeigt, wie Tests an eine Web-Oberfläche mittels Selenium WebDriver angebunden und wie diese mit dem Werkzeug Spock automatisiert werden können. Nach der Vorstellung der Werkzeuge wird dann im zweiten Teil des Vortrags gezeigt, wie auf Basis der vorgestellten Werkzeuge strukturiert und effizient Tests für eine Weboberfläche erstellt werden können. Hier geht es dann vor allem darum, wie die Erzeugung von geeigneten Testdaten strukturiert werden kann. Wie können mittels Äquivalenzklassen und parametrisierten Tests die Werkzeuge effizient genutzt werden? Zur Beantwortung dieser Fragen wird beispielsweise aufgezeigt, wie Testdaten für eine Oberfläche deklarativ beschreiben werden können. Wie sich anschließend mit kleinen Hilfswerkzeugen Testdaten für die Eingabemasken auf dieser Basis generieren lassen.

Insgesamt bietet der Vortrag eine kompakte und sehr praxisnahe Einführung, in die Erstellung von automatisierten Tests für moderne Webapplikationen auf Basis von Open Source Werkzeugen. Darüber hinaus bietet er einen interessanten Einblick in die Jahrelange Praxiserfahrung der Testautomatisierung von Webapplikationen bei der SEITENBAU GmbH.

Übungen

In der Übung zum Vortrag wird auf Basis der gezeigten Werkzeugkette (Selenium WebDriver und Spock) ein datengetriebner Test für eine Web-Applikation von den Teilnehmern erstellt. Im Vortrag und in den Übungen werden die Teilnehmer in die folgenden Werkzeuge eingeführt:

Christian Baranowski Über den Referenten

Christian Baranowski (Dipl.-Inform. FH), studierte Software Engineering an der HTWG Konstanz. Er arbeitet in erster Linie mit objektorientierten Technologien im Java Umfeld. Seit 2007 arbeitet er für die Seitenbau GmbH und ist dort verantwortlich für die Software-Qualitätssicherung. Seine Rolle bei Seitenbau versteht er als agiler Software-Entwickler und Tester.

Christian organisiert gemeinsam mit Jochen Hiller für das OSGi Users Forums Germany die Enterprise Arbeitsgruppe. Darüberhinaus ist er im Vorstand des OSGi Users Forum tätig und für dessen Öffentlichkeitsarbeit zuständig.

 

 

Continuous Integration & Testing meets BPM meets Reality

Jonas Grundler, NOVATEC GmbH

» Folien

22. März 2013
09:45 - 10:30 Uhr

Continuous Integration ist in aller Munde und wird bereits überall eingesetzt, zusammen mit sinnvollen Tests, die sämtliche Szenarien abdecken: Betrachtet man BPM (Business Process Management), ist diese Aussage provokativ-ironisch zu verstehen.

Gerade in BPM Projekten fehlt es oft an Mut, der Komplexität, die mit Tests einher kommt, zu begegnen. Zugegebenermaßen ist es ja auch nicht ganz einfach. Wie erreiche ich beispielsweise eine hohe Testabdeckung? Und was heißt Testabdeckung überhaupt im Umfeld von BPM? Etwa: Sind all meine Tasks oder Aktivitäten mindestens einmal aktiviert worden? Wurde jeder Pfad einmal durchlaufen, etc...?

Hinzu kommt die enorme Vielfalt, mit der sich (Modellierungs-)Probleme lösen lassen: Verwende ich einen Multi-Instance Task? Oder eine Sequenz? Nutze ich ein Intermediate Event, oder doch lieber einen Receive-Task? Gerne hätte ich aber einen (Modellierungs-)Standard, der in meinem Unternehmen eingehalten wird. Die Vorteile, festgelegte Patterns für bestimmte Problemstellungen einzusetzen, liegen auf der Hand: verbesserte Lesbarkeit, vereinfachtes Testen, Einsatz von Best Practices.

Mithilfe von Jenkins, Sonar, und weiteren Werkzeugen - je nach eingesetzter BPM-Software - lassen sich Continuous Integration, Testen und BPM vereinen. Darüber hinaus können Prozessmodelle auf die Einhaltung von Richtlinien/Best Practices/Patterns, Tests von Prozessmodellen auf ihre Testabdeckung, und vieles mehr, überprüft werden. Dass das geht - und wie das geht - wollen wir heute zeigen. Für verschiedene BPM Tools, kommerzielle und Open-Source.

Übungen

Die in der Beschreibung angerissenen Themen werden im Vortrag, als auch in den Übungen diskutiert und erörtert:

  • Anhand von Beispielen soll das Thema Testabdeckung diskutiert werden
  • Anhand von Beispielen soll das Thema BPM und Patterns und die Vorteile für das Testen diskutiert werden
  • Eine Jenkins-Sonar-IBM BPM 8.0 Testumgebung steht zur Verfügung, um BPM + CI am lebenden Objekt zu erforschen

Jonas Grundler Über den Referenten

Jonas Grundler arbeitet seit mehr als zehn Jahren im Java und BPM-Umfeld (Geschäftsprozessmanagement). Seit zwei Jahren ist er bei der NovaTec Ingenieure für neue Informationstechnologien GmbH als Managing Consultant tätig. In verschiedenen Stationen als Berater, Performance-Experte, BPM-Produktarchitekt und (Java- und BPM-)Entwickler hat er einen umfassenden Erfahrungsschatz aufbauen können. Durch mehrere Beratungen in BPMS-Auswahlverfahren hat er sich einen guten Überblick über verschiedene BPM-Produkte erarbeitet. Erfahrungen mit Test-Themen hat Jonas Grundler in Kundensituationen sammeln können, als auch als Betreuer von Thesen im Zusammenhang mit Continuous Integration, dem Testen und der Analyse von Prozessmodellen.

 

 

Fehlervermeidung in Java-Programmen durch generierte Constraint-Klassen

Heiner Kücker

» Folien

22. März 2013
11:00 - 11:45 Uhr

Der Redner erläutert die Möglichkeiten zur Verwendung von Constraint-Prüfungen in Java-Programmen zur Compile-Zeit anhand eines selbstgeschriebenen Code-Generators, welcher logische Ausdrücke aufgebaut aus Prädikaten in Java-Klassen kondensiert.

Übungen

Anhand eines vorgefertigten Eclipse-Projekts können die Teilnehmer eigene Constraint-Expressions definieren und den Code-Generator starten.

Mit Includes und Excludes kann Konvertierung zu kompatibeln Constraints und die Vereinfachung der automatisch erzeugten Constraint-Expressions des sicheren Switch gesteuert werden.

Wertebereiche können mit dem Range-Check abgesichert werden.

Sichere Operationen bilden Ursprungs-Constraints auf Ziel-Constraints ab.

Die einfachen vorgefertigten sicheren Operationen für Sub-String dienen als Vorlage für beispielhaft anzulegende höherwertige fachliche sichere Operationen.

Heiner Kücker Über den Referenten

Heiner ist freiberuflicher Java-Entwickler seit 2000 und fühlt sich einfach sicherer, wenn der Compiler ihn vor seinen Flüchtigkeitsfehlern (macht er ständig) schützt.

Zur Rationalisierung seiner Arbeit schreibt er sich kleine main-Methoden-Tools.

Zwischen 2002 und 2005 hat er eine Fluss-Steuersprache für JSP-Apps entwickelt.

Daneben interessiert er sich für Programmiersprachen und -techniken, wie funktionale Programmierung.

 

 

Strict TDD - die unterschätzte Waffe des Entwicklers

David Völkel, codecentric AG

» Folien

22. März 2013
11:45 - 12:30 Uhr
Dieser Vortrag bzw. Workshop fiel leider wegen Verhinderung des Referenten aus.

An Testautomatisierung kommt heute kein Projekt mehr vorbei, das kurze Releasezyklen bei gleichzeitig hoher Qualität benötigt. Obwohl inzwischen viele Entwickler Tests automatisieren, praktiziert kaum einer Test Driven Development (TDD) in Reinform. Doch das strikte Befolgen der Regeln bietet über den reinen Sicherheitsnetz-Effekt von in Regression laufenden automatisierten Tests hinaus Vorteile wie verbessertes Design und fokussierteren Arbeitsfluss. Wer ohnehin bereits viel Zeit in das Schreiben von Tests investiert, sollte die zusätzlichen Potentiale von TDD also nicht verschenken.

Übungen

Für den Workshop bitte Ihre bevorzugte Entwicklungsumgebung inkl. Unittest-Framework mitbringen, da wir in Zweiergruppen (Pair-Programming) eine Kata mit Einschränkungen frei nach "TDD as if you meant it" bearbeiten. In der Übung lernen Sie, wie sich "strict TDD" anfühlt. Das hilft Ihnen dabei, einen grundlegenden Perspektivwechsel im Hinblick auf Arbeitsfluss und Design zu vollziehen.

Über den Referenten

David Völkel arbeitet als IT-Consultant für die codecentric AG. Ihn begeistern Softwaredesign im Kontext testgetriebener Entwicklung und Refactoring von Legacy-Systemen. Als bekennender "software craftsman" ist er in der Softwerkskammer aktiv und spricht auf Konferenzen.
Twitter: @davidvoelkel

 

 

 

Die Test-Tage werden freundlicherweise unterstützt von
PRODYNA AG NovaTec - Ingenieure für neue Informationstechnologien GmbH
Sponsor
Sponsor der Abendveranstaltung
Premium-Sponsor
dpunkt.verlag GmbH
Buch-Sponsor

 

Java User Group Stuttgart eV Java User Group Stuttgart eV
Java User Group Stuttgart eV

zurück zum Seitenanfang