SlideShare a Scribd company logo
1 of 5
Download to read offline
Erfahrungen bei der Einführung von
Testautomatisierung
Probleme, Hürden, Best Practices …
und Gegenrede
Leipzig Software Qualitätssicherung und Testen Meetup
Ramon Anger, Leipzig 15.05.2019
Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh
Probleme bei der Einführung
●
Organisationsprobleme
– Gemeinsame(s) Verständnis/Erwartungshaltung/Ziele → Erwartungs- und Stakeholder Management
– Entwickler/Tester/Automatisierer sind deine Freunde, nicht deine Feinde
●
Testabdeckung halten/erhöhen
– Hohe Änderungsfrequenz im bestehenden Testset → Neue Funktionalität erfordert neue Tests →
Knappe Test-Ressourcen → Death March
– Testautomatisierung ist Software-Entwicklung
●
Testautomatisierung scheitert
– Erste Messung: 5% Abdeckung → Erwartung Management: 50%
– Erwartungshaltung nicht erfüllt → Geduld verloren → Es wird wieder manuell getestet
– Testautomatisierung als Lern-/Veränderungsprozess akzeptieren
– Nicht nur Kosten, sondern auch Nutzen transparent machen
Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh
Hürden bei der Einführung
●
Wir brauchen Testdaten! Viele Testdaten!
– Woher bekommen wir Testdaten? Anonymisierung, Pseudonymisierung …
– Testdaten (pro Test) zurücksetzen → Abhängigkeiten
●
Wo anfangen?
– Was soll getestet werden? → Wo liegen die Schmerzen?
– Ohne Testkonzept geht es nicht
●
Richtiges Werkzeug für jeweiliges Problem
– App vs. Web / Performance vs. Useability / Regression vs. Acceptance …
– Kenne deine Werkzeuge
●
Falsche Anreize/Messmittel
– Anzahl gefundener/anerkannter Fehler / Fehlerklassifizierung
●
Testen unter realen Bedingungen
– Ausstattung Testumgebung: Speicher/Kerne/Datenmenge
–
Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh
Best Practices bei der Einführung
●
UI-Tests auf Code-Ebene hinterfragen
– Aufwand bei Änderungen vs. Wiederverwendung
●
UI nicht zu früh automatisieren
– Hohe Änderungsfrequenz vs. Hoher Aufwand
●
Lerne UI Tests zu schreiben, die resistent gegen Veränderung sind
●
Laufzeitveränderung der Tests messen → per Script
●
Warte! → Webanwendungen neigen dazu nicht deterministisch zu reagieren → WaitFor ...
●
Verwende/Kreiere eine Test-Muster-Sprache
●
Parallelisiere Testausführung, wenn du kannst (Laufzeit, frühes Feedback, Nightly)
– Webanwendung, Cloud, CI/CD
●
Nicht zu viel (weg)managen → Testen und Fehler beheben
●
Trotz aller Automatisierung → Benutze deine Augen
Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh
Wenn Automatisierung so schwierig
ist, warum sollen wir dann …
●
Frühes / schnelles Feedback
– Nicht erst, wenn (manuelle) Tester oder Kunde Zeit haben
●
Regression → partielles Sicherheitsgefühl
– Kompatibilität
– Write Once, run on most devices/browser (versions)
– Stabile Tests sind preiswert
●
Design for Testability führt zu einfacherer Software
– APIs, Services, TDD
●
Test wird sicher durchgeführt
– CI/CD
●
Protagonisten (Entwickler wie Tester) leichter in der Lage, die richtigen Dinge zu testen/zu
entwickeln
Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh

More Related Content

More from Ramon Anger

Geschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
Geschnitten oder am Stück - Von der Produktvision zu guten AnforderungenGeschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
Geschnitten oder am Stück - Von der Produktvision zu guten AnforderungenRamon Anger
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istRamon Anger
 
Das Agile muss ins Klassische
Das Agile muss ins KlassischeDas Agile muss ins Klassische
Das Agile muss ins KlassischeRamon Anger
 
Under pressure - Sozialer und Termindruck in agilen Teams
Under pressure - Sozialer und Termindruck in agilen TeamsUnder pressure - Sozialer und Termindruck in agilen Teams
Under pressure - Sozialer und Termindruck in agilen TeamsRamon Anger
 
Vom Hybriden zu Scrum und zurück
Vom Hybriden zu Scrum und zurückVom Hybriden zu Scrum und zurück
Vom Hybriden zu Scrum und zurückRamon Anger
 
EAM im Spannungsfeld agiler Methoden oder Agiles EAM
EAM im Spannungsfeld agiler Methoden oder Agiles EAMEAM im Spannungsfeld agiler Methoden oder Agiles EAM
EAM im Spannungsfeld agiler Methoden oder Agiles EAMRamon Anger
 
Wer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
Wer braucht das schon - Unternehmensarchitektur im agilen ZeitalterWer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
Wer braucht das schon - Unternehmensarchitektur im agilen ZeitalterRamon Anger
 
Coderetreat Vorlage
Coderetreat VorlageCoderetreat Vorlage
Coderetreat VorlageRamon Anger
 

More from Ramon Anger (8)

Geschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
Geschnitten oder am Stück - Von der Produktvision zu guten AnforderungenGeschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
Geschnitten oder am Stück - Von der Produktvision zu guten Anforderungen
 
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_istWhere are all transactions gone? Was in_der_cloud_alles_verboten_ist
Where are all transactions gone? Was in_der_cloud_alles_verboten_ist
 
Das Agile muss ins Klassische
Das Agile muss ins KlassischeDas Agile muss ins Klassische
Das Agile muss ins Klassische
 
Under pressure - Sozialer und Termindruck in agilen Teams
Under pressure - Sozialer und Termindruck in agilen TeamsUnder pressure - Sozialer und Termindruck in agilen Teams
Under pressure - Sozialer und Termindruck in agilen Teams
 
Vom Hybriden zu Scrum und zurück
Vom Hybriden zu Scrum und zurückVom Hybriden zu Scrum und zurück
Vom Hybriden zu Scrum und zurück
 
EAM im Spannungsfeld agiler Methoden oder Agiles EAM
EAM im Spannungsfeld agiler Methoden oder Agiles EAMEAM im Spannungsfeld agiler Methoden oder Agiles EAM
EAM im Spannungsfeld agiler Methoden oder Agiles EAM
 
Wer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
Wer braucht das schon - Unternehmensarchitektur im agilen ZeitalterWer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
Wer braucht das schon - Unternehmensarchitektur im agilen Zeitalter
 
Coderetreat Vorlage
Coderetreat VorlageCoderetreat Vorlage
Coderetreat Vorlage
 

Erfahrung bei der Einfuehrung von Testautomatisierung - Probleme, Huerden, Best Practices und Gegenrede

  • 1. Erfahrungen bei der Einführung von Testautomatisierung Probleme, Hürden, Best Practices … und Gegenrede Leipzig Software Qualitätssicherung und Testen Meetup Ramon Anger, Leipzig 15.05.2019 Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh
  • 2. Probleme bei der Einführung ● Organisationsprobleme – Gemeinsame(s) Verständnis/Erwartungshaltung/Ziele → Erwartungs- und Stakeholder Management – Entwickler/Tester/Automatisierer sind deine Freunde, nicht deine Feinde ● Testabdeckung halten/erhöhen – Hohe Änderungsfrequenz im bestehenden Testset → Neue Funktionalität erfordert neue Tests → Knappe Test-Ressourcen → Death March – Testautomatisierung ist Software-Entwicklung ● Testautomatisierung scheitert – Erste Messung: 5% Abdeckung → Erwartung Management: 50% – Erwartungshaltung nicht erfüllt → Geduld verloren → Es wird wieder manuell getestet – Testautomatisierung als Lern-/Veränderungsprozess akzeptieren – Nicht nur Kosten, sondern auch Nutzen transparent machen Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh
  • 3. Hürden bei der Einführung ● Wir brauchen Testdaten! Viele Testdaten! – Woher bekommen wir Testdaten? Anonymisierung, Pseudonymisierung … – Testdaten (pro Test) zurücksetzen → Abhängigkeiten ● Wo anfangen? – Was soll getestet werden? → Wo liegen die Schmerzen? – Ohne Testkonzept geht es nicht ● Richtiges Werkzeug für jeweiliges Problem – App vs. Web / Performance vs. Useability / Regression vs. Acceptance … – Kenne deine Werkzeuge ● Falsche Anreize/Messmittel – Anzahl gefundener/anerkannter Fehler / Fehlerklassifizierung ● Testen unter realen Bedingungen – Ausstattung Testumgebung: Speicher/Kerne/Datenmenge – Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh
  • 4. Best Practices bei der Einführung ● UI-Tests auf Code-Ebene hinterfragen – Aufwand bei Änderungen vs. Wiederverwendung ● UI nicht zu früh automatisieren – Hohe Änderungsfrequenz vs. Hoher Aufwand ● Lerne UI Tests zu schreiben, die resistent gegen Veränderung sind ● Laufzeitveränderung der Tests messen → per Script ● Warte! → Webanwendungen neigen dazu nicht deterministisch zu reagieren → WaitFor ... ● Verwende/Kreiere eine Test-Muster-Sprache ● Parallelisiere Testausführung, wenn du kannst (Laufzeit, frühes Feedback, Nightly) – Webanwendung, Cloud, CI/CD ● Nicht zu viel (weg)managen → Testen und Fehler beheben ● Trotz aller Automatisierung → Benutze deine Augen Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh
  • 5. Wenn Automatisierung so schwierig ist, warum sollen wir dann … ● Frühes / schnelles Feedback – Nicht erst, wenn (manuelle) Tester oder Kunde Zeit haben ● Regression → partielles Sicherheitsgefühl – Kompatibilität – Write Once, run on most devices/browser (versions) – Stabile Tests sind preiswert ● Design for Testability führt zu einfacherer Software – APIs, Services, TDD ● Test wird sicher durchgeführt – CI/CD ● Protagonisten (Entwickler wie Tester) leichter in der Lage, die richtigen Dinge zu testen/zu entwickeln Image source: https://commons.wikimedia.org/wiki/File:Factory_Automation_Robotics_Palettizing_Bread.jpg by author KUKA Roboter Gmbh