SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
.consulting .solutions .partnership
TechTalks@msg
DevOps und Continuous Delivery: Testautomatisierung ist Trumpf
13.11.2019 – Stefan Jobst
2
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
DevOps: Motivation und Voraussetzungen
© msg | 13.11.2019 | Meet-up Techtalks@msg
Geschwindigkeit
Qualität
Reaktionsvermögen
Stabilität Automatisierung
Mindset
Organisation
Prozesse
DevOps-Zyklus
Motivation Voraussetzungen
© msg | 13.11.2019 | Meet-up Techtalks@msg 3
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Source: State of DevOps Report 2016
Mit DevOps verschaffen sich Unternehmen wichtige strategische
Vorteile gegenüber ihren Mitbewerbern auf dem Markt
• High performers spend less time on
unplanned work (22%)
• High performers spend more time
on new work (29%)
• High performers have better
employer loyalty (2.2 x)
• High performers spend less time in
remediating security issues (50%)
© msg | 13.11.2019 | Meet-up Techtalks@msg 4
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Team Organization has to be adapted in order to reduce Silo
thinking and accelerate the Product Life Cycle
• Product is transferred between
silos step by step
• Cycle times are long compared to
time horizon of business changes
• Agile Teams integrate Business,
Development and Test
• Remaining wall to Operations still
prevents continuous delivery
• Members of „NoOps“-Teams are
responsible for whole life cycle
• Continuous delivery enables
short term customer feedback
Business Dev Test Ops
Ops
ClassicAgileDevOps
© msg | 13.11.2019 | Meet-up Techtalks@msg 5
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Einführung von DevOps verspricht Lösungen, bringt jedoch auch
eine ganze Reihe von Herausforderungen mit sich
• Maximal quartalsweise Releases
• Lange Wartezeiten auf Feedback
• Hohe Durchlaufzeiten bei
Infrastrukturbereitstellungen
• Zeitintensive Testzyklen
• Unzufriedenheit bei Kunden/
schlechte User Expierence
• Hohe Anzahl von Defects in
Produktion
• Reputationsschädigende Go-live
Disaster
• Publikumswirksame System-
ausfälle im Rahmen von Changes
• Hoher Stress-Level bei den Ops
• Fingerpointing zwischen den Silos
• Nacht- und Wochenendarbeit
• Sicherung des eigenen Bereiches
• Großer Anteil ungeplanter Arbeit
• Permanente Beobachtung der
Kundenanforderungen
• Hohe Verfügbarkeit für Dev-Team
• Schnelle Reaktion auf neue/
angepasste Anforderungen
• Berücksichtigung der Bedürfnisse
des Betriebs
• Erhöhung Test-Geschwindigkeit
• Hochfrequente Regressionstests
• Umsetzung Continuous Testing
• Frühzeitige Definition von
Sicherheitsanforderungen
• Bereitschaft zu hochfrequenten
Produktivsetzungen
• Umsetzung von modernen
Methoden zur Risikobehandlung
• Arbeit in übergreifenden Teams
• Feature-orientierte Aufstellung
• Breite T-Shape-Profile
• Kurze Durchlaufzeiten
• Durchgehende Prozesse von
Anforderung bis Produktivsetzung
• Gelebter Feedback-Prozess
• Effiziente automatisierte
Continuous Delivery Tool-Chain
• Hoher Automatisierungsgrad von
Regressions-Tests
• Automatisierte Provisionierung
von Umgebungen
• Keine Schuldzuweisungen
• Whole-Team Approach
• Intensive Kollaboration
MotivationTempoQualität
OrgaKulturProzesseTools
Ist-Situation Herausforderungen Zielbild
OpsTestDevBizSec
Continuous
Integration
Continuous
Delivery
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
DevOps – „Automate Everything“
“Continuous Deployment”
Weiterführung des Continuous Delivery Ansatzes durch aut. Bereitstellung
• Input durch Agile Teams
• Zusammenführung der
Entwicklungsaufgaben
• Erstellung
automatisierter
Softwarepakete
• Weiterentwicklung von
Continuous Integration
• Zusammenschluss von
automatisierter Erstellung,
Testen und Lieferung in
einen Prozess
© msg | 13.11.2019 | Meet-up Techtalks@msg 6
© msg | 13.11.2019 | Meet-up Techtalks@msg 7
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Quelle: Masterarbeit Mohamed Abdel Bary
IT4IT DevOps Szenario fokussiert auf Automatisierungsgedanken
8
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Continuous Testing is essential Part of DevOps Pipeline
UnitTest
Developer
Agile Team
Customer
Code Build TestMerge Store Provision Deploy Test/Operate
DEV INT
TEST
STAGE
PROD
Eclipse
Visual
Studio
IDLE
…
Ant
Maven
Gradle
Grunt
…
JUnit
JUnitPerf
Sonar
Jmeter
Selenium
Watir
…
Git
Mercurial
SVN
…
Artifactory
Nexus
…
Chef
Puppet
Ansible
Cloudshell
Docker
…
CODAR
…
ALM
UFT
Tosca
Ranorex
Fortify
Loadrunner
…
Integration Test
System Test
Acceptance Test
Usability Test
End-to-End Test
User Acceptance Test
Capacity Test
Customer Feedback
Business
Remedy
Nagios
Sensu
Dynatrace
…
Build Test
Minutes
Hours
Days
WeeksUnitTest,CodeAnalysis,CodeCoverage
JUnit
So-
nar
Test
NG
,,,
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Notwendigkeit von Regressionstests
© msg | 13.11.2019 | Meet-up Techtalks@msg 9
% der mit aut. Tools
generierten
Funktionstestfälle
% der funktionalen
Testfälle, die mit
Testautomatisierungstools
ausgeführt werden
% der Sicherheitstests, die
mit
Testautomatisierungstools
ausgeführt werden
% der Performance
Testfälle, die mit
Testautomatisierungstools
ausgeführt werden
% der End-to-End-
Geschäftsszenarios, die
mit
Testautomatisierungstools
ausgeführt werden
% der Testdaten, die von
Testdatentools generiert
werden
% der API Tests, die
automatisiert ablaufen
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
1. Word Quality Report 2018/2019
Testautomatisierung im Vergleich
10
Verbesserungspotenzial der Testautomatisierung
• Automatisierung von Prozessen als DevOps – Grundprinzip
• Automatisierung als Standardvorgehen bei Build, Deployment, Monitoring, usw.
 Weniger als 1/5 der Testaktivitäten finden automatisiert statt1
