SlideShare ist ein Scribd-Unternehmen logo
TITELTEXT
Kontinuierliches (Nicht)-Funktionales
Testen von Microservices auf K8s
Continuous Testing Day, 4. Mai 2021


@LeanderReimer #cloudnativenerd #qaware @ConLifecycle
Mario-Leander Reimer


Principal Software Architect


@LeanderReimer


#cloudnativenerd #qaware
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
3
"Software Is Eating the World.“


Marc Andreessen, 20th August 2011
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s

Empfohlen für Sie

Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment Roadmap

Requirements for Continuous Deployment in larger Enterprises

DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der Schiene

In diesem Vortrag erfahren Sie, warum sich der erste Ansatz einer zentralen CI/CD-Installation für alle Teams als problematisch erwies und durch dezentrale Pipelines ersetzt wurde. Danach lernen Sie die Tücken unserer Einführung einer eingekauften API-Management-Lösung kennen, und wieso sich der Kauf von großer On-Premise-Software nur schwer mit den agilen Prinzipien vereinbaren lässt. Der Zuhörer lernt zudem, wie wir im Team mit polyglotter Softwareentwicklung zu kämpfen haben und wie wir permanent gegen Wissensinseln ankämpfen. Zuletzt gehe ich darauf ein, wie wir mit umfassender Architekturdokumentation gestartet und gescheitert sind. Unser neuer Ansatz ist eine leichtgewichtige dezentrale Dokumentation mit AsciiDoc und ein im Team abgestimmter Toolstack, der auch vom Zuhörer adaptiert werden kann. Am Ende der Reise wird der Zuhörer einige Methoden und Tools kennen gelernt haben, um in einem Kontext zu überleben, der an vielen Stellen noch von klassischen Prozessen dominiert wird. Aber eines ist klar: Der Weg Richtung DevOps geht nicht plötzlich, es ist eine Reise mit Umwegen und Hindernissen. Die Reise ist es aber auf jeden Fall Wert!

devopsdbdbsystel
Title is loading ... Cache is cold.
Title is loading ... Cache is cold.Title is loading ... Cache is cold.
Title is loading ... Cache is cold.

JavaLand 2022, März, Brühl, Dirk Kröhan, Software Architect bei QAware). == Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! == “Kann man das nicht einfach cachen?” - So oder so ähnlich hat es bestimmt schon jeder mal gehört. Hin und wieder auch mit einer Prise Sarkasmus, wenn Caching als das schnelle Pflaster für schlecht geschriebene Datenbankabfragen dienen soll. Es gibt aber natürlich genügend Anwendungsfälle wo Caching nicht nur sinnvoll, sondern auch notwendig sein kann. Wenn niedrige Latenzen oder die Entlastung der Datenbank gefordert ist führt kaum ein Weg an Caching vorbei. In unserem Projekt ist eine flexible Konfiguration und niedrige Latenz eine Kernanforderung und somit begann eine Reise von local caches zu distributed caches. Klingt einfach? Ist es auch, schließlich tauscht man durch die Spring Cache Abstraction nur eine Dependency aus - oder etwa nicht? Packt die Kamera ein und geht mit mir auf Spring-Caching-Safari - wilde Invalidations und unangenehme Deployments inklusive! Erfrischung gibt es an der Learnings- und Good-Practices-Oase. Seid gespannt auf: - Local Caches vs. Distributed Caches - Spring Caching Abstraction - Resilient Cache Manager - Caching Stats & Latency Metrics - Self-made @CollectionCachable Annotation next bullet point is loading... Cache is cold.

javacloudcloud native architecture
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Dev
Ops
https://commons.wikimedia.org/w/index.php?curid=2223771
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s

Empfohlen für Sie

Quarkus Quickstart
Quarkus QuickstartQuarkus Quickstart
Quarkus Quickstart

