Testing im skaliert-agilen Umfeld (SAFe): Finnova ist ein führender Anbieter von Bankensoftware auf dem Finanzplatz Schweiz. Vor über zwei Jahren wurde begonnen, auf skaliert-agile Software-Entwicklung umzustellen. Es wurde SAFe mit derzeit ca. 25 Scrum-Teams und drei Agile Release Trains eingeführt. Dabei muss natürlich sichergestellt sein, dass sowohl die einzelnen, von den Teams gelieferten Module als auch das integrierte Produkt eine hohe Qualität haben. In diesem Vortrag präsentieren wir Antworten auf die Frage, wie wir Quality Assurance bzgl. Organisation, Methoden, Dienstleistungen und Strategie auf der SAFe Team- und Programm-Ebene gestalten.
Build-in Quality!? SAFe® Testing im Finnova-Express (Swiss Testing Day 2017)
1. STEFAN VETTER, LEITER QA, FINNOVA AG
CHRISTOPH WOLF, PRINCIPAL CONSULTANT, SWISSQ
BUILD-IN QUALITY!?
SAFe® TESTING IM
FINNOVA-EXPRESS
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 1
7. 15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 7
QA IN FINNOVA-SAFe
DIE GRÖSSTEN HERAUSFORDERUNGEN
QA TEAM-EBENE ↔
PROGRAMM-EBENE
» QA-Know-how in Teams – wie erreichen?
» QA-Organisation1
» QA-Einfluss auf Definition of Done (DoD) der Teams
» Definition des Quality Gates für End-to-End-Testing2
» Testautomatisierung im Team ↔ End-to-End-Testautomatisierung
auf Systemtestebene (GUI)3
» Deployment auf der Umgebung für End-to-End-Testing
» Releasing: kurze Freeze-Perioden4
8. QA-Know-how in Teams – wie erreichen?
» Verantwortung für Qualität im Team
» “T-Shaped” Entwickler anstatt reinem Entwickler + Embedded Tester
» Unabhängigkeit im Testing muss zu einem gewissen Grad gewährleistet sein
» Synergien zwischen den Teams nutzen
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 8
1. QA-KNOW-HOW IN TEAMS
MASSNAHMEN
UNTERSTÜTZUNG
FÜR QUALITÄT
Test-
master
Test-
services
Test-
champion
Ent-
wickler
Unterstützung durch Testmaster,
Testchampion und Testservices
9. Entwickler hat volle Verantwortung für Qualität seiner Software
» Kein Embedded Tester, der ihm die Verantwortung abnimmt
Testmaster
» Coaching inclusive Hands-on-Testing
» Assessment der Entwicklungsteams
» Ausbildung
» Einführung Teststrategie
» Einführung Testservices
» Weiterentwicklung Testservices
» Synergien zwischen Teams
Aber: Einige Teams wollen Embedded Tester …
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 9
1. QA-KNOW-HOW IN TEAMS
TESTMASTER ANSTATT EMBEDDED TESTER
BOTSCHAFTER
FÜR QUALITÄT
10. Testchampion …
» ist Entwickler (80%) und vertritt Testaspekte im Entwicklungsteam (20%)
» sorgt für die Planung von QA-Aktivitäten in den Sprints
» vertritt Team in der Testing-CoP
» ist Schnittstelle zum Testmaster
» sorgt für Know-how-Transfer
» unterstützt Testdatenbereitstellung
» fördert automatisiertes Testing
» sammelt Toolanforderungen
» bestellt Testservices
… lenkt Mentalität des Teams in Richtung Qualität
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 10
1. QA-KNOW-HOW IN TEAMS
TESTCHAMPION AN BORD
QA-KONTAKT
IM TEAM
11. 1. QA-KNOW-HOW IN TEAMS
TESTSERVICES
» Testverfahren
» Risk-based Testing
» Code Review
» Structured Exploratory Testing
» Statische Codeanalyse
» Unit Testing in PL/SQL
» Unit Testing in Java
» GUI-Testautomatisierung
15.03.17SLIDELIBRARY I 11
TESTSERVICES DOKUMENTATION LIFECYCLE
FlyerSchulungTesthandbuch
12. 15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 12
1. QA-ORGANISATION
BIG PICTURE
PM
Leiter
QA
Leiter
PM
Leiter
Services
PO SAFe
QA: Quality Assurance
TM: Testmaster
TC: Testchampion
PO: Product Owner
PM: Product Manager
PO E2E-
Testing
QA-Abteilung
TM
E2E-
Tester
PO
DevOps
PO TM
TC PO
Scrum-Team 1
TC PO
Scrum-Team 2
DEV-Abteilung
Abteilungs-
leiter
13. QA-Einfluss auf Definition of Done (DoD)
Definition des Quality Gates für End-to-End-Testing
» Teil-Standardisierung der DoD
» Enge Zusammenarbeit mit CoP Testing & CoP ScrumMaster
» Zentraler End-to-End-Test vor dem offiziellen Releasing
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 13
2. DoD / QUALITY GATES
MASSNAHMEN
HOHER
SYNCHRONISATIONS-
BEDARF
14. Testautomatisierung im Team ↔ End-to-End-Testautomatisierung
» Sind Synergien möglich?
» Vorgaben (Standards) und Coaching für Testautomatisierung im Team
» Initiale Unterstützung der Development Teams
» Zentralisierte End-to-End-Tests auf verschiedenen Environments
» Virtuelle für tägliche End-to-End-Tests
» Abnahme Test Environment für finalen Test vor dem Release
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 14
3. TESTAUTOMATISIERUNG
MASSNAHMEN
MÖGLICHE
SYNERGIEN NUTZEN
15. Deployment auf der Umgebung für End-to-End-Testing
Releasing: kurze Freeze-Perioden
» Früher Start der End-to-End-Test auf definierten Entwicklungsstand
» Neue Deployment-Pipeline mit Fokus auf Feature-Entwicklung (Lead: DevOps)
» Umstellung von Build-Belieferung auf Delivery-Packages
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 15
4. DEPLOYMENT / RELEASING
MASSNAHMEN
ENGE
ZUSAMMENARBEIT
MIT DEVOPS
Feature-
Entwicklung
Feature-
Entwicklung
Feature-
Entwicklung
Commit-
Stage
Commit-
Stage
Integration
End-to-End-
Testing
Abnahme
Test
End-to-End
Abnahme Test
Deployment Pipeline (virtuelle Environments) (physische Environments)
DP
DP
DP
DP
DP
DP
DP (Daily Build)
16. SAFe @ Finnova
Herausforderungen
QA ↔ Scaled Agile
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 16
UNSERE
HALTESTELLEN
AGENDA
17. » Qualitätsanspruch: Synchronisation Programm-Ebene ↔ Team-Ebene
» Quality Gate vor End-to-End-Testing = Definition of Done?
» Testmaster oder Embedded Tester?
» Automatisierung auf Team-Ebene nutzbar für End-to-End-Testing?
» Abhängigkeiten zu DevOps: Continuous Integration/Continuous Delivery,
Deployment Pipeline
» Build-in Quality
15.03.17BUILD-IN QUALITY!? SAFE TESTING IM FINNOVA-EXPRESS I 17
IM SPANNUNGSFELD:
QA IN SCALED AGILE
QA WIRD NICHT
EINFACHER …