18%
16%
16%
16%
15%
15%
14%
16%
16%
15%
15%
16%
16%
2018 2017
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
1. Word Quality Report 2018/2019
Vorteile der Testautomatisierung
11
68%
66%
65%
64%
64%
61%
51%
43%
57%
54%
60%
53%
40%
38%
40%
39%
42%
39%
2018 2017 2016
Better test coverage Better control and transparency
of test activities
Better reuse of test cases Reduction of test cycle time Better detection of defects Reduction of test costs
Benefits durch den Einsatz von Testautomatisierung
• Permanente Risikobetrachtung eines Zielreleases
• Vollständige Einbettung in den Software Delivery Prozess
• Unterstützung in allen Teststufen - vom Komponententest bis hin zum Systemtest
• Kontinuierlicher Review und Optimierung der Testfälle hinsichtlich Abdeckung, Aktualität und
Redundanz, Effizienz
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Challenges der Testautomatisierung
12
Der Einsatz von Testautomatisierung weist große Herausforderungen auf
• Anpassen bestehender QA-Prozesse
• Integration Management in die
Risikobewertung und das regelmäßige
Controlling
• Sicherstellen und Durchführen von
Maßnahmen, um eine einheitlicher Sicht
auf die Geschäftsrisiken zu haben
• Etablieren von prozessübergreifenden
Werkzeugen zur kontinuierlichen
Überprüfung der Softwarequalität
Organisatorisch
• Wahl einer geeigneten Teststrategie
• Wahl der geeigneten Metriken
• Realistische Risiko- und
Fehlerkostenbewertung
• Effiziente Wartung/Test Quality
Assessment:
• Stabile und vollständige Testumgebung
je Teststufe mit jeweils benötigten
Testdaten für jeden Testlauf
• Berücksichtigung der Teststufe für
Automatisierung
Konzeptionell
• Komplexität der verwendeten
Testwerkzeuge
• Aufbau von Tool-Know-how, Toolwartung
• Konfiguration der Werkzeuge analog des
Vorgehens zur Qualitätssicherung
• Automatisierbarkeit der Prozesse
(GUI-Objekt Erkennung)
• Effiziente Automatisierungsstrategie
(zur Vermeidung von Redundanzen)
Technologisch
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Testautomatisierung – Aller Anfang ist schwer!
13
Die richtige Planung ist ausschlaggebend für den Erfolg
• Die richtigen Fragen stellen:
 Wo befindet sich das Unternehmen im freien Markt?
 Welche Risiken und Gefahren sind mir bekannt?
 Was sind die marktstrategischen Ziele für die Zukunft?
 Was sind die eigenen Wettbewerbsvorteile?
 Welche Geschäftsrisiken müssen überwältigt
und welche Geschäftsprozesse diesbezüglich beachtet werden?
Identifikation der Risiken,
sowie der jetzigen und
zukünftigen Marktlage
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Testautomatisierung – Aller Anfang ist schwer!
14
Rahmenbedingungen müssen gesetzt werden
• Ausschlaggebende Vorgaben durch das Management zu nicht-funktionalen Qualitätsfaktoren
 Was gibt es für Sicherheitsbestimmungen?
 Wie lauten die Vorgaben an Performance und Belastbarkeit?
 Gibt es Anforderungen aus Legal die eingehalten werden müssen?
 Werden technische Voraussetzungen wie z.B. Coding Guidelines eingesetzt?
 Welche Vorgaben wurden an Usability und Corporate Identity gestellt?
