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 25. & 26. April 2019

#StTT2019

Übersicht  |   Call for Papers  |   Programm  |   Abstracts  |   Kosten/Leistungen  |   Anmeldung  |   Termine  |   Sponsoring

Veranstaltungsort, Kontakt & Sonstiges  |   Impressionen früherer Stuttgarter Test-Tage

Abstracts

Folien und Übungsaufgaben finden Sie gesammelt unter github.com/jugs-org/tt2019

 

 

 

Automatisiertes Security-Testing in Continuous Integration

Christian Kühn, synyx GmbH & Co. KG

25. April 2019
09:30 - 10:15 Uhr

Fast täglich liest man von Sicherheitsproblemen in (Web-)Anwendungen, zum Teil mit verheerenden Auswirkungen für Firmen und Verbraucher. Zum Schutz sensibler Daten müssen wir in der Entwicklung und im Betrieb stets sicherstellen, dass wir auf bekannte Schwachstellen reagieren, unsere Systeme und Software patchen und aufm dem aktuellsten Stand halten können.

Um möglichst schnelles Feedback über aktuelle Probleme zu bekommen, empfiehlt es sich, automatisiert nach bekannten Schwachstellen zu suchen. Hierzu können vorhandene Continuous Integration - Pipelines erweitert werden.

Im Vortrag mit Live-Demo werden mehrere Open Source Frameworks vorgestellt, mit deren Hilfe man automatisiert Schwachstellen in Dependencies, Container-Images und Webapplikationen finden kann.

im Workshop wird anhand einer vorgebenen Jenkins-pipeline die Integration der Tools von den Teilnehmern selbst durchgeführt.

Für den Workshop (Nachmittags) sollten die Teilnehmer einen eigenen Laptop mit installierter Docker-Umgebung mitbringen, ich werde die Demo-Infrastruktur auf Docker-Basis aufbauen (schnellerer Download bzw. Installation für die Teilnehmer)

Christian Kühn Über den Referenten

Christian Kühn (@CYxChris) ist Senior Systementwickler bei synyx und ist in den Bereichen Softwareentwicklung und Systemadministration tätig. Derzeit beschäftigt er sich mit Microservices und DevOps-Themen. Nebenher ist er Mitorganisator beim DevOps Meetup Karlsruhe.

 

 

 

Open Source Application Performance Monitoring (APM) Tools - Ein Überblick über APM Tools und Standards für Java-basierte Enterprise-Anwendungen

Dr. Andreas Brunnert und Bernhard Lubomski, RETIT GmbH

25. April 2019
10:15 - 11:00 Uhr

Die Anzahl der frei verfügbaren APM Tools für Java-basierte Enterprise-Anwendungen (EA) hat in den letzten Jahren stark zugenommen. Das Tracing von Transaktionen in verteilten EA wird daher immer mehr zur "Commodity", für die man nicht mehr zahlen muss. Selbst große kommerzielle APM-Hersteller unterstützen mittlerweile Standards wie OpenTracing oder OpenCensus um die Integration von eigenen Messpunkten zu vereinfachen. In diesem Vortrag stellen wir die wichtigsten Open Source APM Tools (u.A. Zipkin, Jaeger, PinPoint, Apache Skywalking) und Standards (OpenTracing, OpenCensus) für EA vor und geben einen Überblick über die jeweiligen Stärken und Schwächen. Am Ende des Vortrags werden wir darauf eingehen, wie sich die kommerziellen APM Tools von diesen frei verfügbaren Tools abgrenzen. In der Übung (Nachmittags) werden wir eines dieser APM Tools in einer praktischen Übung ausprobieren.

Über die Referenten

Dr. Andreas Brunnert  

Dr. Andreas Brunnert ist Geschäftsführer der RETIT GmbH, einem auf das Thema Software Performance fokussierten Software- und Beratungsunternehmen. Andreas beschäftigt sich seit über zehn Jahren mit dem Thema der Performance-Evaluation von Softwaresystemen, in den letzten Jahren fokussiert durch die Integration von mess- und modellbasierten Performance-Evaluationsansätzen.

 

Bernhard Lubomski  

Bernhard Lubomski ist Senior Software Performance Consultant bei der RETIT GmbH und beschäftigt sich in diesem Rahmen intensiv mit der Performance-Evaluation von Softwaresystemen. Zuvor arbeitete er über sechs Jahre lang als Software Engineer in der Entwicklung, Wartung und dem automatisierten Testen von Java EE basierten Softwaresystemen der Automotive Branche.

 

 

 

Macht Eure Microservices nicht Kaputt! Consumer Driven Contracts in der Praxis

Antoniya Atanasova und Alexander Miller, Novatec Consulting GmbH

