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:

Leadership in the AI Era: Reinventing Human-Centered Leadership
BG

Leadership in the AI Era: Reinventing Human-Centered Leadership

KI hier, KI da – was bedeutet das für mich als Führungskraft?
BG

KI hier, KI da – was bedeutet das für mich als Führungskraft?

Der kybernetische Teamkollege
BG

Der kybernetische Teamkollege

Agile Strategie mit OKRs: Vom Denken ins Tun kommen
BG

Agile Strategie mit OKRs: Vom Denken ins Tun kommen

KI als Teammitglied - Wie Scrum Master von generativer KI profitieren können
BG

KI als Teammitglied - Wie Scrum Master von generativer KI profitieren können

Die Bildungskrise und warum einfache Antworten nicht reichen – auch Scrum4Schools ist da nur ein Tropfen auf den heißen Stein
BG

Die Bildungskrise und warum einfache Antworten nicht reichen – auch Scrum4Schools ist da nur ein Tropfen auf den heißen Stein

Ist KI der neue Kollege von Scrum Master, Agile Coach und Co?
BG

Ist KI der neue Kollege von Scrum Master, Agile Coach und Co?

Scrum Beyond IT: Agile Methoden in HR, Marketing und Produktion
BG

Scrum Beyond IT: Agile Methoden in HR, Marketing und Produktion

Design Thinking - Wirkung auf Organisationen und Menschen neu gedacht
BG

Design Thinking - Wirkung auf Organisationen und Menschen neu gedacht

DeepWork für Autoren – Wie du dein Buch effizient schreibst
BG

DeepWork für Autoren – Wie du dein Buch effizient schreibst

Scrum ist tot, es lebe Scrum!
BG

Scrum ist tot, es lebe Scrum!

Agile Leadership ist nicht gleich agile Leadership
BG

Agile Leadership ist nicht gleich agile Leadership