Java User Group Stuttgart JUGS

JUGS RSS-Feed JUGS XING Gruppe JUGS @ twitter JUGS bei Meetup
iJUG Member Member of java.net
zur Startseite
zur Startseite

Stuttgarter Test-Tage am 16. & 17. April 2015

#StTT2015

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

Veranstaltungsort, Kontakt & Sonstiges

Abstracts

 

 

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

Oliver Böhm

 

 

Alles im Grünen! Specification By Example mit Greenpepper 4

Andreas Falk und Dieter Baier, NovaTec Consulting GmbH

16. April 2015
09:30 - 10:15 Uhr

"So habe ich mir die Funktion der Software aber nicht vorgestellt".
Wer hat nicht schon diesen denkwürdigen Satz vom Kunden vernommen, und dies womöglich kurz vor Fertigstellung des Produkts.
Specification By Example (SBE) definiert eine Reihe von Patterns & Techniken um dieser häufig auftretenden Anforderungsfalle zu entgehen.
In dieser Session werden die grundlegenden Konzepte von SBE wie u.a.Specification Workshops, ausführbare Spezifikationen und Living Documentation vorgestellt.
Im weiteren Verlauf der Session wird dann mit Greenpepper 4 ein mächtiges Werkzeug zur effizienten Umsetzung von SBE vorgestellt.

Übungen

Auf Basis einer existierenden Webanwendung können die Teilnehmer erste praktische Erfahrungen in der Umsetzung von SBE mit dem Werkzeug Greenpepper im Zusammenspiel mit der Wiki Software Confluence sammeln:

  1. Spezifikation eines Akzeptanztests mit SBE in Confluence ("Living Documentation")
  2. Verknüpfen des Tests mit Greenpepper ("Glue Code")
  3. Ausführen des Tests direkt aus der "Living Documentation"

Über die Referenten

Andreas Falk Andreas Falk arbeitet seit mehr als zwanzig Jahren im Enterprise-Java-Umfeld. Seit drei Jahren ist er bei der NovaTec Consulting 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-, Last- und Security-Tests.

Dieter Baier Dieter Baier arbeitet seit mehr als fünfundzwanzig Jahren als Sowftwareentwickler und Berater im Enterprise-Umfeld schwerpunktmäßig mit SOA. Seit fünf Jahren ist er bei der NovaTec Consulting GmbH als Managing Consultant tätig. In verschiedenen Stationen als Berater, Architekt  und Java-Entwickler in mittleren und großen Kundenprojekten hat er einen umfassenden Erfahrungsschatz aufbauen können. Durch die besondere Affinität zur qualitativ hochwertigen Softwareentwicklung kommt Herr Baier in den von ihm begleiteten Projekten immer wieder mit dem automatisierten Testen auf den unterschiedlichen Ebenen in Berührung. Seit einigen Jahren verlagert sich dabei der Schwerpunkt vom UnitTesten in die Automatisierung der Überprüfung von fachlichen Abnahmekriterien.

 

 

Manuelles Testen mit "Test Suite Management" - TSM

Dr. Rainer Schmidberger und Tobias Hirning

16. April 2015
10:15 - 11:00 Uhr

Das Open-Source-Testwerkzeug TSM wurde 2012 im Rahmen eines Studienprojekts des Studiengangs Softwaretechnik an der Universität Stuttgart entwickelt und in der Folge laufend an die Anforderungen der industriellen Praxis angepasst. Insbesondere fand Ende 2014 hierzu eine Bachelorarbeit statt, in der mehrere Praxisanwender in industriellen Großprojekten betreut wurden. TSM unterstützt den Tester beim Entwurf, der Ausführung und dem Auswerten der sogenannten manuellen Tests. TSM zielt hier speziell auf den Test von Informationssystemen, bei denen ein Testfall aus einer Folge von mehreren Testschritten besteht. Zu jedem Testschritt können die Eingaben und Soll-Resultate angegeben werden. Neben Texteingaben können auch Bildschirmkopien eingefügt werden. Die Testdurchführungen werden dann vom Tester systematisch auf Grundlage der spezifizierten Testfälle abgearbeitet. Der Tester vergibt hierzu pro einzelnen Testschritt und schließlich für den gesamten Testfall sein Testat. Eine besondere Stärke bildet schließlich eine Übersicht über alle getesteten Revisionen der einzelnen Testfälle.

Der Vortrag gliedert sich in zwei Abschnitte. Zuerst wir die zugrundeliegende Systematik vorgestellt. Im zweiten Abschnitt wird das Tool vorgestellt und ein praxistypischer Test wird präsentiert.