Codineers Meetup Rosenheim, 10.02.22, online, Franz Wimmer (Twitter: @zalintyre, Senior Software Engineer bei QAware). == Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! == Abstract: Seit 2019 gibt es einen neuen Stern am Enterprise-Java-Himmel: Quarkus. Um den bewährten Frameworks wie Java EE oder Spring den Rang abzulaufen, wird hier vieles anders gemacht. "Container First" und "Reactive" sind die zwei Buzzwords, mit denen Quarkus ins Rennen geht. Komplett auf der reaktiven Plattform "Vert.x" aufgebaut, sollen Quarkus-Anwendungen komplett anders als bisher gebaut werden. In diesen Slides des Vortrags lernen wir einige der Konzepte von Quarkus kennen - z.B. Reactive Everything mit Mutiny und Vert.x, Web Services mit RestEasy oder einfache Datenbank-Zugriffe mit Panache. Wir schauen uns an, wie man Quarkus-Anwendungen mit GraalVM zu einem nativen Binary kompilieren kann. Außerdem werfen wir einen kurzen Blick auf die Performance und Serienreife (oder "Production readiness") von Quarkus. Es muss sich im Vergleich mit seit Jahren unter vielfältigsten Bedingungen eingesetzten JEE-Appservern beweisen. Damit können wir bewerten, ob das System ausgereift genug für den Kundeneinsatz ist.

quarkusquickstartframeworks
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnDie Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln

buildingIoT 2016, Köln: Workshop mit Moritz Kammerer (@phxql, Senior Softwareingenieur bei QAware). Abstract: In diesem Workshop wird gezeigt, wie einfach es ist, ein Binding (Plug-in) zu entwickeln, mit dem ein Nest-Thermostat in Eclipse SmartHome (OSS Framework für SmartHome-Systeme) integriert werden kann. Das entwickelte Binding wird verwendet, um eine Phillips Hue mittels des Nest-Thermostats zu steuern.

ioteclipse smarthomeopenhab
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...

ECN Summit 2019, München: Workshop von Josef Adersberger (@adersberger, CTO QAware), Helmut Weiss (Beck et al.) und Mario Lohner (Syncier Cloud) Abstract: Um eine Anwendungslandschaft in die Zukunft zu führen wird immer deutlicher, dass kein Weg mehr an Cloud Native Plattformen wie Kubernetes vorbei führt. Eine flexiblere Entwicklung, hochfrequente Releases sowie geringere Betriebskosten und eine bessere Skalierbarkeit zählen mit zu den Hauptvorteilen dieser Technologie. Dies erreicht man jedoch nicht durch eine simple Migration der bestehenden Anwendungen in einen Container und einem Betrieb auf Kubernetes. Im Workshop gliedert sich dabei in drei Teile: - Migration von IT-Services in die Cloud - Migration von Anwendungen in die Cloud - Aufbau einer Kubernetes-Plattform mit Blick auf Day 2

ecnsecns2019ecn summit 2019
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
9
Continuous delivery (CD) is a software engineering
approach in which teams produce software in short cycles,
ensuring that the software can be reliably released at any
time .… It aims at building, testing, and releasing software
with greater speed and frequency.
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
10
Continuous
Delivery
Low Risk
Releases
Less


Rework
Fast Time


to Market
Better
Products
Lower


Costs
Happier
Teams
Happier


Users
Loosely Coupled Architectures
Maintainable Code
Empowered Teams
Continuous Security from Day 1
Test
Automation
Continuous
Integration
GitOps
Deployment
Automation
Monitoring and Alerting
Input Output
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
11
Continuous
Delivery
Low Risk
Releases
Less


Rework
Fast Time


to Market
Better
Products
Lower


Costs
Happier
Teams
Happier


Users
Loosely Coupled Architectures
Maintainable Code
Empowered Teams
Continuous Security from Day 1
Test
Automation
Continuous
Integration
GitOps
Deployment
Automation
Monitoring and Alerting
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
12
Continuous
Delivery
Low Risk
Releases
Less


Rework
Fast Time


to Market
Better
Products
Lower


Costs
Happier
Teams
Happier


Users
Loosely Coupled Architectures
Maintainable Code
Empowered Teams
Continuous Security from Day 1
Test
Automation
Continuous
Integration
GitOps
Deployment
Automation
Monitoring and Alerting

Empfohlen für Sie

Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night

Frank Prechtel Dominik Hirt Manuel Heinzig Mike Horn Carolin Dürrling Yannik Neubert Ramon Anger Kay Thriemer Andreas Siegel Christina Lerch

OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!

GitHub Repo: https://github.com/toschneck/openshift-example-bakery-ci-pipeline Stabile und skalierbare Continuous-Integration-Umgebungen sind seit jeher schwer aufzusetzen und zu pflegen. Besonders in Zeiten von Containern und Cloud-Native-Apps, wird der nächste Schritt hin zur voll-automatisierten Build-Pipeline eingefordert. Sowohl der Aufbau des automatisierten Deployments als auch die Ausführung von automatisierten Integration- und UI-Tests stellen die DevOps-Teams vor neue Hürden. Einen eleganten Ausweg bieten Container-basierte CI/CD-Umgebungen, die dynamisch zum Build-Zeitpunkt bereitgestellt werden. An diesen Punkt setzt die Open-Source-Container-Plattform "OpenShift" an. Durch den Infrastructure-as-Code-Ansatz wird sowohl der CI-Server als auch der komplette Build-Lifecycle vom Bau der Artefakte bis zum Testen der Anwendung in den Container-Cluster verschoben. Der Talk zeigt auf wo die Unterschiede von OpenShift zur Kubernetes-API liegen, wie durch Jenkins-Build-Pipelines Artefakte gebaut, in Docker Images verpackt, getestet und deployed werden können. In mehreren Live-Demos wird aufgezeigt, wie mit geschickten Einsatz von Open-Source-Tools sowohl Server-APIs als auch grafische Web- und Rich-Client-Oberflächen in Container-Clustern als Black-Box getestet werden können. Eine abschließende, kritische Bewertung der gesammelten Erfahrungen, zeigt wo das Potenzial dieses Ansatz liegt, aber auch welche Fallstricke derzeit (noch) zu meistern sind.

openshiftjenkinsbuild-pipelines
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal

CodeDays 2020, Februar 2020, München: Vortrag von Mario-Leander Reimer (@LeanderReimer, Technischer Geschäftsbereichsleiter bei QAware) == Dokument bitte herunterladen, falls unscharf! Please download slides if blurred! == Abstract: Der Einsatz Cloud nativer Technologien gehört in vielen deutschen Unternehmen mittlerweile zur Normalität. Großartig! Doch bei aller Liebe zur Technologie ist derzeit bei vielen Teams und Kunden ein gewisser Grad an Ernüchterung zu beobachten, bis hin zu Zweifeln und Vorbehalten was den Einsatz dieser modernen Tools und Techniken angeht. Mit steigender Verbreitung gibt es naturgemäß auch negative Erfahrungen. Das ist ganz normal! Um so wichtiger ist es aktuelle Trends und Neuerungen kontinuerlich im Auge zu behalten.

cloud nativecloud native architecturedistributed systems
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
Eine singuläre, lineare CI/CD Pipeline ist nicht optimal:


verzögertes Feedback mit langen Build-Deploy Zyklen.
13
Check-In Build Test Integrate
Deploy to
Production
Automated
Acceptance Tests
Manual
Auto Auto Auto Auto?
Acceptance
Security
Performance
Diese Tests werden häu
fi
g rausgeschoben und erst gegen Sprint-Ende ausgeführt.


Und welche zuerst? Ist Funktionalität wichtiger als Security oder Performance?
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
Eine Microservice Architektur mit vielen Down-Stream
Abhängigkeiten ist komplex und schwierig zu testen.
14
Cluster
Microservice


A
Microservice


B
External


System B
TEAM A TEAM B UNKNOWN
Microservice


C
TEAM C
External


System A
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
Die Lösung: alle (nicht)-funktionalen Tests einer Microservice
Architektur laufen kontinuierlich auf der selben Umgebung.
15
Check-In Build Integrate
Auto Auto Auto
Smoke
Tests
Quality
Acceptance
Security
Performance
Auto Auto?
Check &
Report
Continuous
Runs inside
the cluster
Test
Deploy to
Production
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
Architecture Fitness Functions validieren kontinuierlich
die (nicht)-funktionalen Eigenschaften des Systems.
16
https://www.thoughtworks.com/de/radar/techniques/architectural-
fi
tness-function

