• Infrastruktur & Tests mit Sandra Parsick und Kevin Wittek

    tarent solutions GmbH

    In unserem vierten Meetup widmen wir uns dem Thema Infrastruktur & Tests. Als Gastredner haben wir dieses mal Sandra Parsick und Kevin Witteck gewinnen können. Zu Sandras Vortrag 'Testen von und mit Infrastruktur - "Integration Testing done right" 😉': Heutzutage läuft eine Software nicht für sich alleine, sondern agiert mit Anderen. Die Kommunikation erfolgt meist über verschiedene Protokolle, sprich über verschiedene Infrastruktur-Komponenten. Gerade beim Testen stellt sich die Frage, wie kann der Entwickler Tests so schreiben, dass sie von einem bestimmten Infrastruktur-Setup unabhängig sind. Meistens gelingt es nicht und dann wird dieser Teil der Software erst spät bei den End-2-End-Tests geprüft. Doch gerade mit Microservices und dem Paradigma "Wenn etwas schiefläuft, dann schnell wie möglich" möchte der Entwickler schon zu einem früheren Testzeitpunkt, z.B. bei Entwicklertests, erfahren, wenn bei diesem Teil der Software etwas schiefläuft. Zudem macht die Infrastruktur nicht beim Anwendungscode halt. Mittlerweile wird die Infrastruktur immer mehr mithilfe von Code (Provisionierungsskripte, Dockerfiles, (Shell-) Skripte etc. ) beschrieben und automatisiert. Auch bei diesem Code möchte der Entwickler sicher gehen können, dass er so funktioniert wie erwartet. Dieser Vortrag zeigt anhand einer Java-Anwendung, wie man mithilfe von 3rd-Party-Libraries die Infrastruktur in den Tests der Anwendung einbinden kann, ohne sich gleich von einer bestimmten Infrastruktur abhängig zu machen. Darüber hinaus, wird darauf eingegangen, wie die Qualität des Infrastruktur-Codes gesichert werden kann, angefangen bei klassischen Provisionierungswerkzeugen bis hin zu Container. Zu Sandra: Sandra Parsick ist als freiberufliche Softwareentwicklerin und Consultant im Java-Umfeld tätig. Seit 2008 beschäftigt sie sich mit agiler Softwareentwicklung in verschiedenen Rollen. Ihre Schwerpunkte liegen im Bereich der Java Enterprise Anwendungen, agilen Methoden, Software Craftsmanship und in der Automatisierung von Softwareentwicklungsprozessen. Darüber schreibt sie gerne Artikel und spricht gerne auf Konferenzen. In ihrer Freizeit engagiert sie sich in der Softwerkskammer Ruhrgebiet. Zu Kevins Vortrag 'Integration Testing mit Docker und Testcontainers': Unit testing is fine, but without proper integration testing, especially if you work with external resources like databases and other services, you might not know how your application will actually behave once it has been deployed to the real production environment. Before Docker, configuring the environment for integration testing was painful – people were using fake database implementations, mocking servers, usually it was not cross-platform as well. However, thanks to Docker, now we can quickly prepare the environment for our tests. In this talk I would like to show how you can use Testcontainers ( (link: https://github.com/testcontainers/testcontainers-java) github.com/testcontainers… ) – a popular Java testing library that harnesses Docker to easily, reliably, spin up test dependencies. We will use it with a Spring Boot microservice and test against real PostgreSQL and MongoDB data stores, we’ll isolate it from other microservices, then start Selenium browsers in Docker and test our application, and all with the same library! Zu Kevin: Testcontainers co-maintainer and Testcontainers-Spock author. Software Craftsman and testing fan. Loves to play the electric guitar and is a musician in his second life. Found his own company during his university years, developing mobile apps and client-server applications, which lead to his discovery of Grails and the Groovy ecosystem. Fell in love with TDD because of Spock. Nowadays Kevin is working as a Software Engineer at codecentric AG and focuses on topics such as software craftsmanship, infrastructure as code and continuous integration pipelines, trying to make the world a better place one container at a time.

    6
  • Code Qualität

    eyeo

    Unser drittes Meetup wird wieder bei eyeo (die Macher hinter Adblock Plus) in Ehrenfeld statfinden. Eine ausführliche Wegbeschreibung findet ihr unter https://drive.google.com/file/d/1T878qdaC4qu-tqr_16bMF7V_hRB1T849/view?usp=sharing. Das Thema dieses Mal wird Code Qualität sein. Vorläufige Agenda: 18:00 Doors open 18:30 "Vom Wiegen wird die Sau nicht fett - Qualität verbessern statt nur beobachten" –Dr. Nils Göde (CQSE) 19:30 Pause, Networking 20:00 TBA 22:00 Ende Über "Vom Wiegen wird die Sau nicht fett - Qualität verbessern statt nur beobachten": Uns allen liegt die Zukunftsfähigkeit unserer Applikationen am Herzen. Und obwohl wir wissen was schlechten Code ausmacht (lange Methoden, Klone, fehlende Kommentare, unverständliche Bezeichner, ...), kümmert sich in der Praxis kaum jemand um diese Qualitätsprobleme. Trotz der Vielzahl an verfügbaren Analysetools, summieren sich diese Probleme mit der Zeit immer weiter auf und machen zukünftige Änderungen teurer und fehleranfälliger. Dabei beobachten wir in der Praxis immer wieder die gleichen Gründe, warum Qualitätsprobleme abseits von konkreten Fehlern im Code, nicht adressiert werden. Diese Gründe reichen von der Frage nach dem Nutzen ("Was bringt mir das?") über organisatorische Probleme ("Qualitätspolizei") bin hin zu technischen Hindernissen (z.B. Analysen dauern zu lange und kein individuelles Feedback). Dieser Vortrag stellt unsere Erfahrungen aus der Praxis vor und diskutiert die Hürden für Qualitätsverbesserung, mit denen sich Teams konfrontiert sehen. Selbstverständlich präsentiert der Vortrag passende Lösungsansätze mit denen man diese Hindernisse aus dem Weg räumen kann. Diese Lösungen sind nicht nur auf Neuentwicklungen anwendbar, sondern insbesondere auch für gewachsene und langlebige System geeignet. Jeder Teilnehmer wird durch diesen Vortrag direkt Anregungen mitnehmen können, die sich unmittelbar in den eigenen Entwicklungsprozess übertragen lassen. Über Nils Göde: Nils Göde hat im Bereich Softwaretechnik promoviert und ist heute als Experte für Softwarequalität tätig. Er analysiert und bewertet die die Qualität von Software und unterstützt Teams dabei die kontinuierliche Qualitätsverbesserung als festen Teil des Entwicklungsprozesses zu etablieren. Die dabei gewonnenen Erfahrungen teilt er regelmäßig in Vorträgen.

    1
  • Agile Performance Testing

    eyeo

    Our second Meetup will be at eyeo (the creators of Adblock Plus) in Cologne Ehrenfeld. Please find directions at this link https://drive.google.com/file/d/1T878qdaC4qu-tqr_16bMF7V_hRB1T849/view?usp=sharing. The meetups topic will be agile performance testing. Agenda (work in progress): 18:00 Doors open 18:30 Agile and Continuous Loadtesting – Torsten Flatter, Max Wippert (inovex) 19:20 "Load Testing with[masked] Users" – Sebastian Cohnen (StormForger) 20:10 Networking 22:00 Fin About "Load Testing with[masked] Users": This is a battle story talk about how we helped to debug and load test the interactive German TV quiz show called “Quizduell im Ersten” back in 2014. The show failed during the first 5 minutes on the first episode, therefore the broadcaster demanded external load tests to verify that the optimized system could sustain 1M concurrently active players. The talk will outline some background info, architecture and what happened, why it failed and what we did in order to help fixing it in one week. About Sebastian Cohnen: Sebastian Cohnen is co-founder and CTO of StormForger, a performance testing SaaS for agile and DevOps teams. He is working with scalable, high-performance systems for years and is now mainly (load) testing and assessing those kinds of systems for his customers. Helping others to build scalable systems, discussing software architecture and especially how to assess its quality in practice are his main areas of interest. About "agile and continuous loadtesting" Setting up and running a loadtest once per year or one each quarter is nice, but not suited for Agile Software Development where one or multiple prod deployments per iteration or per day are desirable. This talk will demo a lightweight CI/CD setup using jmeter – oldie but goldie – and gitlab-ci. Further on the role of a "Load Tester" or QA engineer, expert, ambassador, advocate, evangelist, ... will be discussed, briefly touching why it might matter or not which term you use ;) About Torsten Flatter Torsten Flatter works at inovex as an architect and senior software engineer, and his heart beats for modern architectures and frameworks preferably in Kotlin and Java. Early on, he became a CI/CD and Docker enthusiast, and now (almost) nothing leaves his hands, which has not passed a modern build pipeline. PS: he himself would never write in such flowery language about himself, this comes from the pen of a ghostwriter ;-) About Max Wippert Max Wippert got to know very different roles in the domains software development, quality assurance, IT operations and project management – often in painful projects with dubious successes. Nowadays, he loves and propagates cross-functional teams and agile project management in conjunction with state-of-the-art software development processes and tools. In his current position as "Head of Project Management and Quality Assurance" at inovex, Max can live up to his passion for holistic digital quality – always with the goal of making end customers, clients and technicians happy at the same time.

    2
  • Team-Driven Microservice Quality Assurance

    REWE Digital

    Our first Meetup will be about driving quality from the development team. Michael Kutz will give an impression on the current state of QA at REWE digital. Agenda: 18:00 Doors open 18:30 Talk "Team-Driven Microservice Quality Assurance" + Q&A 19:30 Feedback collection for future meetups 20:00 Drinks & Snacks

    4