TSM gibt es derzeit in zwei Technologien. Einmal in einer ausgereiften Version als Eclipse-Plugin, das die bekannten Vorteile von Eclipse nutzt. Und zum zweiten als neue Web-Applikation, die insbesondere auch für mobile Endgeräte vorgesehen ist. Beide Tools sind aber hinsichtlich der zugrundeliegenden Methodik gleich und die Test-Daten sind kompatibel.

TSM ist als eclipse-Plugin unter http://sourceforge.net/projects/tsmtest/ verfügbar.

Übung

Dr. Rainer Schmidberger Im Übungsteil wird ein Testfall erstellt und gemeinsam bearbeitet und ausgeführt. Zur revisionssicheren Ablage kann TSM pdf-Dokumente generieren.

Über die Referenten

Dr. Rainer Schmidberger hat in der Abteilung Software Engineering des Instituts für Softwaretechnologie (ISTE) der Universität Stuttgart promoviert. Außerhalb der Hochschule wirkt er als Trainer und Coach für Testmethoden, Qualitätssicherung und Softwareentwurf. Derzeit ist er als Vertretungsprofessor an der HFT-Stuttgart tätig. Tobias Hirning hat an der Entwicklung von TSM tatkräftig mitgewirkt und in seiner Bachelorarbeit mehrere große industrielle Einsätze von TSM betreut.

 

 

Modellbasiertes manuelles Testen: Techniken und Tücken

Dr. Andrea Herrmann, Herrmann & Ehrlich

16. April 2015
11:30 - 12:15 Uhr

Beim manuellen Testen von IT-Systemen kann man oft auf existierende Modelle der Anwendungsfälle aufsetzen, z.B. UML-Aktivitätsdiagramme oder textuelle Use Cases aus der Anforderungsspezifikation. Eine Automatisierung dieser Herleitung von Testfällen ist praktisch schwierig, weil die Anforderungsmodelle oft nicht vollständig genug sind. Dieser Vortrag stellt Ansätze vor, wie aus den Anforderungen händisch Testfälle für den Systemtest (z.B. Anwendertest, Abnahme) hergeleitet werden können.

Aber auch die manuelle Herleitung von Testfällen und das Sicherstellen der Testabdeckung ist schwierig. Erstellt der Kunde die Abnahmetestfälle, ist das oft Aufgabe von Key Usern, nicht von Testexperten. Die Ergebnisse eines Experiments zeigen auf, wo konkret Fehler beim Testfalldesign gemacht werden und wie die Testdesigner unterstützt werden können.

Dr. Andrea Herrmann Übung:
Modellbasiertes manuelles Testen mit Regelunterstützung

In der Übung erstellen Sie von Hand Testfälle aufgrund eines Aktivitätsdiagramms, eines Zustandsdiagramms und eines textuellen Use Cases. Dabei werden Sie durch Regeln unterstützt. Anschließend diskutieren wir das Vorgehen.

Über die Referentin

Freiberufliche Trainerin und Beraterin für IT-Management. Meine 19 Berufsjahre waren eine bereichernde Mischung aus Praxis und Forschung: 7 Jahre als Beraterin und Projektleiterin, 10 Jahre in der Forschung und universitären Lehre, bis hin zu Vertretungs- und Gastprofessuren. Mehr als 100 Fachpublikationen, regelmäßige Konferenzvorträge, offizielle Supporterin des IREB-Board, Mitautorin von Lehrplan und Handbuch des IREB für die CPRE Advanced Level Zertifizierung in Requirements Management, stellv. Regionalgruppenleiterin der Gesellschaft für Informatik in Stuttgart-Böblingen und durch den BISG anerkannte IT-Sachverständige für Software Engineering Prozesse.

 

 

Jidebug - how Testers Can Help Developers

István Forgács, 4D Soft

16. April 2015
12:15 - 13:00 Uhr

The main task of testers involve the creation of test cases, execute them and report the failed tests to the developers. So far testers were not able to help developers to find the location of bugs. By applying Jidebug now testers can help. The key is execution comparison, i.e. when two execution traces are compared and the differences are displayed.

We consider one of the executions as a standard, which passes. If we know a correct execution, we can compare any failed one to it. Based on the execution differences, especially the historically first difference, the location of the fault can be found. There are some known pattern when this method can be applied. One of the most difficult bugs to find is the non-reproducible bug. Actually, non-reproducible bug is a bug which happens sometimes, while sometimes doesn't. Developers ignore this type of bugs until they become reproducible. Testers can record both the passed and the failed executions and send them to the developers, who can find the bug easier.