25. April 2019
11:30 - 12:15 Uhr

Der Geschäftserfolg hängt zunehmend von der Fähigkeit ab, Software schnell bereitzustellen. Microservices-Architekturen und Continuous Delivery Pipelines können zu diesem Zweck nur dann voll dienlich sein, wenn Services unabhängig voneinander in Betrieb genommen werden können. Wie können wir sicherstellen, dass neuere Versionen einer Anwendung mit ihren Konsumenten weiterhin kompatibel bleiben? Brauchen wir teure und langsame End-to-End-Tests?

Zwischen Consumern und Providern besteht ein - wenn auch oft nicht expliziter - Pakt darüber, wie sie kommunizieren. Diese Vereinbarung ist jedoch nicht in Stein gemeißelt und muss sich ändern, wenn sich der Provider weiterentwickelt und die Consumer kommen und gehen. In unserem Vortrag erläutern wir die Motivationen für Consumer-Driven Contracts in der Microservices-Architektur.

Während des Workshops (Nachmittags) werden ihr lernen:

  1. Wie man seinen ersten Contract als Consumer erstellt.
  2. Wie kann man den Contract eines Consumers als Provider überprüft.
  3. Wie man die Ergebnisse der Vertragsprüfung zwischen Consumer und Producer zugänglich macht.
  4. Wie man mit Frameworks wie PACT die Realisierung von Consumer Driven Contracts automatisiert.
Über die Referenten

Antoniya Atanasova  

Antoniya Atanasova ist Consultant und Agile Quality Engineer bei der Novatec Consulting GmbH mit mehr als fünf Jahren Erfahrung im QA-Bereich für verschiedene Kunden-Projekte. Sie ist immer auf der Suche nach neuen Herangehensweisen zum Testen in der sich ständig verändernden Welt der Enterprise Software-Entwicklung. Die Schwerpunkte von Frau Atanasova liegen in den Bereichen Testautomatisierung, Microservices Testing mit Consumer-Driven Contracts, Microservices Entwicklung.

 

Alexander Miller  

Alexander Miller ist Consultant und Software Quality Engineer bei der Novatec Consulting GmbH. Er unterstützt Kunden insbesondere bei der Transformation einer monolithischen Plattform hin zu einer Micro Service-basierten Architektur. Die Schwerpunkte von Herrn Miller liegen in den Bereichen Software Craftsmanship, Agile Testing und der Entwicklung von Micro Services mit Spring Boot.

 

 

 

 

Automatisieren wir die Testautomatisierung

Dr. Istvan Forgacs und Zoltán Hrabovszki, 4TestDev GmbH

25. April 2019
12:15 - 13:00 Uhr

Der Lebenszyklus der Softwareentwicklung soll heute immer kürzer werden. DevOps und Continuous Integration sind heute nicht mehr wegzudenken. Das gilt auch für die Testautomatisierung. Allerdings ändern sich die Anforderungen und Spezifikationen zu Beginn der Projekte häufig. Somit ist die Erstellung von automatisierten Testfällen zu Projektbeginn eine Zeit- und Geldverschwendung. Was können wir tun?

Besser Automatisieren! Nicht nur die Testfälle, sondern auch das Testdesign kann automatisiert werden. Es gibt mehrere Tools, die dies tun. Leider ist bei diesen Tools die Lernkurve sehr lang. Diese Tools geben manuelle oder automatisierte Testfälle aus. Für automatisierte Testfälle sollte man jedoch über Entwicklerkenntnisse verfügen, und wenn sich die Spezifikation ändert, ist der Code auch zu ändern.

Wir haben eine neue Methode Test Design-Driven Development (TDDD) eingeführt, mit der der gesamte Entwicklungslebenszyklus verkürzt und gleichzeitig die Codequalität verbessert wird. Hier werden die Testfälle aus einer Testdesignspezifikation generiert, die eine einfache Erweiterung der Gherkin-Sprache ist. Die Spezifikation des Testdesigns besteht aus einer Reihe von Bedingungen wie z.B.

WHEN login name IS Gunter AND password IS 2@A9ih
THEN message IS successful login

Aus den Bedingungen kann der Compiler des Tools sowohl manuelle als auch automatisierte Testfälle generieren. Der automatisierte Testfall sieht etwa so aus:
SetValue( "login name", "Gunter" );
SetValue( "password", "2@A9ih" );
VerifyValue( "message", "successful login" );

Hier sind "SetValue" und "VerifyValue" sogenannte elementare Schlüsselwörter. "login name", "password" und "message" sind implementierungsunabhängigen Bezeichner. - So kann der größte Teil des Testautomatisierungscodes aus der implementierungsunabhängigen Spezifikation generiert werden.