Empfohlen für Sie

In-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesIn-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und Kubernetes

data2day 2017, Heidelberg: Talk von Mario-Leander Reimer (@LeanderReimer, Cheftechnologe bei QAware). Mit Apache Ignite steht eine hochperformante, integrierte und verteilte In-Memory-Plattform bereit, die im Zusammenspiel mit Kubernetes zu wahrer Hochform aufläuft. In dieser Kombination lassen sich flexibel skalierbare In-Memory-Computing-Systeme elegant realisieren. In diesem Vortrag stellen wir die wesentlichen Features und die Architektur von Apache Ignite vor. Anhand von anschaulichen Beispielen zeigen wir mögliche Use-Cases, wie den Einsatz als Kommunikations-Backbone einer Microservice-Architektur oder als Plattform zur Verarbeitung kontinuierlicher Event-Daten. Zur Demonstration von Resilienz und Skalierbarkeit werden die Beispiele auf einem tragbaren K8S-Cluster ausgeführt.

microserviceskubernetescloud native architecture
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes

Fachposter, 2020: Erstellt von QAware in Zusammenarbeit mit Prof. Dr. Kratzke, Technische Hochschule Lübeck und ObjektSpektrum (Verlag: SIGS DATACOM). Bestellbar unter https://www.sigs-datacom.de/order/poster/DevOps_Prinzipien-Kubernetes.php (Dokument bitte herunterladen für bessere Lesbarkeit)

fachposterjosef adersbergernane kratzke
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with Spark

JAX 2016, Mainz: Talk by Johannes Weigend (@JohannesWeigend, CTO at QAware). Abstract: Apache Solr is a distributed NoSQL database with impressive search capabilities. Apache Spark makes M/R faster and richer. In this code-intense session Johannes shows how to combine both to solve real-time search and processing problems. The demos feature a portable Solr Cloud / Spark Cluster based on Intel NUC Hardware.

distributed in-memory computingsparkbig data
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
Beispiele für Architecture Fitness Functions
17
https://www.thoughtworks.com/de/insights/articles/
fi
tness-function-driven-development
describe "Performance" do


	 it "completes a transaction under 2 seconds" do


	 	 expect(k6.check_transaction_round_trip_time()).to < 2


	 end


	 it "has less than 10% error rate for 10000 transactions" do


	 	 expect(k6.check_error_rate_for_transactions(10000)).to < .1


	 end


end
describe "Security" do


	 describe “Static Analysis” do


	 	 it "should not have plaintext secrets in codebase" do


	 	 	 expect(code.has_secrets_in_codebase()).to_not be(true)


	 	 end


	 end


	 describe “Dynamic Analysis” do


	 	 it "should not have any of the OWASP Top 10" do


	 	 	 expect(zap.has_owasp_top_10_vulnerabilities()).to be(false)


	 	 end


	 end


end
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
18
Code & Demos
https://github.com/qaware/continuous-k6k8s


https://github.com/qaware/continuous-zapk8s


https://github.com/qaware/continuous-atdd
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
Load Testing for Engineering Teams
• Made for Developers. Das k6 API und die CLI sind einfach zu nutzen.


• Out-of-the-box Docker Support. Kann ganz einfach als Container
ausgeführt werden.


• Geeignet für Smoke Tests, Load Tests, Stress Tests und Soak Tests.


• Unterstützt REST, GraphQL, gRPC und Websockets.


• Ergebnis Visualisierung via DataDog, CloudWatch, In
fl
uxDB+Grafana,
New Relic und viele weitere.


• Gute, ausführliche Dokumentation und hilfreiche Community.
19
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
OWASP Zed Attack Proxy (ZED)
• Weiter verbreiteter und bekannter Open Source Webapp Scanner


• ZAP bietet ein mächtiges API für Security Scanning Automatisierung


