Agile Testing – Der agile Weg zur Qualität 

 1. November 2017

Der Trend zum agilen Vorgehen ist ungebrochen. Dieser Trend geht auch am Softwaretest nicht spurlos vorüber. Nachdem die Bedeutung des Tests in agilen Projekten unumstritten ist, treten jetzt vor allem die Professionalisierung und die Integration der einzelnen Mitarbeiter in den rollenübergreifenden Tätigkeiten des agilen Vorgehens in den Vordergrund.

Die klassischen Rollenbilder des Tests verschwimmen und gehen ineinander über. Die Eigenverantwortung der Tester steigt. Für den klassischen Tester bedeutet dies eine Bereicherung und Aufwertung seiner Rolle, da er auch Aufgaben und Tätigkeiten anderer Professionen übernimmt.

  • Der Stellenwert des Teams
  • Die Crux mit den Werkzeugen in agilen Projekten
  • Die sieben schlechtesten Ideen für die Testautomatisierung
  • Testmethoden im agilen Umfeld
  • Tester: Generalist vs. Spezialist?

Welches sind nun aber die Aufgaben des Softwaretests in agilen Projekten? Wie sind diese in unterschiedlichen agilen Vorgehensweisen – wie etwa Scrum oder Kanban – zu organisieren? Welche Bedeutung haben Testwerkzeuge in diesem Kontext? Wie grenzen sich die Verantwortlichkeiten gegeneinander ab oder wirken synergetisch zusammen?

Auf diese sehr konkreten Fragen, die sich im operativen Projektgeschehen immer wieder stellen, liefert dieses Buch mögliche Antworten, ergänzt durch bewährte Ansätze aus der Praxis.

Autoren: Manfred Baumgartner, Martin Klonk, Helmut Pichler, Richard Seidl, Siegfried Tanczos

Verlag: Carl Hanser Verlag

ISBN: 978-3-446-45292-3

Edition: 2. Auflage

Inhaltsverzeichnis

1 Agil – Ein kultureller Wandel

1.1 Der Weg zur agilen Entwicklung
1.2 Gründe für eine agile Entwicklung
1.3 Die Bedeutung des Agilen Manifests für den Software-Test
1.4 Agil setzt Kulturwandel bei den Anwendern voraus
1.5 Konsequenzen der agilen Entwicklung für die Software-Qualitätssicherung
1.5.1 Räumliche Konsequenzen
1.5.2 Zeitliche Konsequenzen

2 Agile Vorgehensmodelle und ihre Sicht auf Qualitätssicherung

2.1 Herausforderungen in der Qualitätssicherung
2.1.1 Qualität und Termin
2.1.2 Qualität und Budget
2.1.3 Der Stellenwert des Software-Tests
2.1.4 Fehler aus Vorprojekten (Technical Debt)
2.1.5 Testautomatisierung
2.1.6 Hierarchische Denkweise
2.2 Der Stellenwert des Teams
2.3 Audits zur Qualitätssicherung in agilen Projekten
2.3.1 Scrum
2.3.2 Kanban
2.4 Continuous Integration
2.5 Lean Software Development

3 Die Organisation des Software-Tests in agilen Projekten

3.1 Die Platzierung von Tests in agilen Projekten
3.1.1 Der fundamentale Testprozess des ISTQB
3.1.2 Welcher Test wofür – Die vier Testquadranten agilen Testens
3.1.3 Tipps für den Software-Test aus agiler Perspektive
3.1.4 Skalierbare Organisation agiler Teams
3.2 Praxisbeispiele
3.2.1 Abnahmetest als eigenes Scrum-Projekt/-Team
3.2.2 Test Competence Center für agile Projekte
3.2.3 Team im Healthcare-Bereich nutzt V-Modell

4 Die Rolle des Testers in agilen Projekten

4.1 Generalist vs. Spezialist
4.2 Der Weg vom zentralen Testcenter in das agile Team
4.2.1 Varianten der Testereinbindung in traditionellen Teams
4.2.2 Varianten der Testereinbindung in agile Team
4.3 Herausforderungen der Tester im Team
4.3.1 Die Tester im agilen Team
4.3.2 Rechtzeitige Problemaufdeckung
4.3.3 Die Entstehung technischer Schulden
4.4 Teams und Tester im Kampf gegen „Technical Debt“
4.4.1 Was ist „Technical Debt“?
4.4.2 Der Umgang mit technischen Schulden
4.5 Zu alt für agil? Die mentale Herausforderung
4.5.1 Ausgangslage
4.5.2 Was führt zur Aussage „Agil ist etwas für junge Leute“?
4.6 Hilfreiche Tipps vom Markt