Ausarbeitung von Richtlinien und
Einschränkungen
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Testautomatisierung – Aller Anfang ist schwer!
15
Risiken müssen analysiert und bewertet werden
• Etablierung einer umfassenden Risikodefinition
 Welche Risiken kommen aufgrund von Neuentwicklungen?
 In welcher Relation zu den Geschäftsrisiken werden die Risiken bewertet?
 Je später ein Fehler erkannt wird, desto teurer ist dessen Behebung
Nur definierte Risiken können Unternehmensweit
bewertet und umgangen werden
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Testautomatisierung – Aller Anfang ist schwer!
16
Festlegung von Metriken und Qualitätsstandards
• Abstimmung der Risiken mit der notwendigen Testautomatisierung
 Welche Metriken und Standards müssen eingehalten werden, damit die gegebenen Rahmenbedingungen
und Risiken eingehalten werden?
 Welche Teststufe muss welche Qualitätsstandards erfüllen?
 Prozessdesign zur stetigen Überwachung von Messungen und Risiken
Thematische Schnittstelle zwischen Automatisierung
der Testaktivitäten und der Geschäftsrisiken
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Testautomatisierung – Aller Anfang ist schwer!
17
Die Automatisierung
• Nach vorausgesetzter Analyse folgt nun die Evaluierung der Bestandteile der Testautomatisierung
 Identifikation der relevanten Testobjekte und die effizientesten Testfälle für die Testautomatisierung
 Ableiten von relevanten Testfällen je Teststufe
 Implementieren der automatisierten Testdurchführung („Continuous Testing“) im Software Delivery Prozess
 Etablieren eines Prozesses zur kontinuierlichen Wartung und Optimierung
UI
Integration
Unit
Integriert
Isoliert
Langsamer
Schneller
© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Bewerten & Priorisieren der TA-Kandidaten
© msg | 13.11.2019 | Meet-up Techtalks@msg 18
Testfallkandidaten
zur
Testautomatisierung
Prio
4
Prio
2
Prio
1
Prio
5
Prio
3
Prio
2
Prio
6
Prio
4
Prio
3
Nutzen
TechnischerAufwand
Priorisierte Liste
Prio 1:
Testfall 7
Testfall 21
..
Prio 2:
Testfall 4
Testfall 9
…
1. Bewertung des Nutzens
- Anzahl der Testläufe
- Funktionale Abdeckung des Tests
- Abweichungsgrad
- Verwendbarkeit in unterschiedlichen Teststufen
- Anzahl möglicher Datenvarianten
2. Bewertung des technischen Aufwands
- Komplexität der Oberflächenobjekterkennung
 Werden alle Elemente durch das Automatisierungstool erkannt?
- Komplexität der Oberflächenelemente
 Die Verarbeitung Eingabefeldern ist einfacher zu automatisieren als die
Verarbeitung von Listen oder Tabellen
- Anzahl unterschiedlicher Oberflächentechnologien
- Stabilität der zu automatisierenden Applikation
Analyse Planung
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Modularisieren der TA-Kandidaten
© msg | 13.11.2019 | Meet-up Techtalks@msg 19
Klassische Automatisierung Modularisierung in der Automatisierung
• Aufbau einer projektunabhängigen Framework-Bibliothek
• Keine lange Framework-Entwicklungsphase zu Beginn des Projekts
 Geringe Investition
 Geringes Risiko
• Frühe Bewertung des Ergebnisses der Automatisierung eines Testfalls
• Geringes Risiko, wenig effizientes Framework zu entwickeln
• Ziel- und bedarfsorientierte Framework-Entwicklung
• Agile Anpassung des Frameworks an die kurzfristgen Anforderungen
• Optimales „Schneiden“ der Module  nicht zu klein, nicht zu groß
• Entwicklung generischer Module zur Sicherstellung der
 Abdeckung von Layout- und Prozessänderungen aufgrund von Customizing-
Einstellungen
 Plattformunabhängigkeit
 Mehrsprachigkeit
• Optimierung der Module (z.B. Robustheit, Detailliertes Logging, …)
• Trennung der Testdatenhaltung von den automatisierten Testfällen
VORGEHEN VORTEILE
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Beispiel für eine Tool-Entscheidung (1/2)
20© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Beispiel für eine Tool-Entscheidung (2/2)
21© msg | 13.11.2019 | Meet-up Techtalks@msg
DevOps und Continuous Delivery - Testautomatisierung ist Trumpf
Takeaways
© msg | 13.11.2019 | Meet-up Techtalks@msg 22
• Disziplinierte Risikobetrachtung durchführen
• Die relevanten Testfälle identifizieren
• Redundanzen vermeiden
• Shift left Ansatz konsequent verfolgen
• Durchlaufzeiten klein halten
• Wartungsaufwand im Auge behalten
• Passgenaue Tools auswählen
.consulting .solutions .partnership
msg systems ag
Robert-Bürkle-Str. 1, 85737 Ismaning/München
Deutschland
Tel.: +49 89 96101-0
Fax: +49 89 96101-1113
info@msg.group
www.msg.group

Weitere ähnliche Inhalte

Was ist angesagt?

Erfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements EngineeringErfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements EngineeringMarkus Unterauer
 
Wann lohnt sich Software Testautomatisierung?
Wann lohnt sich Software Testautomatisierung?Wann lohnt sich Software Testautomatisierung?
Wann lohnt sich Software Testautomatisierung?Claudia Baur
 
Mit Performance-Modellierung Test- und Betriebskosten senken
Mit Performance-Modellierung Test- und Betriebskosten senkenMit Performance-Modellierung Test- und Betriebskosten senken
Mit Performance-Modellierung Test- und Betriebskosten senkenDynatrace
 
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?René Spengler
 
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ßprojekteQAware GmbH
 

Was ist angesagt? (7)

Erfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements EngineeringErfolgsfaktoren im Requirements Engineering
Erfolgsfaktoren im Requirements Engineering
 
Wann lohnt sich Software Testautomatisierung?
Wann lohnt sich Software Testautomatisierung?Wann lohnt sich Software Testautomatisierung?
Wann lohnt sich Software Testautomatisierung?
 
Präsentation RUP
Präsentation RUPPräsentation RUP
Präsentation RUP
 
Mit Performance-Modellierung Test- und Betriebskosten senken
Mit Performance-Modellierung Test- und Betriebskosten senkenMit Performance-Modellierung Test- und Betriebskosten senken
Mit Performance-Modellierung Test- und Betriebskosten senken
 
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
ASQF Dresden: Benötigen wir mit SCRUM noch einen Testmanager?
 
Mehr Softwarequalität: Requirements Engineering
Mehr Softwarequalität: Requirements EngineeringMehr Softwarequalität: Requirements Engineering
Mehr Softwarequalität: Requirements Engineering
 
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
 

Ähnlich wie 20191113 dev ops und continuous delivery_testautomatisierung ist trumpf

Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'scamunda services GmbH
 
Wie steigere ich die Effizienz und Zufriedenheit meiner Mitarbeiter
Wie steigere ich die Effizienz und Zufriedenheit meiner MitarbeiterWie steigere ich die Effizienz und Zufriedenheit meiner Mitarbeiter
Wie steigere ich die Effizienz und Zufriedenheit meiner MitarbeiterThomas Jenewein
 
Application Lifecycle Management _ Was bedeutet das?
Application Lifecycle Management _ Was bedeutet das?Application Lifecycle Management _ Was bedeutet das?
Application Lifecycle Management _ Was bedeutet das?Minerva SoftCare GmbH
 
Prozessanalyse mit Process Mining, Studentisches Projekt der Hochschule Mannh...
Prozessanalyse mit Process Mining, Studentisches Projekt der Hochschule Mannh...Prozessanalyse mit Process Mining, Studentisches Projekt der Hochschule Mannh...
Prozessanalyse mit Process Mining, Studentisches Projekt der Hochschule Mannh...Michael Groeschel
 
Auswahlhilfe ERP-Software
Auswahlhilfe ERP-SoftwareAuswahlhilfe ERP-Software
Auswahlhilfe ERP-SoftwareJessica Vitali
 
Open Source Governance - Erfahrungen
Open Source Governance - ErfahrungenOpen Source Governance - Erfahrungen
Open Source Governance - ErfahrungenJan Thielscher
 
Universität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingUniversität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingIBM Switzerland
 
Warum ein traditioneller Ausschreibungsprozess (RFP) nicht mehr zeitgemäß ist.
Warum ein traditioneller Ausschreibungsprozess (RFP) nicht mehr zeitgemäß ist.Warum ein traditioneller Ausschreibungsprozess (RFP) nicht mehr zeitgemäß ist.
Warum ein traditioneller Ausschreibungsprozess (RFP) nicht mehr zeitgemäß ist.TechDivision GmbH
 
OOP2015 agile im konzern gloger ewe
OOP2015 agile im konzern gloger eweOOP2015 agile im konzern gloger ewe
OOP2015 agile im konzern gloger eweMarkus Theilen
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019Markus Speth
 
VerbesserungsKATA – Umsetzung in einem Kommunalunternehmen – ein Praxisbericht!
VerbesserungsKATA – Umsetzung in einem Kommunalunternehmen – ein Praxisbericht!VerbesserungsKATA – Umsetzung in einem Kommunalunternehmen – ein Praxisbericht!
VerbesserungsKATA – Umsetzung in einem Kommunalunternehmen – ein Praxisbericht!Learning Factory
 
SAP Solman und Testing 2019
SAP Solman und Testing 2019SAP Solman und Testing 2019
SAP Solman und Testing 2019Allgeier ES
 
SAP Solman und Testing 2019
SAP Solman und Testing 2019SAP Solman und Testing 2019
SAP Solman und Testing 2019Allgeier ES
 
Steigern Sie die Effizienz beim Testen Ihres S/4HANA-Systems
Steigern Sie die Effizienz beim Testen Ihres S/4HANA-SystemsSteigern Sie die Effizienz beim Testen Ihres S/4HANA-Systems
Steigern Sie die Effizienz beim Testen Ihres S/4HANA-Systemspanayaofficial
 
Call center audit marketing resultant
Call center audit marketing resultantCall center audit marketing resultant
Call center audit marketing resultantHarald Henn
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenGjero Krsteski
 

Ähnlich wie 20191113 dev ops und continuous delivery_testautomatisierung ist trumpf (20)

DevOps und ITIL: Waffenbrüder oder Feinde?
DevOps und ITIL: Waffenbrüder oder Feinde?DevOps und ITIL: Waffenbrüder oder Feinde?
DevOps und ITIL: Waffenbrüder oder Feinde?
 
Roadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht'sRoadshow 2018 - Camunda in der Praxis: So geht's
Roadshow 2018 - Camunda in der Praxis: So geht's
 
Xidra 2016 DevOps
Xidra 2016 DevOpsXidra 2016 DevOps
Xidra 2016 DevOps
 
Wie steigere ich die Effizienz und Zufriedenheit meiner Mitarbeiter
Wie steigere ich die Effizienz und Zufriedenheit meiner MitarbeiterWie steigere ich die Effizienz und Zufriedenheit meiner Mitarbeiter
Wie steigere ich die Effizienz und Zufriedenheit meiner Mitarbeiter
 
Application Lifecycle Management _ Was bedeutet das?
Application Lifecycle Management _ Was bedeutet das?Application Lifecycle Management _ Was bedeutet das?
Application Lifecycle Management _ Was bedeutet das?
 
Minerva ikanalm slideshare
Minerva ikanalm slideshareMinerva ikanalm slideshare
Minerva ikanalm slideshare
 
Prozessanalyse mit Process Mining, Studentisches Projekt der Hochschule Mannh...
Prozessanalyse mit Process Mining, Studentisches Projekt der Hochschule Mannh...Prozessanalyse mit Process Mining, Studentisches Projekt der Hochschule Mannh...
Prozessanalyse mit Process Mining, Studentisches Projekt der Hochschule Mannh...
 
Auswahlhilfe ERP-Software
Auswahlhilfe ERP-SoftwareAuswahlhilfe ERP-Software
Auswahlhilfe ERP-Software
 
Open Source Governance - Erfahrungen
Open Source Governance - ErfahrungenOpen Source Governance - Erfahrungen
Open Source Governance - Erfahrungen
 
Universität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches TestingUniversität Zürich - erfolgreiches Testing
Universität Zürich - erfolgreiches Testing
 
Warum ein traditioneller Ausschreibungsprozess (RFP) nicht mehr zeitgemäß ist.
Warum ein traditioneller Ausschreibungsprozess (RFP) nicht mehr zeitgemäß ist.Warum ein traditioneller Ausschreibungsprozess (RFP) nicht mehr zeitgemäß ist.
Warum ein traditioneller Ausschreibungsprozess (RFP) nicht mehr zeitgemäß ist.
 
OOP2015 agile im konzern gloger ewe
OOP2015 agile im konzern gloger eweOOP2015 agile im konzern gloger ewe
OOP2015 agile im konzern gloger ewe
 
VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019VSHN DevOps Workshop at topsoft 2019
VSHN DevOps Workshop at topsoft 2019
 
VerbesserungsKATA – Umsetzung in einem Kommunalunternehmen – ein Praxisbericht!
VerbesserungsKATA – Umsetzung in einem Kommunalunternehmen – ein Praxisbericht!VerbesserungsKATA – Umsetzung in einem Kommunalunternehmen – ein Praxisbericht!
VerbesserungsKATA – Umsetzung in einem Kommunalunternehmen – ein Praxisbericht!
 
SAP Solman und Testing 2019
SAP Solman und Testing 2019SAP Solman und Testing 2019
SAP Solman und Testing 2019
 
SAP Solman und Testing 2019
SAP Solman und Testing 2019SAP Solman und Testing 2019
SAP Solman und Testing 2019
 
Steigern Sie die Effizienz beim Testen Ihres S/4HANA-Systems
Steigern Sie die Effizienz beim Testen Ihres S/4HANA-SystemsSteigern Sie die Effizienz beim Testen Ihres S/4HANA-Systems
Steigern Sie die Effizienz beim Testen Ihres S/4HANA-Systems
 
Call center audit marketing resultant
Call center audit marketing resultantCall center audit marketing resultant
Call center audit marketing resultant
 
Software-Tests in PHP-Anwendungen
Software-Tests in PHP-AnwendungenSoftware-Tests in PHP-Anwendungen
Software-Tests in PHP-Anwendungen
 
Die Zukunft von TPM
Die Zukunft von TPMDie Zukunft von TPM
Die Zukunft von TPM
 