• Intercepting Proxy, Active und Passive scanner, HTTP Spider, Brute
Force Scanner, Port Scanner, OpenAPI v3, Web Sockets.


• ZAP's Docker Images bietet einen einfache Weg ZAP auszuführen,
speziell in CI/CD Umgebungen: Baseline + Full API Scan, Web UI.


• Ausführliche Dokumentation. Internationale Community.
20

Empfohlen für Sie

Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldEnterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld

ECN Summit 2019, München: Workshop von Josef Adersberger (@adersberger, CTO QAware), Josef Fuchshuber (@fuchshuber) und Christian Binder (Microsoft) === Dokument bitte herunterladen, falls unscharf! === Abstract: Continuous Integration und Continuous Delivery sind wichtiger Teil der Wertschöpfungskette einer Cloud Native Softwareentwicklung. Sie bilden die Brücke zwischen der Entwicklung (produziert Code) und der Betriebsumgebung (führt Container aus) - und zwar in beide Richtungen: von der Entwicklung in die Betriebsumgebung indem aus Code möglichst automatisiert laufende und qualitätsgesicherte Container erzeugt werden; und von der Betriebsumgebung in Richtung Entwicklung indem Feedback zum Nutzer- und Softwareverhalten kontinuierlich zurückgegeben wird. Im Workshop werden demnach die beiden folgenden Fragestellungen diskutiert: Wie sieht eine CI/CD-Pipeline aus, die für den Einsatz in Unternehmen geeignet ist? Welche Features sind dabei besonders neuralgisch und welche Best Practices gibt es?

ecnsecn summitenterprise cicd
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConfA Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf

Cloud companies like Google, Twitter and Netflix have made the core building blocks of their infrastructure open source. As a result, their experience from several years is publicly available and everyone can now build cloud native applications – applications that run in the cloud reliably und scale almost arbitrarily. The individual open-source components have grown together to form something new: the cloud native stack. Cloud native applications follow three key principles: they are built and composed as microservices. They are packaged and distributed in containers. The containers are executed dynamically in the cloud. But which technology is best to build this kind of application? This talk will be your guidebook.

springprogrammingcloud computing
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines

Stabile und skalierbare Testumgebungen sind seit jeher schwer aufzusetzen und zu warten. Besonders in Zeiten von Continuous Delivery ist das Aufsetzen von Build-Pipelines in Verbindung mit automatisierten Integration- und UI-Tests eine besonders große Herausforderung. Einen eleganten Ausweg bieten containerbasierte Testumgebungen, die dynamisch zum Build-Zeitpunkt bereitgestellt werden. Der Talk zeigt anhand von mehreren Live-Demos, wie mit Hilfe von OpenShift-Build-Pipeline sowohl Server-APIs als auch grafische Web- und Rich-Client-Oberflächen getestet werden können. Zum Einsatz kommen hierfür die Open-Source-Test-Frameworks Citrus und Sakuli, die bereits für die Verwendung in OpenShift vorbereitet sind.

sakuliopenshiftkubernetes
// Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware
Very Groovy Browser Automation
• Cross Browser Automation: Chrome, Firefox, Safari, Selenium Hub, …


• Mächtige, einfach zu erlernende Groovy based DSL. Einfache Content
Navigation und Zugriff inspiriert von jQuery.


• Built-in Support des Page Object Pattern für wart bare und stabile UI Tests.


• Unterstützung für Synchronität und dynamischen Content.


• Unterstützung und Integration von zahlreichen Test Frameworks: Spock,
Unit, TestNG und Cucumber


• Gute und einfache Build Tool Integration für Maven und Gradle
21
Mario-Leander Reimer


Principal Software Architect, QAware GmbH


mario-leander.reimer@qaware.de


https://www.qaware.de


https://speakerdeck.com/lreimer/


https://github.com/lreimer/
&

Weitere ähnliche Inhalte

Was ist angesagt?

In den sicheren Hafen jax2020
In den sicheren Hafen jax2020In den sicheren Hafen jax2020
In den sicheren Hafen jax2020
Stephan Kaps
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
QAware GmbH
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
QAware GmbH
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment Roadmap
Stephan Kaps
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der Schiene
Vorname Nachname
 
