in sprint - SwissQ Consulting AG

SwissQ Agile Testing Framework
v 1.0
SICHT DER ORGANISATION
TEAM SICHT - EMBEDDED TESTING
GROOMING
PRODUCT BACKLOG
TASKBOARD
„IF YOU DON`T KNOW HOW TO TEST IT YOU DON`T KNOW HOW TO IMPLEMENT IT!“
Kent Beck
Der Tester sorgt für die Berücksichtigung der Testaktivitäten
und –aufwände in der Planung sowie im Taskboard.
OPEN
IN PROGRESS
TO TEST
· Testing und Re-Testing neuer Features / Stories
· Regressionstests durchführen
Manuell
Automatisiert durchführen
· Test Housekeeping
Testdokumente nachführen
Infrastruktur pflegen
Testfalldokumentation aktualisieren
Automatisierte Tests pflegen
Testdaten pflegen
Bug-tracking nachführen
· Meetings, Networking mit anderen Testern
· Teilnahme an übergeordneten Test-Initiativen
DONE
Laufende Überprüfung
ANALYSE
CHALLENGE
COMPLEMENT
ESTIMATE
RELEASE BACKLOG
SPRINT n
SET - STRUKTURIERT EXPLORATIVES TESTEN
Sprint n
EMBEDDED TESTER AKTIVITÄTEN
SPRINT n+1
Woche 1
1x pro Sprint
Anpassung der Teststrategie aufgrund
sprintspezifischer Informationen und
Erfahrungen aus den letzten Sprints.
Testkonzept
Testkonzept
AGILE TESTING PRINCIPLES AND VALUES
1. Provide continuous feedback.
6. Practice continuous improvement.
2. Deliver value to the customer.
7. Respond to change.
3. Enable face-to-face communication.
8. Self-organize.
4. Have courage.
9. Focus on people.
5. Keep it simple.
10. Enjoy.
Source: Lisa Crispin et al.
UNLEARNING SKILLS & CO
Tägliche Testsession
Vorbereitung
Fachlich und organisatorisch
vorbereiten.
Checkliste
Durchführung
Wege soweit aufzeichnen, dass
sie rekonstruierbar sind.
Session-Sheet
Need for change
Dokumentation 1: Projektspezifische Dokumentation
Abweichungen
der Abweichungen.
SPRINT n+2
Woche 2
DAILY STAND UP
INT
SPR
ING
Mindeset
Individual
Unlearning
Organisational
Unlearning
Individual
Learning
Organisational
Learning
Processes
Infrastructure
& Tools
Culture
CHANGE & TRANSITION
Woche 3
Innovation Adaption Curve
The adaptive walk
DA
ILY
1x pro Sprint
Dokumentation 2:
Testfälle, Anforderungen & Testergebnisse
Für jeden Sprint wird ein Testbericht erstellt, der dem Product
Owner im Rahmen des SprintReviews übergeben wird.
Detaillierungsgrad variiert je
nach Kontext und Priorität.
Testbericht
REV
DEM IE
W
O /
· Estimated: Die Story ist geschätzt
· Small: Die Story ist klein genug
· Testable: Die Story ist testbar (die Abnahmekriterien sind definiert, ATDD)
Knowledge
Protokoll
Abzudeckende Kriterien:
Past: What happened?
Results: What was achieved?
Obstacles: What got in the way of good testing?
Outlook: What still needs to be done?
Feelings: How does the tester feel about the quality?
PL A
Eine Story muss die I.N.V.E.S.T.-Kriterien erfüllen:
· Independent: Die Story ist unabhängig bzw. die Abhängigkeiten sind klar
· Negotiable: Die Story ist mit dem Kunden verhandelbar
· Valuable: Die Story beinhaltet einen Mehrwert für den Kunden
1x pro Woche reflektieren Tester und
Testmanager in einem Testreview die
Testsessions und identifizieren die
Regressionstestfälle.
Testreview
NN
Eine Story kann erst in einen Sprint aufgenommen werden,
wenn sie ausreichend definiert ist und die Umsetzung für das
Team verständlich ist.
Org Structure
1x pro Woche
· Was habe ich gestern getestet?
· Was teste ich heute?
· Wo gibt es Probleme beim Testen?
DEFINITION OF READY
Behavior
Skills
Dokumentation 3:
Regressionstestfälle
Update und Dokumentation
der im Testreview identifizierten
Regressionstests.
Testbericht
RegressionsTestfälle
Sprint n+1
How much structure is necessary?
Woche 1
Mind the Culture and People
RET
SPE RO
KTI
VE
Kernelemente von SET
Aktuelle Fehler nach Schwere und Status
TEST REPORTING
> Findings mit Entwicklern
besprechen
> Nur das Wichtigste wird
dokumentiert
Testresultate
Chaos
Edge of Chaos
Structure
Source: based on Jurgen Appelo, Management 3.0
SPRINT RETROSPEKTIVE
AUF VERSCHIEDENEN EBENEN DEFINIERT
Rejected
Blocker Critical Major
Story
Minor
Release
Passed
Feature D
20%
40%
60%
80%
100%
Test Factory
Pooling / Embedded Testing
> Tester-Review
· SET ist ein agiles Testvorgehen
· kombiniert Exploratives Testen, Session Based Test Management
und Embedded Testing
· bindet auch spezifikationsbasiertes Testen in seine Struktur ein
· ist schnell und leicht
· wird insbesondere in Projekten eingesetzt, die sowohl einen
phasenorientierten als auch einen iterativ Hintergrund haben
(z.B. V-Modell und Scrum)
Not
Completed
Feature C
Command & Control
Learn
Fast
Was ist SET?
No Run
Feature B
0%
ORGANISATIONAL SETUP & TRANSITION
> Analysierbar und
transparent
Sprint
Blocked
Feature A
Der Tester kann die
Sprint-Demo durchführen
und moderiert den
Sprint-Review.
Challenge
the Product
Tell the
Management
& the
Customer
> Nachvollziehbar und
reproduzierbar
Task
Testabdeckung pro Feature
DEMO
OUT OF SCOPE
„Gemeinsam definieren und auf die Einhaltung achten“
5
Passed
Give Early
Feedback
Reopen
10
Not
Completed
DEFINITION OF DONE
Open
20
15
Failed
TRY
New
25
0
STOP DOING
> Nicht nur gerade Wege
(Step by Step), sondern
auch Umwege
30
No Run
KEEP DOING
> Test-Vorbereitung, Test-Durchführung
und Test-Dokumentation innerhalb
von wenigen Stunden
Not
Convered
Competence Center
Community of Practice
Loose Network
TEST STRATEGIE: WAS WIRD WANN GETESTET
TESTAUTOMATISIERUNGSSTRATEGIE
INTEGRATIONSVARIANTEN
„IN SPRINT“ TESTAKTIVITÄTEN
SW-QUALITÄTSMERKMALE / ISO 25010
AGILE TESTING MATRIX
System/Software
Product Quality
Iteration / Sprint
Iteration
Testabdeckung
1
2
3
4
5
6
7
n-1
Test
Design
Variante B
GUI Automation
Variante C
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
Test
Design
AT
AT
AT
AT
AT
AT
AT
API Test Automation
Variante D
Unit Test Automation
2
3
4
5
Iteration / Sprints
6
7
8
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Test
Design
& AT
Funktionale Tests
Session Based Testing
Feature Based Testing
Story Based Testing
Grenzwerte
Negativ-Tests
User Story Test
Test
Design
& AT
Testregression
Aufräumarbeiten des
letzten Sprints
Abnahme & E2E Test
Manual
Business-Seite
Automatisiert
und manuell
Testvorbereitung
Variante A
1
Testaktivitäten
n
Unit Tests
Komponententests
Test Driven Development
Pair Programming
Continuous Integration
Aufbau Reg-Test-Set
Testautomatisierung
Vorbereitung nächste
Sprints
Manuell
Systemakzeptanz-Tests
Explorative Tests
Usability Tests
Abnahmetests
Q2 Q3
Q1 Q4
Performance
efficiency
Compatibility
Usability
Functional
completeness
Time behaviour
Co-existence
Resource utilization
Interoperability
Appropriateness
recognizability
Functional
correctness
Source: based on Jurgen Appelo, Management 3.0
Capacity
Learnability
Operability
Functional
appropriateness
User error protection
User interface
aesthetics
Systemqualitäts-Tests
Performance Tests
Last Tests
Tools
Technologie-Seite
Automatisiert
Functional
Suitability
Test Master
Embedded Tester
Security
Maintainabbility
Portability
Maturity
Confidentiality
Modularity
Adaptability
Availability
Integrity
Reusability
Installability
Fault tolerance
Non-repudiation
Analysability
Replaceability
Recoverability
Accountability
Modifiability
Authenticity
Testability
9
Quelle: SwissQ
Quelle: SwissQ
Quelle: Lisa Crispin et al.
Quelle: SwissQ
Quelle: ISO/IEC 25010:2011
DIE ÜBERGREIFENDE SICHT - INTEGRATION
Büro Zürich
SwissQ Consulting AG
Stadthaus-Quai 15
CH-8001 Zürich
Fon +41 43 288 88 40
Büro Bern
SwissQ Consulting AG
Falkenplatz 11
3012 Bern
Fon +41 31 972 73 53
eMail: [email protected]
Twitter: @SwissQ
SETUP
AGILE TEST MANAGEMENT
Test Master
Der Test Master ist dafür verantwortlich, dass der Qualitätsgedanke verankert
ist und das Testing gelingt. Dazu arbeitet er eng mit den Scrum Teams und
den Auftraggebern zusammen.
Der Test Master:
• Definiert und lebt die agile Teststrategie.
• Sorgt für die Beseitigung der Hindernisse (Impediments) aus Sicht Test.
• Kontrolliert die Einhaltung der Definition-of-Done über alle Stufen hinweg.
• Stellt die Kommunikation über Tests sicher, in- und ausserhalb der Teams.
• Plant und koordiniert die Tests mit Umsystemen und Auftraggebern.
www.SwissQ.it
Übergreifend
Team
UAT
Test Infrastructure
Integrated System
„FINAL“ User Acceptance Tests
Infrastructure and Tool Expert
Performance Test Engineer
Usability Test Expert
etc
Embedded Tester
End - to - End Tests
End - to - End Tests
System Integration Test
AGILE TEST STRATEGIE
Test Automation
„FINAL“ UAT
Tool Strategy
System Integration Test
Test Data
Non-Functional Testing
Sync Point
Test Data
Embedded Tester
Software Engineer in Test
SPRINT
SPRINT
SPRINT
SPRINT
SPRINT
SPRINT
SPRINT
SPRINT
SPRINT
Integration
Sync Point
Sync Point
SPRINT
SPRINT
SPRINT
SPRINT
SPRINT
SPRINT
z.B. SCRUM
Embedded Tester
Test Automation
z.B. ITERATIV
Iterativ
Iterativ
Analyse
Design
Iterativ
Iterativ
Iterativ
Iterativ
Iterativ
Iterativ
Test
Analyse
Design
Iterativ
Iterativ
System (Integration)
Test
Integration
Developer Tester
Software Engineer in Test/Test Automator
Test Team
z.B. WASSERFALL
· Test Manager
· Test Designer
· Tester
· Test Engineer
· Test Coordinator
· Head of XY
Go Live
Buissness Tester
Test Master
OLD
VALUE SERVICES
IMPLEMENTATION
Tool Strategy
NEW
Accessibility
Reliability
Review User Stories
Roles
Implementierung
Analyse
Non-Functional Testing
Test Infrastructure