5 Agiles Testmanagement, -methoden und -techniken

5.1 Testmanagement
5.1.1 Testplanung im traditionellen Umfeld
5.1.2 Testplanung im agilen Umfeld
5.1.3 Testkonzept
5.1.4 Testaktivitäten in Iteration Zero – Initialisierungs-Sprint
5.1.5 Externe Unterstützung der Testplanung
5.1.6 Testschätzung
5.1.7 Testorganisation
5.1.8 Testerstellung, Durchführung und Release
5.2 Testmethoden im agilen Umfeld
5.2.1 Risikobasiertes und valuebasiertes Testen
5.2.2 Explorativer Test
5.2.3 Session-basiertes Testen
5.2.4 Abnahmetestgetriebene Entwicklung
5.2.5 Testautomatisierung
5.3 Wesentliche Einflussfaktoren auf den Test
5.3.1 Continuous Integration (CI)
5.3.2 Automatisiertes Konfigurationsmanagement

6 Agile Testdokumentation

6.1 Die Rolle der Dokumentation in der Software-Entwicklung
6.2 Der Nutzen der Dokumentation
6.3 Dokumentationsarten
6.3.1 Anforderungsdokumentation
6.3.2 Code-Dokumentation
6.3.3 Testdokumentation
6.3.4 Benutzerdokumentation
6.4 Der Tester als Dokumentierer
6.5 Stellenwert der Dokumentation im agilen Test

7 Agile Testautomatisierung

7.1 Die Crux mit den Werkzeugen in agilen Projekten
7.2 Testautomatisierung – Wie geht man es an?
7.3 Testautomatisierung mit zunehmender Integration der Software
7.3.1 Unit Test bzw. Komponententest
7.3.2 Komponentenintegrationstest
7.3.3 Systemtest
7.3.4 Systemintegrationstest
7.4 xUnit-Frameworks
7.5 Einsatz von Platzhaltern
7.6 Integrationsserver
7.7 Testautomatisierung im fachlich orientierten Test
7.7.1 Ein Framework – wozu?
7.7.2 Agile versus klassische Automatisierung von Benutzereingaben
7.7.3 Ein typisches Beispiel: FitNesse und Selenium
7.8 Testautomatisierung im Last- und Performance-Test
7.9 Die sieben schlechtesten Ideen für die Testautomatisierung
7.9.1 Den Erfolg nach wenigen Sprints erwarten
7.9.2 Testwerkzeugen blind vertrauen
7.9.3 Schreiben der Testskripts als Nebenbeschäftigung ansehen
7.9.4 Testdaten irgendwo in Testfällen vergraben
7.9.5 Testautomatisierung nur mit Benutzeroberflächen in Verbindung bringen
7.9.6 Soll-Ist-Vergleich unterschätzen
7.9.7 (Un-)Testbarkeit der Applikation einfach hinnehmen

8 Werkzeugeinsatz in agilen Projekten

8.1 Projektmanagement
8.1.1 Rally
8.2 Anforderungsmanagement
8.2.1 Polarion QA/ALM
8.3 Fehlermanagement
8.3.1 The Bug Genie
8.3.2 Atlassian JIRA
8.4 Testplanung und -steuerung
8.4.1 Atlassian JIRA
8.5 Testanalyse und Testentwurf
8.5.1 Risikobasiertes Testen in der TOSCA-Testsuite
8.6 Testrealisierung und Testdurchführung
8.6.1 Microsoft TFS Test Manager

9 Ausbildung und ihre Bedeutung

9.1 ISTQB Certified Tester
9.2 Certified Agile Tester/CAT
9.2.1 Motivation
9.2.2 Training-Insights
9.3 Individuelle Trainings (Customized Trainings)
9.3.1 Empfohlenes Vorgehen bei Einführung der Agilität
9.3.2 Organisatorisches
9.3.3 Pilotphase
9.3.4 Ausrollen in Unternehmen

10 Retrospektive