Testpyramide - Effiziente Testautomatisierung unter Berücksichtigung der Testpyramide
In der agilen Softwareentwicklung sollen Funktionalitäten am Ende eines Sprints potenziell lieferbar/nutzbar sein. Das bedeutet auch "fertig getestet". Das kann herausfordernd sein: Man muss frühzeitig wissen, was man testet, die notwendige Infrastruktur muss zur Verfügung stehen und vor allem muss es schnell gehen – denn die Iterationen sind kurz, sehr viel kürzer als wir es aus klassischen Projekten gewohnt sind.
Mike Cohn hat schon vor einigen Jahren die Testpyramide vorgestellt, die uns zeigt, wie das Testen effizient gestaltet werden kann
Unit Tests sind relativ einfach zu erstellen und auch noch schnell durchzuführen, deswegen sollen diese möglichst oft automatisiert werden . Wir können diese nutzen, um eine hohe Testabdeckung zu erreichen und in sehr frühen Phasen der Entwicklung die meisten Fehler zu entdecken.
System- und Integrationstests kann man relativ gut automatisieren, dafür gibt es auch eine große Toolauswahl. Viele machen den Fehler System- und Integrationstests zu automatisieren in dem sie das Frontend steuern. Das kostet nicht nur viel Zeit und Geld sondern birgt die Gefahr eine niedrige Testabdeckung zu haben da über das Frontend nicht alle Funktionalitäten erreicht werden können.
UI/Fachbereichstests sind meist sehr komplex und schwer zu automatisieren. Auch die Wartung der Automatisierung ist sehr zeitintensiv, daher sollte man sich gut überlegen, ob eine Automatisierung tatsächlich sinnvoll ist. In dieser Phase der Entwicklung sollte man eigentlich schon die meisten Fehler gefunden haben. Es geht also nur noch darum, zu verifizieren, ob das Richtige entwickelt wurde und nicht mehr so sehr, ob es richtig entwickelt wurde. Diese Tests sollten natürlich nicht vernachlässigt, aber auf ein Minimum reduziert werden.
Wenn man in der Planung der Testautomatisierung, diese einfache Faustregel beachtet, kann man günstig, schnell und effizient eine hohe Qualität der Software erreichen und es entstehen keine Redundanzen.
In diesem Vortrag gehe ich detailliert auf die einzelnen Stufen der Testpyramide ein und erkläre bei jeder einzelnen worauf man achten muss, und wie man diese Stufen so gestalten, so, dass eine sehr hohe Produktqualität mit einfachen Mitteln erreicht werden kann.
Was lernen die Zuhörer in dem Vortrag?
Wie kann man sicherstellen, dass die Qualität des Produktes auch nach kurzen Sprints garantiert werden kann.
Was muss man auf den einzelnen Teststufen beachten um die Testautomatisierung effizient zu planen und keine Redundanzen zu haben.
Welches Know-How, Tools und Prinzipien müssen beachtet werden, um möglichst schnell und mit wenig Aufwand zu testen und die Qualität des Produkts zu sichern.
Einsteiger
Zeit
15:15-16:00
03. Juli
Raum
Raum "München"
Zielpublikum
Projektmanager, Projektleiter, Testmanager, Mitglieder eines agilen Teams
Themengebiet
Agile Testing
ID
Mi3.4