An experienced tester is able to select those failed tests which can be solved by Jidebug with high probability. Therefore testers should use Jidebug while executing test cases and if necessary they can send the recordings to the developers with the description on how to use them.

Exercise

  • Download Jidebug
  • The target is an open source code implementing Monopoly
  • By applying error seeding we insert some bugs into the code
  • There are 10 existing bug reports
  • The participant should select the ones which probably solvable with Jidebug
  • The participants should make execution comparison so that the difference be minimal, and send the most suspicious differences for validation

István Forgács Über den Referenten

István Forgács PhD. was originally a researcher interested in software testing, debugging, code comprehension, static and dynamic analysis.
He has published several scientific articles in leading journals and conference proceedings.
He is currently a managing director at 4D Soft and leads the software engineering department.
István Forgács is the founder and project owner of 4D Soft's latest products: Jidebug Active Debugger, Jatest Bug Alert and Ariadne Code Tracker.

 

 

Infrastruktur für Tests: Einfaches Setup, bessere Asserts

Michael Haug, andrena objects ag, und Franziska Sauerwein, andrena objects ag

17. April 2015
09:00 - 09:45 Uhr

In vielen Projekten ist das Know-how vorhanden, Tests mit JUnit oder ähnlichen Frameworks zu erstellen. Doch es gelingt nicht immer, diese Tests kurz und prägnant zu halten. Einerseits ist es oftmals schwierig eine der Laufzeit ähnliche Objektstruktur zu erzeugen. Andererseits verschleiern die aus dieser Struktur abgeleiteten assert-Statements häufig den eigentlichen Zweck der Tests. Dadurch sinkt die Motivation Unit-Tests zu schreiben deutlich und es wird wenn überhaupt nur noch in Integrationstests investiert.

Auch bei einfacheren Objektmodellen gibt es Vorgehensweisen und Praktiken, um Tests in wenigen Zeilen Code noch lesbarer und übersichtlicher zu gestalten.

Dieser Vortrag/Demo ist für Teilnehmer geeignet, die Unit Tests kennen und auch bereits Tests schreiben. Wir demonstrieren Praktiken, mit deren Hilfe Tests kurz und sauber formuliert werden können. Diese sind sowohl für Neuentwicklungen, als auch bestehende System mit oben genannten Problemen anwendbar. Zu diesen "Best Practices" gehören die Verwendung von Buildern und Matchern.

Die Codebeispiele sind mit Java geschrieben, jedoch lassen sich die Vorgehensweisen auf andere Sprachen übertragen.

Übung

In dieser Übung geht es darum, das im Vortrag vermittelte Wissen an Beispielen anzuwenden. Dabei werden Sie erfahren, wie es mit Hilfe von Buildern und Matchern möglich ist, einen Test übersichtlicher und sinnvoller zu gestalten.

Zu Beginn werden die Übungen, welche in Java in der Eclipse IDE geschrieben sind, kurz vorgestellt. Anschließend können die vorgestellten Übungen idealerweise im Pair bearbeitet werden. Mit Unterstützung bei der Umsetzung der Übungen können Sie natürlich rechnen. Unser Ziel ist es, mit Ihnen den nächsten Schritt in Richtung besser lesbarer Tests zu beschreiten.

Michael Haug Über die Referenten

Michael Haug ist sei Januar 2013 für die andrena objects ag in Softwareprojekten aktiv. Tests, welche die gegebene Funktionalität zwar abdecken, dabei aber unnötig komplex sind, stellen oft ein Hindernis bei Änderungen oder Erweiterungen an einem Programm dar. Franziska Sauerwein Aus diesem Grund ist es für ihn umso wichtiger saubere und wartbare Tests zu schreiben, die einfach und verständlich die Funktionalität sicherstellen.

Franziska Sauerwein ist Softwareentwicklerin bei der andrena objects ag. In der täglichen Projektarbeit bringt sie besonders gerne Methodiken aus XP und Scrum ein. In ihrer Freizeit besucht sie Treffen der Softwerkskammer sowie Konferenzen für Software Craftsmenship. Weiterhin organisiert sie Coding Dojos, Tech Talks, Code Retreats und Hackathons.

 

 

Einfache automatisierte Akzeptanztests für Web-Anwendungen nach dem KISS-Prinzip mit Geb

Martin Pelzer, iteratec GmbH

17. April 2015
09:45 - 10:30 Uhr

Testautomatisierung ist in agilen Projekten aufgrund der kurzen Release-Zyklen unabdingbar. Dabei kommen für die verschiedenen Stufen der Testpyramide verschiedene Tools zum Einsatz. Für den obersten Teil der Pyramide - die Akzeptanztests - existieren verschiedene Tools, die oft den Ansatz verfolgen, die Testfälle in natürlicher Sprache zu formulieren. Dies macht eine - manuelle oder automatische - Umsetzung der Testfälle in Quellcode erforderlich. Beispiele für solche Tools sind z.B. Cucumber oder Fitnesse.?In crossfunktionalen Teams besteht die harte Trennung zwischen Entwicklern und Testern nicht mehr, so dass diese Trennung als Grund für natürlichsprachliche Formulierung von Testfällen entfällt. Einzig der Product Owner ist in der Regel auf eine menschenverständliche Testfallrepräsentation angewiesen. Allerdings erstellt er die Testfälle nicht, sonder gibt lediglich die Akzeptanzkriterien vor.

Es stellt sich daher die Frage, ob die Komplexität der Umsetzung der natürlichsprachlich formulierten Testfälle in ausführbaren Quellcode immer notwendig ist. Das crossfunktionaöe Team könnte seine Testfälle direkt in leicht verständlichem Quellcode formulieren. Ein Tool, das bei diesem anderen Ansatz gut helfen kann, ist Geb. In einer einfach schreib- und lesbaren Groovy-Syntax werden Testfälle für Web-Anwendungen definiert, die direkt und ohne Interpretation oder anderweitige Umsetzung ausgeführt werden können.

Der Vortrag stellt den oben angerissenen Gedankengang ausführlich vor und gibt einen Einblick in das Tool Geb. Dabei wird veranschaulicht, wie man mit Geb - auch ohne ein Programmierprofi zu sein - menschenlesbare automatisierte Testfälle schreiben kann.

Übung

In dieser Übung lernen wir das Tool Geb kennen. Am Beispiel einer konkreten Web-Anwendung definieren wir Testfälle und setzen diese mit Geb um. Die Ausführung der Testfälle binden wir dabei in einen Build-Prozess ein, so dass wir den gesamten Prozess von Testfalldefinition, -umsetzung, -ausführung und Reporting abbilden. Außerdem schauen wir uns das Reporting eines Testlaufes genauer an. Martin Pelzer Für klassische Tester ohne größere Programmiererfahrung gibt es ein grundlegendes "Test-Framework" (das im echten Projekt von Entwicklern gebaut würde) als Basis, so dass "nur noch" die Testfälle definiert werden müssen. Tester mit Entwickler-Background können ggf. allen notwendigen Quellcode selbst entwickeln.

Über den Referenten

Martin Pelzer ist seit acht Jahren als Software-Entwickler und Software-Architekt in der Individualsoftware-Entwicklung tätig. In dieser Zeit war er vornehmlich in Java-Projekten und oftmals im Web-Umfeld unterwegs. Vor ca. vier Jahren kam er erstmals mit agilen Vorgehensmodellen in Berührung und lernte die Vorteile agiler Software-Entwicklung schätzen. Seine Interessensschwerpunkte sind neben der reinen Software-Entwicklung vor allem die Themen Build- und Release Management sowie agiles Testen. Seit Ende 2013 ist Martin Pelzer für die iteratec GmbH in Stuttgart tätig.

 

 

Einführung von Selenium 2 als Basis für automatisierte HTML-Oberflächentests - Ein Beispiel aus der Praxis

Katharina Knaus, it-economics GmbH

17. April 2015
11:00 - 11:45 Uhr

Mit der Einführung einer neuen JSF basierten UI bei einem Versicherungsunternehmen mussten auch die Oberflächentests reformiert werden. Bei ca. 50 unterschiedlichen facelets mit je durchschnittlich 25 UI-Elementen, die nicht nur tarif- sondern auch vertragsabhängig die Sichtbarkeit und den Wert ändern, ein gar nicht so einfaches Unterfangen. Selbstverständlich sitzen wie immer das Budget und die Zeit im Nacken. Die Lösung heißt Selenium 2.

Wie man zu dieser Lösung kam und was dabei zu Beachten war, wird im Vortrag erläutert. Es wird Schritt für Schritt jede Projektphase beleuchtet und die Herausforderungen, die gewählte Lösungsstrategie und die Lessons Learned aufgezeigt. Mit relativ geringem Aufwand wurde eine Test-Suite aufgebaut, die dem Entwickler und dem Tester einiges an Arbeit erspart.

