Diese Webseite ist nicht kompatibel mit Ihrem Browser. Wechseln Sie zu einer aktuellen Version von  ChromeFirefox  oder Safari, um diese fehlerfrei nutzen zu können.
X
Logo pattern

Beratung zu agilem Testmanagement inklusive Nachhaltigkeitstests

Erfolgreiches Testmanagement in agilen Projekten

Kennen Sie das? Sie arbeiten in einem agilen Projekt oder Team. Es werden selbstverständlich Unit-Tests und Stand-Up-Meetings durchgeführt. Und natürlich wird nach einer geeigneten Methodik wie Scrum oder Kanban gearbeitet.

Doch wie sieht es mit der Testorganisation und dem Testmanagement aus? Formale Teststufen und Testphasen sind nicht festgelegt. Solche Fragen treiben Sie um:

  • Die Anforderungen ändern sich, aber was ist mit den Tests?
  • Welche Tests sind in agilen Projekten überhaupt erforderlich?
  • In agilen Methoden wie z. B. Scrum sucht man vergeblich nach Begriffen wie Testrollen, Testphasen, Teststufen oder Testarten. Aber mit welchen Strategien werden Tests dann erfolgreich umgesetzt?
  • Wie lassen sich Tests in agilen Entwicklungsprozessen erfolgreich einsetzen, ohne das
    Tempo agiler Entwicklung zu bremsen?

Projekte agil durchzuführen ist nicht neu. Testen auch nicht. Was fehlt, ist eine Brücke zwischen diesen beiden Themen. Idealerweise sollte eine geeignete Teststrategie im agilen Umfeld die Qualität erhöhen und auch Ressourcen sparen. Mit agilem Testmanagement erreichen wir genau das.

Was ist agiles Testmanagement?

Durch die richtige Umsetzung agiler Teststrategien können die Vorteile agiler Entwicklung, insbesondere im Umfeld komplexer, langlaufender oder umfangreicher IT-Projekte, auch im Test genutzt werden.

Betrachten wir die verschiedenen Phasen des Testens – Vorbereitung, Planung & Erstellung und Durchführung – und wie diese von einem agilen Testmanagement profitieren können.

Agiles Testmanagement bei der Testvorbereitung

„Whole Team“-Ansatz
Im agilen Testmanagement ist es entscheidend, dass alle im Team ihren speziellen Beitrag zum Gesamterfolg leisten und dass Tester:innen in Planungs-, Design- und Schätzaktivitäten eingebunden werden. Ideal ist es, wenn alle auch Aufgaben außerhalb der eigenen Rolle übernehmen, um als „Generalisierter Spezialist“ einsetzbar zu sein (T-Shape).

Tester:innen brauchen in agilen Projekten auch eine „Just-Do-It“-Mentalität. Die Wertschätzung der Tester:innen in einem agilen Team entsteht nur, wenn diese helfen, etwas zu verbessern oder zu vervollständigen.

Tester:in und Entwickler:in als Paar
Wir empfehlen, dass Entwickler:innen und Tester:innen in agilen Teams von Anfang an für bestimmte Stories zusammenarbeiten, um ein besseres Verständnis der User Stories, Zeitersparnis im Fehlermanagement, ein besseres Vertrauensverhältnis und eine beschleunigte Testfallerstellung zu erreichen.

Schaffen einer eigenen agilen Teststrategie
Jedes Team hat per se einen eigenen Entwicklungsprozess, ob es will oder nicht.
Auch wenn Teams scheinbar keinen formalen Methoden folgen, setzen sie dennoch welche ein, ohne diese zu benennen oder zu dokumentieren. Die eine, erfolgversprechende agile Methode, die für jedes Team und jedes Projekt passt, gibt es nicht. Deshalb ist es notwendig, aus bewährten Vorgehensweisen wie z. B. Scrum, Test Driven Development, eXtreme Programming – und speziell für Tests auch aus Full-Lifecycle-Testing-Ansätzen – die richtigen Aktivitäten und Ergebnistypen auszuwählen und an das eigene Vorhaben anzupassen.

  • Welche Inspektionen und Reviews werden benötigt? Für Stories, Testfälle, Architektur, Code usw.?
  • Welche Standards z. B. für Code-Design sind sinnvoll?
  • Welche Dokumentationspflichten müssen eingehalten werden?
  • Welche Praktiken werden eingesetzt: Scrum, Test Driven Design (TDD), Pair Programming, …?

Hierbei sollten die Werte aus dem Manifest für Agile Softwareentwicklung stets für die Auswahl maßgebend sein, aber auch eventuell regulatorische Anforderungen. Entscheidend ist dabei, nur ein Minimalset an Ergebnistypen festzulegen.

Gleiche Sprache und gleiches Verständnis schaffen
In agilen Methoden sind Rollen wie Testmanager oder auch Tester:in häufig nicht beschrieben. Alle sind auch Tester:in, aber es ist nicht immer klar, welche Tätigkeiten damit verbunden sind und welche Teststufen, Testarten und Testtypen verwendet werden sollten. Um diese Unklarheiten zu beseitigen, ist es empfehlenswert, im agilen Umfeld eine Teststrategie zu erstellen, die erklärt, wie Tests im Projekt oder Team durchgeführt werden. Dabei sollte der Fokus nicht auf der Prozessbeschreibung liegen, sondern auf der Erklärung der testspezifischen Begriffe.

Agiles Testmanagement bei Testerstellung und Testplanung

Die Produktqualität bestimmt den Testumfang: Über den korrekten Testumfang wird der Erfolg eines agilen Projektes sichergestellt. Eine Evaluierung der Produktqualität vor jedem Sprint ist ein guter Weg, um den geeigneten Testumfang zu finden. Agilität ist kein Wundermittel und ändert nichts am „Magischen Dreieck“, das zeigt, dass eine Änderung an einer der Steuergrößen automatisch zu Änderungen an einer oder mehreren anderen Größen führt:

  • Projektdauer bzw. Termine
  • Kosten
  • Inhalt, Umfang und Qualität des Projekts und seiner Ergebnisse

Wenn es früher in plangetriebenen Projekten aufgrund von geänderten und zu umfangreichen Anforderungen zu Terminverschiebungen gekommen ist, so kommt es heute meist zu Einschränkungen bei der gelieferten Funktionalität, aber das Team liefert pünktlich. Da agile Projekte zeitgesteuert (time-boxed) arbeiten und Termine grundsätzlich einhalten, kommt dem Test eine größere Bedeutung zu. Nur über ihn werden auch negative Testergebnisse, wie fehlende oder fehlerhafte Funktionalitäten, wieder in den Backlog für kommende Iterationen/Sprints eingebracht.

Regressionstests müssen aktiv für unterschiedliche Ebenen wie Builds, Sprints und Releases verwaltet werden. Dabei ist immer auf eine Maximierung der Abdeckung und Minimierung der Durchlaufzeit zu achten.

Testautomatisierung ist zwingend erforderlich, um die nötige Testquantität und -qualität zu erreichen oder auch kontinuierliche Lieferungen zu ermöglichen. Es ist darauf zu achten, dass die Geschwindigkeit der Entwicklung nicht gebremst wird und die regelmäßigen Builds nicht gefährdet werden.

Die Beschreibung von Akzeptanztests ist manchmal besser als umfangreiche Anforderungsbeschreibungen und Konzepte. Test First oder Test Driven Development (TDD) lässt sich für alle Teststufen nutzen. Ursprünglich wurde TDD nur für Unit-Tests entwickelt. Die Methodik lässt sich aber auch hervorragend für den Test von User Stories, Systemintegrationstests und Akzeptanztests einsetzen, die dann den wesentlichen Teil der Spezifikation ausmachen und sogar andere Formen der Spezifikation überflüssig machen können. Kleiner Nebeneffekt: Entwickler:innen haben auch Spaß dabei. Schließlich werden Tests direkt zur Überprüfung der Umsetzung genutzt und oft in gleicher Weise programmiert.

Agiles Testmanagement bei der Testdurchführung

Alle geplanten Testarten sollten im selben Sprint wie die Entwicklung der User Stories durchgeführt werden und nicht erst im nächsten Sprint.

Test ist Teil der Definition of Done. Zwischen Entwicklung und Test müssen gemeinsame Kriterien für „Done“ etabliert werden. „Done“ bedeutet auch, dass alle geplanten Tests des Sprints oder des Releases erfolgreich im Sinne vereinbarter Kriterien für Design und Programmierung durchgeführt wurden. Nur so kann das Sprintergebnis dem Kunden zur Verfügung gestellt werden.