20191113 dev ops und continuous delivery_testautomatisierung ist trumpf

  • 1. .consulting .solutions .partnership TechTalks@msg DevOps und Continuous Delivery: Testautomatisierung ist Trumpf 13.11.2019 – Stefan Jobst
  • 2. 2 DevOps und Continuous Delivery - Testautomatisierung ist Trumpf DevOps: Motivation und Voraussetzungen © msg | 13.11.2019 | Meet-up Techtalks@msg Geschwindigkeit Qualität Reaktionsvermögen Stabilität Automatisierung Mindset Organisation Prozesse DevOps-Zyklus Motivation Voraussetzungen
  • 3. © msg | 13.11.2019 | Meet-up Techtalks@msg 3 DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Source: State of DevOps Report 2016 Mit DevOps verschaffen sich Unternehmen wichtige strategische Vorteile gegenüber ihren Mitbewerbern auf dem Markt • High performers spend less time on unplanned work (22%) • High performers spend more time on new work (29%) • High performers have better employer loyalty (2.2 x) • High performers spend less time in remediating security issues (50%)
  • 4. © msg | 13.11.2019 | Meet-up Techtalks@msg 4 DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Team Organization has to be adapted in order to reduce Silo thinking and accelerate the Product Life Cycle • Product is transferred between silos step by step • Cycle times are long compared to time horizon of business changes • Agile Teams integrate Business, Development and Test • Remaining wall to Operations still prevents continuous delivery • Members of „NoOps“-Teams are responsible for whole life cycle • Continuous delivery enables short term customer feedback Business Dev Test Ops Ops ClassicAgileDevOps
  • 5. © msg | 13.11.2019 | Meet-up Techtalks@msg 5 DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Einführung von DevOps verspricht Lösungen, bringt jedoch auch eine ganze Reihe von Herausforderungen mit sich • Maximal quartalsweise Releases • Lange Wartezeiten auf Feedback • Hohe Durchlaufzeiten bei Infrastrukturbereitstellungen • Zeitintensive Testzyklen • Unzufriedenheit bei Kunden/ schlechte User Expierence • Hohe Anzahl von Defects in Produktion • Reputationsschädigende Go-live Disaster • Publikumswirksame System- ausfälle im Rahmen von Changes • Hoher Stress-Level bei den Ops • Fingerpointing zwischen den Silos • Nacht- und Wochenendarbeit • Sicherung des eigenen Bereiches • Großer Anteil ungeplanter Arbeit • Permanente Beobachtung der Kundenanforderungen • Hohe Verfügbarkeit für Dev-Team • Schnelle Reaktion auf neue/ angepasste Anforderungen • Berücksichtigung der Bedürfnisse des Betriebs • Erhöhung Test-Geschwindigkeit • Hochfrequente Regressionstests • Umsetzung Continuous Testing • Frühzeitige Definition von Sicherheitsanforderungen • Bereitschaft zu hochfrequenten Produktivsetzungen • Umsetzung von modernen Methoden zur Risikobehandlung • Arbeit in übergreifenden Teams • Feature-orientierte Aufstellung • Breite T-Shape-Profile • Kurze Durchlaufzeiten • Durchgehende Prozesse von Anforderung bis Produktivsetzung • Gelebter Feedback-Prozess • Effiziente automatisierte Continuous Delivery Tool-Chain • Hoher Automatisierungsgrad von Regressions-Tests • Automatisierte Provisionierung von Umgebungen • Keine Schuldzuweisungen • Whole-Team Approach • Intensive Kollaboration MotivationTempoQualität OrgaKulturProzesseTools Ist-Situation Herausforderungen Zielbild OpsTestDevBizSec
  • 6. Continuous Integration Continuous Delivery DevOps und Continuous Delivery - Testautomatisierung ist Trumpf DevOps – „Automate Everything“ “Continuous Deployment” Weiterführung des Continuous Delivery Ansatzes durch aut. Bereitstellung • Input durch Agile Teams • Zusammenführung der Entwicklungsaufgaben • Erstellung automatisierter Softwarepakete • Weiterentwicklung von Continuous Integration • Zusammenschluss von automatisierter Erstellung, Testen und Lieferung in einen Prozess © msg | 13.11.2019 | Meet-up Techtalks@msg 6
  • 7. © msg | 13.11.2019 | Meet-up Techtalks@msg 7 DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Quelle: Masterarbeit Mohamed Abdel Bary IT4IT DevOps Szenario fokussiert auf Automatisierungsgedanken
  • 8. 8 DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Continuous Testing is essential Part of DevOps Pipeline UnitTest Developer Agile Team Customer Code Build TestMerge Store Provision Deploy Test/Operate DEV INT TEST STAGE PROD Eclipse Visual Studio IDLE … Ant Maven Gradle Grunt … JUnit JUnitPerf Sonar Jmeter Selenium Watir … Git Mercurial SVN … Artifactory Nexus … Chef Puppet Ansible Cloudshell Docker … CODAR … ALM UFT Tosca Ranorex Fortify Loadrunner … Integration Test System Test Acceptance Test Usability Test End-to-End Test User Acceptance Test Capacity Test Customer Feedback Business Remedy Nagios Sensu Dynatrace … Build Test Minutes Hours Days WeeksUnitTest,CodeAnalysis,CodeCoverage JUnit So- nar Test NG ,,, © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 9. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Notwendigkeit von Regressionstests © msg | 13.11.2019 | Meet-up Techtalks@msg 9
  • 10. % der mit aut. Tools generierten Funktionstestfälle % der funktionalen Testfälle, die mit Testautomatisierungstools ausgeführt werden % der Sicherheitstests, die mit Testautomatisierungstools ausgeführt werden % der Performance Testfälle, die mit Testautomatisierungstools ausgeführt werden % der End-to-End- Geschäftsszenarios, die mit Testautomatisierungstools ausgeführt werden % der Testdaten, die von Testdatentools generiert werden % der API Tests, die automatisiert ablaufen DevOps und Continuous Delivery - Testautomatisierung ist Trumpf 1. Word Quality Report 2018/2019 Testautomatisierung im Vergleich 10 Verbesserungspotenzial der Testautomatisierung • Automatisierung von Prozessen als DevOps – Grundprinzip • Automatisierung als Standardvorgehen bei Build, Deployment, Monitoring, usw.  Weniger als 1/5 der Testaktivitäten finden automatisiert statt1 18% 16% 16% 16% 15% 15% 14% 16% 16% 15% 15% 16% 16% 2018 2017 © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 11. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf 1. Word Quality Report 2018/2019 Vorteile der Testautomatisierung 11 68% 66% 65% 64% 64% 61% 51% 43% 57% 54% 60% 53% 40% 38% 40% 39% 42% 39% 2018 2017 2016 Better test coverage Better control and transparency of test activities Better reuse of test cases Reduction of test cycle time Better detection of defects Reduction of test costs Benefits durch den Einsatz von Testautomatisierung • Permanente Risikobetrachtung eines Zielreleases • Vollständige Einbettung in den Software Delivery Prozess • Unterstützung in allen Teststufen - vom Komponententest bis hin zum Systemtest • Kontinuierlicher Review und Optimierung der Testfälle hinsichtlich Abdeckung, Aktualität und Redundanz, Effizienz © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 12. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Challenges der Testautomatisierung 12 Der Einsatz von Testautomatisierung weist große Herausforderungen auf • Anpassen bestehender QA-Prozesse • Integration Management in die Risikobewertung und das regelmäßige Controlling • Sicherstellen und Durchführen von Maßnahmen, um eine einheitlicher Sicht auf die Geschäftsrisiken zu haben • Etablieren von prozessübergreifenden Werkzeugen zur kontinuierlichen Überprüfung der Softwarequalität Organisatorisch • Wahl einer geeigneten Teststrategie • Wahl der geeigneten Metriken • Realistische Risiko- und Fehlerkostenbewertung • Effiziente Wartung/Test Quality Assessment: • Stabile und vollständige Testumgebung je Teststufe mit jeweils benötigten Testdaten für jeden Testlauf • Berücksichtigung der Teststufe für Automatisierung Konzeptionell • Komplexität der verwendeten Testwerkzeuge • Aufbau von Tool-Know-how, Toolwartung • Konfiguration der Werkzeuge analog des Vorgehens zur Qualitätssicherung • Automatisierbarkeit der Prozesse (GUI-Objekt Erkennung) • Effiziente Automatisierungsstrategie (zur Vermeidung von Redundanzen) Technologisch © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 13. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Testautomatisierung – Aller Anfang ist schwer! 13 Die richtige Planung ist ausschlaggebend für den Erfolg • Die richtigen Fragen stellen:  Wo befindet sich das Unternehmen im freien Markt?  Welche Risiken und Gefahren sind mir bekannt?  Was sind die marktstrategischen Ziele für die Zukunft?  Was sind die eigenen Wettbewerbsvorteile?  Welche Geschäftsrisiken müssen überwältigt und welche Geschäftsprozesse diesbezüglich beachtet werden? Identifikation der Risiken, sowie der jetzigen und zukünftigen Marktlage © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 14. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Testautomatisierung – Aller Anfang ist schwer! 14 Rahmenbedingungen müssen gesetzt werden • Ausschlaggebende Vorgaben durch das Management zu nicht-funktionalen Qualitätsfaktoren  Was gibt es für Sicherheitsbestimmungen?  Wie lauten die Vorgaben an Performance und Belastbarkeit?  Gibt es Anforderungen aus Legal die eingehalten werden müssen?  Werden technische Voraussetzungen wie z.B. Coding Guidelines eingesetzt?  Welche Vorgaben wurden an Usability und Corporate Identity gestellt? Ausarbeitung von Richtlinien und Einschränkungen © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 15. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Testautomatisierung – Aller Anfang ist schwer! 15 Risiken müssen analysiert und bewertet werden • Etablierung einer umfassenden Risikodefinition  Welche Risiken kommen aufgrund von Neuentwicklungen?  In welcher Relation zu den Geschäftsrisiken werden die Risiken bewertet?  Je später ein Fehler erkannt wird, desto teurer ist dessen Behebung Nur definierte Risiken können Unternehmensweit bewertet und umgangen werden © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 16. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Testautomatisierung – Aller Anfang ist schwer! 16 Festlegung von Metriken und Qualitätsstandards • Abstimmung der Risiken mit der notwendigen Testautomatisierung  Welche Metriken und Standards müssen eingehalten werden, damit die gegebenen Rahmenbedingungen und Risiken eingehalten werden?  Welche Teststufe muss welche Qualitätsstandards erfüllen?  Prozessdesign zur stetigen Überwachung von Messungen und Risiken Thematische Schnittstelle zwischen Automatisierung der Testaktivitäten und der Geschäftsrisiken © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 17. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Testautomatisierung – Aller Anfang ist schwer! 17 Die Automatisierung • Nach vorausgesetzter Analyse folgt nun die Evaluierung der Bestandteile der Testautomatisierung  Identifikation der relevanten Testobjekte und die effizientesten Testfälle für die Testautomatisierung  Ableiten von relevanten Testfällen je Teststufe  Implementieren der automatisierten Testdurchführung („Continuous Testing“) im Software Delivery Prozess  Etablieren eines Prozesses zur kontinuierlichen Wartung und Optimierung UI Integration Unit Integriert Isoliert Langsamer Schneller © msg | 13.11.2019 | Meet-up Techtalks@msg
  • 18. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Bewerten & Priorisieren der TA-Kandidaten © msg | 13.11.2019 | Meet-up Techtalks@msg 18 Testfallkandidaten zur Testautomatisierung Prio 4 Prio 2 Prio 1 Prio 5 Prio 3 Prio 2 Prio 6 Prio 4 Prio 3 Nutzen TechnischerAufwand Priorisierte Liste Prio 1: Testfall 7 Testfall 21 .. Prio 2: Testfall 4 Testfall 9 … 1. Bewertung des Nutzens - Anzahl der Testläufe - Funktionale Abdeckung des Tests - Abweichungsgrad - Verwendbarkeit in unterschiedlichen Teststufen - Anzahl möglicher Datenvarianten 2. Bewertung des technischen Aufwands - Komplexität der Oberflächenobjekterkennung  Werden alle Elemente durch das Automatisierungstool erkannt? - Komplexität der Oberflächenelemente  Die Verarbeitung Eingabefeldern ist einfacher zu automatisieren als die Verarbeitung von Listen oder Tabellen - Anzahl unterschiedlicher Oberflächentechnologien - Stabilität der zu automatisierenden Applikation Analyse Planung
  • 19. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Modularisieren der TA-Kandidaten © msg | 13.11.2019 | Meet-up Techtalks@msg 19 Klassische Automatisierung Modularisierung in der Automatisierung • Aufbau einer projektunabhängigen Framework-Bibliothek • Keine lange Framework-Entwicklungsphase zu Beginn des Projekts  Geringe Investition  Geringes Risiko • Frühe Bewertung des Ergebnisses der Automatisierung eines Testfalls • Geringes Risiko, wenig effizientes Framework zu entwickeln • Ziel- und bedarfsorientierte Framework-Entwicklung • Agile Anpassung des Frameworks an die kurzfristgen Anforderungen • Optimales „Schneiden“ der Module  nicht zu klein, nicht zu groß • Entwicklung generischer Module zur Sicherstellung der  Abdeckung von Layout- und Prozessänderungen aufgrund von Customizing- Einstellungen  Plattformunabhängigkeit  Mehrsprachigkeit • Optimierung der Module (z.B. Robustheit, Detailliertes Logging, …) • Trennung der Testdatenhaltung von den automatisierten Testfällen VORGEHEN VORTEILE
  • 20. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Beispiel für eine Tool-Entscheidung (1/2) 20© msg | 13.11.2019 | Meet-up Techtalks@msg
  • 21. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Beispiel für eine Tool-Entscheidung (2/2) 21© msg | 13.11.2019 | Meet-up Techtalks@msg
  • 22. DevOps und Continuous Delivery - Testautomatisierung ist Trumpf Takeaways © msg | 13.11.2019 | Meet-up Techtalks@msg 22 • Disziplinierte Risikobetrachtung durchführen • Die relevanten Testfälle identifizieren • Redundanzen vermeiden • Shift left Ansatz konsequent verfolgen • Durchlaufzeiten klein halten • Wartungsaufwand im Auge behalten • Passgenaue Tools auswählen
  • 23. .consulting .solutions .partnership msg systems ag Robert-Bürkle-Str. 1, 85737 Ismaning/München Deutschland Tel.: +49 89 96101-0 Fax: +49 89 96101-1113 info@msg.group www.msg.group