Agiles Testen: Mehr Effizienz durch die Testpyramide

In meinem Beitrag „Was agiles Testen nicht ist und was es ist“ habe ich darüber geschrieben, dass Funktionalitäten in einem Sprint fertig getestet werden müssen, um am Ende des Sprints funktionierende (Teil)Produkte liefern zu können. 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. Wir können diese nutzen, um eine hohe Testabdeckung zu erreichen und in sehr frühen Phasen der Entwicklung die meisten Fehler zu entdecken. Hier hilft es sehr, wenn Entwickler konsequent bei der Erstellung von Unit Tests dabei sind und ein hohes Qualitätsbewusstsein haben. Idealerweise entwickeln sie sogar mit TDD oder folgen den Prinzipien zu Clean Code.
  • System- und Integrationstests kann man relativ gut automatisieren, dafür gibt es auch eine große Toolauswahl. Um möglichst effizient zu testen, ist es absolut wichtig, das richtige Tool auszuwählen. Die Kosten dürfen dabei nicht das einzige Entscheidungskriterium sein. Genauso wichtig sind das Know-how der Teammitglieder (Script-Tools, Capture & Replay, Beschreibungssprache etc.), die Interaktion mit den anderen Entwicklungstools und vieles mehr. Aus dieser Testphase heraus lässt sich meiner Meinung nach auch am besten entscheiden, welche Testfälle sich für den Pool an Regressiontest-Testfällen eignen. Meine Empfehlung: mindestens 1 Gutfall-Testfall + 1 kritischer Negativ-Testfall pro User Story. Hier ist auch wichtig zu wissen, ob sich diese User Story in naher Zukunft noch sehr verändern wird (dann mehr Testfälle in den Regressionstest) oder nicht.
  • 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. So spart man Zeit und Geld und vor allem entstehen keine Redundanzen.

Mit dieser Taktik lässt sich die Qualität des Produkts am effizientesten erhöhen und es kann sichergestellt werden, dass am Ende des Sprints funktionierende Software potenziell geliefert werden kann.Bild: Copyright Mike Cohn, Constanze Riess

Mehr Formate
Andra Calancea
July 11, 2018

Table of content

Diesen Beitrag teilen

Das könnte auch interessant sein:

FRAGE: Warum macht ihr eigentlich kein SAFe?
Boris Gloger

FRAGE: Warum macht ihr eigentlich kein SAFe?

FRAGE: Was würdet ihr Kund:innen raten, die mit denselben Herausforderungen, wie BG sie aktuell hat, zu euch kommt?
Boris Gloger

FRAGE: Was würdet ihr Kund:innen raten, die mit denselben Herausforderungen, wie BG sie aktuell hat, zu euch kommt?

FRAGE: Wie wird darüber entschieden, welche:n Berater:in wir bekommen? Können wir die Berater:innen vorher kennenlernen?
Boris Gloger

FRAGE: Wie wird darüber entschieden, welche:n Berater:in wir bekommen? Können wir die Berater:innen vorher kennenlernen?

FRAGE: Was kostet eine agile Transformation?
Boris Gloger

FRAGE: Was kostet eine agile Transformation?

FRAGE: Welche Rolle spielt Training?
Boris Gloger

FRAGE: Welche Rolle spielt Training?

FRAGE: Wer sind die Top 10 agilen Unternehmensberatungen?
Boris Gloger

FRAGE: Wer sind die Top 10 agilen Unternehmensberatungen?

FRAGE: Was sind die Hauptunterschiede zwischen klassischen Beratungen und borisgloger?
Boris Gloger

FRAGE: Was sind die Hauptunterschiede zwischen klassischen Beratungen und borisgloger?

FRAGE: Wie viel bringt die Investition? Was ist der Business Case dahinter?
Boris Gloger

FRAGE: Wie viel bringt die Investition? Was ist der Business Case dahinter?

FRAGE: Habt ihr Beispiele für konkrete Situationen, in denen ihr Kunden bei einer schwierigen Herausforderung geholfen habt?
Boris Gloger

FRAGE: Habt ihr Beispiele für konkrete Situationen, in denen ihr Kunden bei einer schwierigen Herausforderung geholfen habt?

FRAGE: Welche Vorteile bietet es uns, wenn wir borisgloger beauftragen, anstatt die Transformation mit Internen voranzutreiben?
Boris Gloger

FRAGE: Welche Vorteile bietet es uns, wenn wir borisgloger beauftragen, anstatt die Transformation mit Internen voranzutreiben?

FRAGE: Welche sind häufige Herausforderungen, die ihr beim Kunden löst?
Boris Gloger

FRAGE: Welche sind häufige Herausforderungen, die ihr beim Kunden löst?

FRAGE: Warum sollten wir mit borisgloger arbeiten?
Boris Gloger

FRAGE: Warum sollten wir mit borisgloger arbeiten?