Während der Übung erstellen die Teilnehmer die Testdesignspezifikation für eine einfache Aufgabe und starten dann einfach die automatisierte Ausführung. Eine Programmierung ist nicht erforderlich.

 

Über die Referenten

Dr. Istvan Forgacs István Forgács PhD. was originally a researcher at the Hungarian Academy of Sciences. He published 25+ scientific articles in leading international journals and conference proceedings. He is the coauthor of the book Agile Testing Foundations, An ISTQB Foundation Level Agile Tester guide, and the author of Practical Test Design will be published in 2019. His research interests include test design, agile testing, model-based testing, debugging, code comprehension, static and dynamic analysis.
He is the founder and co-CEO of 4Test-Dev. He led several projects of EU and National grants, where he worked together with large companies such as CERN, ESA, FAO and Fraunhofer Institute. He is a member of Agile Working Group of ISTQB.
Dr. Forgács is the creator of 4Test test design automation method and initiator of the 4Test DevOps tool by which test automation code can be generated from test design specification.

 

Zoltán Hrabovszki  

Zoltán Hrabovszki ist Berater und beschäftigt sich seit mehr als 20 Jahren mit der Automatisierung von Tests.
Aktuell arbeitet er mit István Forgács an der Zusammenführung von BDD/BDT und KDT mit dem Ziel, die Aufwände für eine Automatisierung drastisch zu reduzieren.
Er ist Initiator und Gründungsmitglied des Hungarian Testing Boards, Geschäftsführender Gesellschafter der Firmen 4TestDev GmbH und Afflati GmbH.

 

 

 

 

Test-Inventare - Ein leichtgewichtiger Ansatz für die Qualitätssicherung

Johannes Merkert, iteratec GmbH

26. April 2019
09:00 - 09:45 Uhr

In einem Projekt machen alle Teilnehmer mit ihren unterschiedlichen Zielen und Perspektiven die Qualitätssicherung (QS) zu einem Spannungsfeld von Meinungen, Intentionen und Methoden. Zu strikte Aufgabenteilung und Spezialisierung sorgt dafür, dass die Kommunikation zwischen den Rollen zum Thema QS zu kurz kommt oder ganz unterbleibt. Dies kann in einem fehlenden gemeinsamen Verständnis der QS und deren Zielsetzung führen. In Extremfällen sieht jeder eine andere Rolle in der Verantwortung für QS und das resultiert in unzureichender Qualität und Schuldzuweisungen. Insgesamt führt die Auseinandersetzung mit QS oftmals nicht zu einem Erfolgsgefühl, sondern wird als lästige Pflicht empfunden.

Vor diesem Hintergrund zeigen wir in unserem Vortrag, wie mithilfe von sogenannten Test-Inventaren QS in Projekten unterstützt werden kann. Test-Inventare stellen einen leichtgewichtigen, relativ formlosen und rollenübergreifenden Ansatz für die Vorbereitung der QS auf Story/Feature Ebene dar. Ziel der Test-Inventare ist es, Menschen zusammen zu bringen, um sich über gefundene Risiken und Fragen auszutauschen. Dadurch erreichen wir in unseren Projekten ein Gefühl der gemeinsamen Verantwortung für die QS. Da das Erstellen eines Test-Inventars sehr schnell geht, lassen sich damit auch in kurzer Zeit Erfolgserlebnisse schaffen, die sonst in der QS so selten sind. Außerdem fördern sie die Auseinandersetzung mit dem zu testenden Thema bereits vor Implementierungsbeginn und helfen dabei, sich von Silo-Strukturen bei der Risikobetrachtung zu lösen.

Johannes Merkert  

Über den Referenten

Johannes Merkert ist Senior Software Engineer bei der iteratec GmbH und entwickelt für einen Kunden eine Software auf Basis von Java und Eclipse RCP.

 

 

 

 

Testautomatisierung ohne Assertions

Dr. Jeremias Rößler, ReTest GmbH

26. April 2019
09:45 - 10:30 Uhr

Allmählich setzt sich in der Testing-Welt eine Erkenntnis durch: Testautomatisierung ohne Assertions funktioniert besser! Ob ApprovalsTest, Jest (Facebook) oder recheck - die Anzahl der Tools, die nach dem Ansatz des Golden Master Testing / Characterization Testing / Approval Testing funktionieren wird immer größer. Dieser Ansatz verspricht robustere Tests bei weniger Erstellungs- und Pflegeaufwand. Was das genau bedeutet, welche verschiedenen Tools zur Auswahl stehen (meist Open Source), und wo die Stärken und Schwächen dieses Ansatzes grundsätzlich liegen wird in diesem Vortrag genau erläutert. Verpassen Sie nicht den nächsten Trend in der Testautomatisierung...