In komplexen Vorhaben ist der „Whole Team“-Ansatz und Test Driven Development (TDD) alleine nicht ausreichend. Es fehlt das Know-how für manche Tests wie z. B. Last- und Performance-Tests, End-To-End Integration Tests oder Penetration Tests. Hier hilft der Einsatz eines unabhängigen Teams, das solche Tests parallel durchführt. Dies scheint ein Widerspruch zum „Whole Team“-Gedanken zu sein. Ist es auch! Aber es ist leider in manchen Fällen erforderlich, dass ein unabhängiges, zentralisiertes Testteam das Team ergänzt, um bestimmte Aufgaben parallel zur laufenden Entwicklung zu übernehmen. Dies betrifft zum Beispiel die folgenden Testarten:

  • Integrationstests vor Produktivsetzung
  • Last- und Performancetests
  • End-Of-Lifecycle-Tests
  • Tests in komplexen verteilten Umgebungen
  • Tests mit tiefem Spezialwissen wie z. B. korrekte Umsetzung gesetzlicher Anforderungen oder Aufdecken von Sicherheitslücken im Quellcode
  • Usability-Tests
  • Tests mit besonderen Berechtigungen auf Testdaten
  • Test von Qualitätsanforderungen

Im Gegensatz zu traditionellen unabhängigen Testteams sind diese „unabhängigen“ Teams in einem agilen Umfeld nur für spezielle Aufgaben zuständig, die auch nur einen kleinen Teil des gesamten Tests abdecken. Der überwiegende Aufwand in der Testdurchführung verbleibt im „Whole Team“.

Änderungsmanagement ist besser als Anforderungsmanagement und Fehlermanagement

Fehler sollten auch als eine Art Anforderung betrachtet werden, die wie andere Anforderungen priorisiert, geschätzt und in den Backlog für die spätere Umsetzung aufgenommen werden. Fehler (oder Änderungen), die im laufenden Sprint behoben werden können, sollten diesen Prozess jedoch nicht durchlaufen. Das heißt, nur komplexe Fehler kommen in den Backlog. Als Folge daraus werden Anforderungsmanagement und Fehlermanagement in agiler Entwicklung am besten in Form eines guten Änderungsmanagements umgesetzt, das nicht zwischen Anforderungen und Fehlern unterscheidet.

Im Allgemeinen lässt sich daraus ableiten, dass bekannte Testtechniken für die agile Entwicklung genutzt werden. Die Herausforderung besteht hauptsächlich darin, sie bewusst und auch vor allem gewollt an die agile Methodik anzupassen und sie passend im Entwicklungsprozess zu integrieren.

Unsere Dienstleistung für agiles Testmanagement

Wir unterstützen Sie gerne dabei, agiles Testmanagement effektiv umzusetzen. Profitieren Sie von den jahrelangen Erfahrungen unserer Expertinnen und Experten, die sowohl in der agilen Welt als auch im Test zuhause sind. Wählen Sie aus den folgenden Dienstleistungen aus:

  • Beratung bei der Entwicklung einer geeigneten Teststrategie im agilen Umfeld
  • Schulung und Coaching Ihrer Mitarbeitenden, um sie auf die Anforderungen des agilen Testmanagements vorzubereiten
  • Unterstützung bei der Implementierung von Testautomatisierung und Continuous Integration/Continuous Delivery (CI/CD) in Ihrem agilen Entwicklungsprozess
  • Unterstützung bei der Durchführung von Last- und Performance-Tests sowie End-to-End-Integrationstests
  • Beratung bei der Auswahl und Implementierung von Tools für das agile Testmanagement
  • Unterstützung bei der Integration von Testerinnen und Testern in agile Entwicklungsteams
  • Beratung und Unterstützung bei der Umsetzung von Nachhaltigkeitstests und anderen Qualitätsanforderungen
  • Beratung zum Testmanagement im regulierten Umfeld z. B. BAIT/VAIT

Kontaktieren Sie uns noch heute, um mehr darüber zu erfahren, wie wir Ihnen helfen können, agiles Testmanagement erfolgreich umzusetzen und die Qualität Ihrer Software zu verbessern. Sprechen Sie uns einfach an!

Jetzt Kontakt aufnehmen