Title is loading ... Cache is cold.
Title is loading ... Cache is cold.Title is loading ... Cache is cold.
Title is loading ... Cache is cold.
QAware GmbH
 
Quarkus Quickstart
Quarkus QuickstartQuarkus Quickstart
Quarkus Quickstart
QAware GmbH
 
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnDie Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
QAware GmbH
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
QAware GmbH
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
ChristinaLerch1
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
Tobias Schneck
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
QAware GmbH
 
In-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesIn-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und Kubernetes
QAware GmbH
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes
QAware GmbH
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with Spark
QAware GmbH
 
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldEnterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
QAware GmbH
 
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConfA Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
Mario-Leander Reimer
 
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Tobias Schneck
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
OPEN KNOWLEDGE GmbH
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
Stephan Kaps
 

Was ist angesagt? (20)

In den sicheren Hafen jax2020
In den sicheren Hafen jax2020In den sicheren Hafen jax2020
In den sicheren Hafen jax2020
 
Dataservices - Data Processing mit Microservices
Dataservices - Data Processing mit MicroservicesDataservices - Data Processing mit Microservices
Dataservices - Data Processing mit Microservices
 
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer InfrastrukturContinuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
 
Kaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment RoadmapKaps - Continuous Deployment Roadmap
Kaps - Continuous Deployment Roadmap
 
DevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der SchieneDevOps - Mehr Geschwindigkeit auf der Schiene
DevOps - Mehr Geschwindigkeit auf der Schiene
 
Title is loading ... Cache is cold.
Title is loading ... Cache is cold.Title is loading ... Cache is cold.
Title is loading ... Cache is cold.
 
Quarkus Quickstart
Quarkus QuickstartQuarkus Quickstart
Quarkus Quickstart
 
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickelnDie Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
Die Leichtigkeit des Seins: Bindings für Eclipse SmartHome entwickeln
 
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
In-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und KubernetesIn-Memory Computing mit Apache Ignite und Kubernetes
In-Memory Computing mit Apache Ignite und Kubernetes
 
DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes DevOps Prinzipien im Zusammenspiel mit Kubernetes
DevOps Prinzipien im Zusammenspiel mit Kubernetes
 
Leveraging the Power of Solr with Spark
Leveraging the Power of Solr with SparkLeveraging the Power of Solr with Spark
Leveraging the Power of Solr with Spark
 
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldEnterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
 
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConfA Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
A Hitchhiker’s Guide to the Cloud Native Stack. #ContainerConf
 
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
 
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan KapsDevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
DevOpsCon 2016 - Continuous Security Testing - Stephan Kaps
 

Ähnlich wie Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s

Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
QAware GmbH
 
ROSIK Stammtisch „Clean Architecture“
ROSIK Stammtisch „Clean Architecture“ROSIK Stammtisch „Clean Architecture“
ROSIK Stammtisch „Clean Architecture“
QAware GmbH
 
A Hitchhiker's Guide to the Cloud Native Stack
A Hitchhiker's Guide to the Cloud Native StackA Hitchhiker's Guide to the Cloud Native Stack
A Hitchhiker's Guide to the Cloud Native Stack
QAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
QAware GmbH
 
50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
QAware GmbH
 
Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue Schwarz
QAware GmbH
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice Architekturen
QAware GmbH
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
QAware GmbH
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
QAware GmbH
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
QAware GmbH
 
Holistische Sicherheit für Microservice-basierte Systeme
Holistische Sicherheit für Microservice-basierte SystemeHolistische Sicherheit für Microservice-basierte Systeme
Holistische Sicherheit für Microservice-basierte Systeme
QAware GmbH
 
Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?
QAware GmbH
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?
Josef Adersberger
 
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Marc Bless
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
.NET User Group Rhein-Neckar
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
BATbern
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
QAware GmbH
 
2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian
Matthias Reining
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
QAware GmbH
 

Ähnlich wie Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s (20)

Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
ROSIK Stammtisch „Clean Architecture“
ROSIK Stammtisch „Clean Architecture“ROSIK Stammtisch „Clean Architecture“
ROSIK Stammtisch „Clean Architecture“
 
