Agiles Testen in IT Projekten wie Scrum, Kanban - Tipps

Agiles Testen (z.B. in Scrum, Kanban, XP) ist zu einem unverzichtbaren Bestandteil agiler Softwareentwicklung geworden. Heutzutage wird in IT-Projekte nicht mehr darüber diskutiert, ob agile Methoden eingesetzt werden sollen, sondern wie man Sie richtig einsetzt und die Agilität gegebenenfalls sogar skaliert.

Testen in agilen Entwicklungsprojekten unterscheidet sich vom klassischen Testen in erster Linie dadurch, dass Testen eine präventive Maßnahme ist und dass die Tests viel häufiger ausgeführt werden müssen. Diesen Anforderungen wird man in erster Linie durch Continuous Integration und Testautomatisierung gerecht.

Agiles Testen - Wichtige agile Prinzipien

  • Frühe und kontinuierliche Lieferung effizienter Software und damit die Zufriedenstellung des Auftraggebers.
  • Direkte und tägliche Zusammenarbeit zwischen Fachexperten und Entwicklern.
  • Die Software wird inkrementell und in kurzen Iterationen erstellt.
  • Direkte Kommunikation face to face als effizienteste und effektivste Art des Informationsaustausches.
  • Funktionierende Software bedeutet Projektfortschritt.
  • Konzentration auf das Wesentliche, d.h. explizite und regelmäßige Entscheidung über das, was wegzulassen ist.

Typische Probleme mit der Qualitätssicherung und Test in Scrum Teams

  • Der gesamte Test liegt in der Verantwortung des Teams und des Product Owners.
  • Der Product Owner testet nur die Akzeptanzfälle
  • Das Team führt nur Entwicklertest durch und implementiert Unittests.
  • Die Testqualität ist gering, da methodische Systemtests fehlen!
  • Einem übergeordneten Qualitätsmanagement fehlt ein adäquater Ansprechpartner für testmethodische Aspekte und Prozessverbesserungen.
  • Der Inspect-and-Adapt-Mechanismus im Scrum vernachlässigt Testaspekte!
  • Die Verantwortung für die Produktqualität wird primär aus Entwicklersicht wahrgenommen.

Rolle des Testers in agilen Projekten - agiles Testen

Der Tester bringt während des gesamten Projektverlaufs die Testsicht in das agile Team ein. Er führt die Integrationstests und die entsprechenden Regressionstests durch und sorgt so von Anfang an für Produktqualität. Der agile Tester unterstützt:

  • Entwickler methodisch bei den Integrations-und Systemtests
  • Entwickler bei der fachlichen Architektur durch entsprechende fachliche Strukturen in den Tests
  • Product Owner bei der Abnahme der Iterationsergebnisse
  • Product Owner bei der Definition von den Akzeptanzkriterien

Agiles Testen: Best Practices / Tipps

  • Agile Tester in das Entwicklungsteam einbetten
  • Frühes und häufiges Testen: Alle für ein IT-Projekt relevanten Testverfahren (Unit-, Funktions- und Last- Performancetests) müssen früh erfolgen und müssen eingeplant werden. So lassen sich Probleme rechtzeitig erkennen und beheben.
  • Agile Tester als essentiellen Teil der Sprintplanung involvieren
  • Entwicklern fachliche und methodische Unterstützung beim Testen (Systemtests) geben
  • Testumgebungs-und Testdatenmanagement: wird leider häufig unterschätzt, ist aber essenziell
  • Effiziente Verteilung der Testaktivitäten gemäß der Testpyramide
  • Agiles Testen basiert auf einem ganzheitlichen Team-Ansatz, d.h. enge Zusammenarbeit zwischen Entwicklern und Agilen Testern.

Tags: