Anzeige
Anzeige

Más contenido relacionado

Similar a 20191113 dev ops und continuous delivery_testautomatisierung ist trumpf(20)

Anzeige

Último(20)

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
Anzeige