A Hitchhiker's Guide to the Cloud Native Stack
A Hitchhiker's Guide to the Cloud Native StackA Hitchhiker's Guide to the Cloud Native Stack
A Hitchhiker's Guide to the Cloud Native Stack
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue Schwarz
 
Holistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice ArchitekturenHolistische Sicherheit für Microservice Architekturen
Holistische Sicherheit für Microservice Architekturen
 
Migration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud PlattformMigration von Aftersales Systemen auf eine Cloud Plattform
Migration von Aftersales Systemen auf eine Cloud Plattform
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Holistische Sicherheit für Microservice-basierte Systeme
Holistische Sicherheit für Microservice-basierte SystemeHolistische Sicherheit für Microservice-basierte Systeme
Holistische Sicherheit für Microservice-basierte Systeme
 
Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?Cloud Native & Java EE: Freund oder Feind?
Cloud Native & Java EE: Freund oder Feind?
 
Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?Cloud Native und Java EE: Freund oder Feind?
Cloud Native und Java EE: Freund oder Feind?
 
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
Wir erledigen alles sofort - Warum Qualität, Risikomanagement, Usability und...
 
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
30. Treffen der .NET User Group Rhein-Neckar mit Constantin Klein - „Bekommen...
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
 
Steinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen EvolutionSteinzeit war gestern! Wege der cloud-nativen Evolution
Steinzeit war gestern! Wege der cloud-nativen Evolution
 
2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian2012-10-12 Testen mit Arquillian
2012-10-12 Testen mit Arquillian
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
 

Mehr von QAware GmbH

Frontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdfFrontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdf
QAware GmbH
 
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
QAware GmbH
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
QAware GmbH
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
QAware GmbH
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
QAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
QAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
QAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
QAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
QAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
QAware GmbH
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
QAware GmbH
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
QAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
QAware GmbH
 

Mehr von QAware GmbH (20)

Frontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdfFrontends mit Hilfe von KI entwickeln.pdf
Frontends mit Hilfe von KI entwickeln.pdf
 
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
Mit ChatGPT Dinosaurier besiegen - Möglichkeiten und Grenzen von LLM für die ...
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 

Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s

  • 1. TITELTEXT Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s Continuous Testing Day, 4. Mai 2021 @LeanderReimer #cloudnativenerd #qaware @ConLifecycle
  • 2. Mario-Leander Reimer Principal Software Architect @LeanderReimer #cloudnativenerd #qaware
  • 3. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware 3 "Software Is Eating the World.“ Marc Andreessen, 20th August 2011
  • 9. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware 9 Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time .… It aims at building, testing, and releasing software with greater speed and frequency.
  • 10. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware 10 Continuous Delivery Low Risk Releases Less 
 Rework Fast Time to Market Better Products Lower 
 Costs Happier Teams Happier 
 Users Loosely Coupled Architectures Maintainable Code Empowered Teams Continuous Security from Day 1 Test Automation Continuous Integration GitOps Deployment Automation Monitoring and Alerting Input Output
  • 11. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware 11 Continuous Delivery Low Risk Releases Less 
 Rework Fast Time to Market Better Products Lower 
 Costs Happier Teams Happier 
 Users Loosely Coupled Architectures Maintainable Code Empowered Teams Continuous Security from Day 1 Test Automation Continuous Integration GitOps Deployment Automation Monitoring and Alerting
  • 12. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware 12 Continuous Delivery Low Risk Releases Less 
 Rework Fast Time to Market Better Products Lower 
 Costs Happier Teams Happier 
 Users Loosely Coupled Architectures Maintainable Code Empowered Teams Continuous Security from Day 1 Test Automation Continuous Integration GitOps Deployment Automation Monitoring and Alerting
  • 13. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware Eine singuläre, lineare CI/CD Pipeline ist nicht optimal: 
 verzögertes Feedback mit langen Build-Deploy Zyklen. 13 Check-In Build Test Integrate Deploy to Production Automated Acceptance Tests Manual Auto Auto Auto Auto? Acceptance Security Performance Diese Tests werden häu fi g rausgeschoben und erst gegen Sprint-Ende ausgeführt. 
 Und welche zuerst? Ist Funktionalität wichtiger als Security oder Performance?
  • 14. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware Eine Microservice Architektur mit vielen Down-Stream Abhängigkeiten ist komplex und schwierig zu testen. 14 Cluster Microservice 
 A Microservice 
 B External System B TEAM A TEAM B UNKNOWN Microservice C TEAM C External System A
  • 15. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware Die Lösung: alle (nicht)-funktionalen Tests einer Microservice Architektur laufen kontinuierlich auf der selben Umgebung. 15 Check-In Build Integrate Auto Auto Auto Smoke Tests Quality Acceptance Security Performance Auto Auto? Check & Report Continuous Runs inside the cluster Test Deploy to Production
  • 16. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware Architecture Fitness Functions validieren kontinuierlich die (nicht)-funktionalen Eigenschaften des Systems. 16 https://www.thoughtworks.com/de/radar/techniques/architectural- fi tness-function
  • 17. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware Beispiele für Architecture Fitness Functions 17 https://www.thoughtworks.com/de/insights/articles/ fi tness-function-driven-development describe "Performance" do it "completes a transaction under 2 seconds" do expect(k6.check_transaction_round_trip_time()).to < 2 end it "has less than 10% error rate for 10000 transactions" do expect(k6.check_error_rate_for_transactions(10000)).to < .1 end end describe "Security" do describe “Static Analysis” do it "should not have plaintext secrets in codebase" do expect(code.has_secrets_in_codebase()).to_not be(true) end end describe “Dynamic Analysis” do it "should not have any of the OWASP Top 10" do expect(zap.has_owasp_top_10_vulnerabilities()).to be(false) end end end
  • 18. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware 18 Code & Demos https://github.com/qaware/continuous-k6k8s https://github.com/qaware/continuous-zapk8s https://github.com/qaware/continuous-atdd
  • 19. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware Load Testing for Engineering Teams • Made for Developers. Das k6 API und die CLI sind einfach zu nutzen. • Out-of-the-box Docker Support. Kann ganz einfach als Container ausgeführt werden. • Geeignet für Smoke Tests, Load Tests, Stress Tests und Soak Tests. • Unterstützt REST, GraphQL, gRPC und Websockets. • Ergebnis Visualisierung via DataDog, CloudWatch, In fl uxDB+Grafana, New Relic und viele weitere. • Gute, ausführliche Dokumentation und hilfreiche Community. 19
  • 20. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware OWASP Zed Attack Proxy (ZED) • Weiter verbreiteter und bekannter Open Source Webapp Scanner • ZAP bietet ein mächtiges API für Security Scanning Automatisierung • Intercepting Proxy, Active und Passive scanner, HTTP Spider, Brute Force Scanner, Port Scanner, OpenAPI v3, Web Sockets. • ZAP's Docker Images bietet einen einfache Weg ZAP auszuführen, speziell in CI/CD Umgebungen: Baseline + Full API Scan, Web UI. • Ausführliche Dokumentation. Internationale Community. 20
  • 21. // Continuous Testing Day // Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s // @LeanderReimer #cloudnativenerd #qaware Very Groovy Browser Automation • Cross Browser Automation: Chrome, Firefox, Safari, Selenium Hub, … • Mächtige, einfach zu erlernende Groovy based DSL. Einfache Content Navigation und Zugriff inspiriert von jQuery. • Built-in Support des Page Object Pattern für wart bare und stabile UI Tests. • Unterstützung für Synchronität und dynamischen Content. • Unterstützung und Integration von zahlreichen Test Frameworks: Spock, Unit, TestNG und Cucumber • Gute und einfache Build Tool Integration für Maven und Gradle 21
  • 22. Mario-Leander Reimer Principal Software Architect, QAware GmbH mario-leander.reimer@qaware.de https://www.qaware.de https://speakerdeck.com/lreimer/ https://github.com/lreimer/ &