Dr. Jeremias Rößler Über den Referenten

Jeremias Rößler (@roesslerj) ist Gründer von ReTest und bringt KI ins Testen. Er ist internationaler Speaker, Blogger, Entwickler und Forscher.

 

 

 

 

 

Frontend-Testing 2019: Strategien, Zielsetzungen und Methoden

Rico Pfaus, E. Breuninger GmbH & Co.

26. April 2019
11:00 - 11:45 Uhr

Durch die wachsende Komplexität moderner Web-Anwendungen mit verteilten Systemen, Microservices und Containern im Backend und Single-Page-Apps und reaktiven Interfaces im Frontend, ist das Testen endgültig ein fundamentaler und unverzichtbarer Bestandteil der professionellen Software-Entwicklung geworden. Es ist alles andere als leicht, sich bei der schier endlosen Zahl existierender Frameworks, Verfahren und Möglichkeiten für den "richtigen" Weg zu entscheiden.

Dieser Vortrag soll daher interessierten Teilnehmern einen Überblick geben, wieso es "den" richtigen Weg nicht gibt und welche Fragen man sich stellen sollte, um durch die Kombination verschiedener Testmethoden - wie z.B. Unittests, funktionale Tests, Customer-Journey-Tests, Visual-Regression-Tests oder synthetische Labortests – eine hohe Ausfallsicherheit bei der Entwicklung und dem Betrieb von modernen Web-Anwendungen zu realisieren.

Im anschließenden Workshop (Nachmittags) werden wir dann gemeinsam einige dieser Tools und Verfahren benutzen, um eine grundlegende Testabdeckung für eine Beispielanwendung umzusetzen.

Rico Pfaus Über den Referenten

Bio folgt baldmöglichst.

 

 

 

 

 

Grundlagen und Aspekte der API Kompatibilität und wie man diese nachhaltig beherrscht

Florian Pfleiderer, Digital Frontiers GmbH & Co. KG

26. April 2019
11:45 - 12:30 Uhr

Regelmäßiges Veröffentlichen neuer Features wird heute immer bedeutender, denn nur in Produktion ausgerollte Features schaffen echten Mehrwert. Daher werden immer häufigere Live-Stellungen gefordert. Darunter leidet in der Praxis leider oftmals die Qualitätssicherung, insbesondere je verteilter das zugrundeliegende Softwaresystem ist.

Ein wesentlicher Schritt um kürzere Release-Zeiten zu ermöglichen ist deshalb die Entkopplung komplexer Systeme in kleine, beherrschbare und parallel entwickelbare Einheiten.

Trotz ansonsten unabhängiger Evolution dieser einzelnen (Micro-) Services, erfordern die Abhängigkeiten zwischen diesen zueinander kompatible Schnittstellen. Kompatibilität hat dabei verschiedene Aspekte, beispielsweise die Abwärtskompatibilität zu alten Versionen, die Verträge mit unterschiedlichen Consumern oder verstecke Schwierigkeiten des Tolerant-Reader Prinzips.

Unkoordiniertes Vorgehen kann hier zu Breaking Changes und Inkompatibilitäten führen.
Während in monolithischen Systemen hier oft der klassische Verbundtest angewendet wird, brauchen wir für hochverteilte Umgebungen aufgrund der Anzahl der Schnittstellen und der Dynamik Alternativen, die skalierbar sind. Der Vortrag zeigt auf, wie man diesem Problem mit der Methodik Consumer Driven Contract Testing (CDCT) begegnen kann. Dabei adressiert er die positiven Aspekte von CDCT hinsichtlich des Schnittstellen-Designs und der damit verbundenen Service Evolution über den Lebenszyklus hinweg.

Die Teilnehmer lernen anhand einer kurzen Demo, wie ein solcher Contract aussehen kann und welche Dimensionen der API Kompatibilität mithilfe von Contracts sichergestellt werden können. In der praktischen Übungsaufgabe (Nachmittags) haben sie die Möglichkeit, das Gelernte selbst auf eine kleine Beispiel-Schnittstelle anzuwenden.

Florian Pfleiderer Über den Referenten

Florian Pfleiderer beschäftigt sich als Senior Consultant bei Digital Frontiers mit agiler Software-Entwicklung. Seine Kunden berät er in den Bereichen Architektur, Microservices und Craftsmanship.

 

 

 

 

 

 

Die Test-Tage werden freundlicherweise unterstützt von
Novatec Consulting GmbH
Premium-Sponsor und Talk-Sponsor
iteratec GmbH Zühlke Engineering GmbH
Sponsor Sponsor
Breuninger Digital-Team dpunkt.verlag
Talk-Sponsor Buch-Sponsor