Übung

In der Übung werden die Tools näher kennengelernt. Es wird geübt mit Selenium DIE Testfälle aufzunehmen, abzuspielen, nach Java zu exportieren und nachzubearbeiten.
Des Weiteren werden eigene Testfälle mit Java geschrieben und mit Selenium WebDriver abgespielt.
Hierzu erforderlich sind folgende Tools:

  • Firefox mit dem PlugIn: Selenium IDE (http://seleniumhq.org/download/) und Firebug
  • Developer IDE + Jdk
  • Die notwendigen jars können per maven geladen werden

Katharina Knaus Über die Referentin

Katharina Knaus (B.Sc.) ist bei der it-economics GmbH als technischer Consultant tätig. Parallel studiert sie Software Technology im Masterprogramm der Hochschule für Technik in Stuttgart.
Ihre Schwerpunkte im aktuellen Kundenprojekt liegen in Design und Implementierung von JUnit-Tests und automatisierten UI-Tests auf Basis von Selenium 2.
Ihr Erfahrungsschatz aus Java / JEE Projekten der Versicherungs- und Bankenbranche reicht von der Konzeption über die Entwicklung und Gestaltung von Unit-, Modul- und Integrationstests. Sie ist in allen Architekturschichten - vom Frontend über das Backend bis zur Datenschicht beheimatet.

 

 

Lass die Affen testen - Das Ende der Bananensoftware!

Dr. Jeremias Rößler, ReTest

17. April 2015
11:45 - 12:30 Uhr

Wer hat den Teufelskreis aus Testing und Debugging noch nicht erlebt: In zwei Wochen ist Release-Date und die Tester finden täglich neue Fehler. Jeder Fehler führt zu einer Änderung im Programm. Und jede Änderung kann selbst wieder Fehler verursachen und muss deshalb getestet werden...

Kosten entstehen hauptsächlich durch manuelles Testen bzw. manuelle Testfallerstellung. GUI-Tests sind brüchig und bringen demzufolge einen hohen Pflegeaufwand mit sich - was die Amortisation verzögert. Deshalb werden heute 85% aller Oberflächentests noch manuell ausgeführt. Was wenn man automatisch Testen könnte? Und d.h. nicht manuell erstellte Tests (die will sowieso keiner erstellen und erst recht keiner pflegen) automatisch ablaufen lassen, sondern wirklich vollautomatisch Testen?

Monkey-Testing bezeichnet zufallsbasiertes Testen von Software über die Benutzeroberfläche, und findet vollautomatisch und kostengünstig Fehler. In diesem Vortrag zeige ich, wie jeder Anwesende mit ein paar Zeilen Code einen eigenen primitiven Affen zum automatischen Testen programmieren kann. Davon ausgehend zeige ich Ansätze und Konzepte, wie man diesen Affen (u.a. mit genetischen Algorithmen) immer weiter verbessern kann, bis er teilweise bessere Ergebnisse als menschliche Tester bringt. Dazu gibt es Demos und Erfahrungsberichte aus großen Projekten.

Übung

Ausgehend vom Vortrag wird in der Übung jeder Anwesende einen einfachen aber voll funktionsfähigen Affen in Java programmieren (Skelett liefere ich mit) um ein paar einfache Swing-Applikationen (alternativ Web oder JavaFX-Applikationen) zu testen. Dieser Affe wird rudimentäre Grundfunktionalität haben mit sinnvollen Erweiterungsmöglichkeiten, um ihn für bestehende "echte" Anwendungen anpassen und nutzen zu können.

Dr. Jeremias Rößler Über den Referenten

Dr. Jeremias Rößler ist Software Ingenieur und Experte für die Erstellung und Pflege großer, komplexer Softwaresysteme. Er besitzt über sechs Jahre Berufserfahrung in der Software-Entwicklung. 2013 hat er am Lehrstuhl für Softwaretechnik an der Universität des Saarlandes promoviert. Er ist Gründer von ReTest (www.retest.de), einem IT-Dienstleistungsunternehmen das Software programmunterstützt testet.

 

 

 

Die Test-Tage werden freundlicherweise unterstützt von
NovaTec - Ingenieure für neue Informationstechnologien GmbH
Premium-Sponsor
 
4D Soft andrena objects ag
Sponsor   Sponsor
 
dpunkt.verlag GmbH
Buch-Sponsor