Testautomatisering bij de ANWB - Paul Bentvelzen

1
Testautomatisering bij de ANWB
Een ritje door het park …
of over een crossbaan?
Paul Bentvelzen, IT Ketenmanager
2
Korte introductie
Paul Bentvelzen
IT Ketenmanager / Test Competence Lead
[email protected]
ANWB B.V.
Paul Bentvelzen, IT Ketenmanager
3
Agenda
• Korte introductie van de ANWB
– Stukje historie
– IT-landschap
• ANWB tijdsbalk over Test Automatisering
– Gisteren
– Vandaag
– Morgen
• Lessons Learned
Paul Bentvelzen, IT Ketenmanager
4
Historie
Paul Bentvelzen, IT Ketenmanager
5
Historie
Paul Bentvelzen, IT Ketenmanager
6
Historie
Paul Bentvelzen, IT Ketenmanager
7
Historie
Paul Bentvelzen, IT Ketenmanager
8
Historie
Paul Bentvelzen, IT Ketenmanager
9
Wegenwacht vandaag
Paul Bentvelzen, IT Ketenmanager
Hulpverlening en ICT
ANWB – Business
ANWB – ICT
•
•
•
•
•
•
•
•
•
•
•
•
900 wegenwachten op de weg
1,2 mil hulpverleningen p.j.
4 support centers in Europa
6 trauma helikopters (4000+ vluchten p.j.)
Praatpalen langs de weg
Alarm Centrale
Paul Bentvelzen, IT Ketenmanager
In-car systemen , helikopter laptops
Toewijzing & Planning systemen
Call Center Applicaties
Hoge beschikbaarheid en 7x24 support
Mobile Apps
XML services voor partners
Media, Retail en ICT
ANWB – Business
ANWB – ICT
•
•
•
•
•
•
•
•
•
•
•
•
75 ANWB winkels (3,6 mil transacties p.j.)
Call Center (1,2 mil calls p.j.)
Website & -shop
Advies (Mobiliteit, Reizen en Veiligheid)
Magazines (12 mil p.j.)
File-informatie en Route Planning
Paul Bentvelzen, IT Ketenmanager
Kassa’s & Logistieke Systemen
Call Center Verkoop & Dienstverlening
Content Management Systemen
25+ Mobile Apps
Digitale Workflow Magazines
Verkeer systemen en Route Planners
12
Complex Computer Landschap
Paul Bentvelzen, IT Ketenmanager
13
Paul Bentvelzen, IT Ketenmanager
14
Tijdsbalk Test Automatisering
Record en Playback
Keyword Driven
eerder
Test Competentie
verbetering
2009-12
Tool demo’s
2011
Start Projecten
2012-03
Start POC
2013
2012-07
Testen
opbouwen
Uitbouwen Gestructureerd Testen
Paul Bentvelzen, IT Ketenmanager
Groei naar
volwassenheid
2014
2015
15
Record en Playback Test Tools
• Record en Playback
• Programmeren van test-scripts
• Eigen frame-work opbouwen
• Programmeer en script kennis noodzakelijk
• Het werd een “One Man Show”
deze man “left the building”
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
16
Strategische doelen
•
•
•
•
•
Onderhoudbaar
Schaalbaar
Herhaalbaar
Robuust
Kennis overdraagbaar
•
•
•
•
Herbruikbaar
Simultaan testen
Test data onafhankelijk
Unattended processing
• Ondersteunt onze wens voor lage fouttolerantie
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
17
Positiebepaling bij een hulpvraag
Paul Bentvelzen, IT Ketenmanager
18
Even inzoomen
Paul Bentvelzen, IT Ketenmanager
19
Lage fouttolerantie
Paul Bentvelzen, IT Ketenmanager
20
Test Competentie verbeteren
• Implementatie van Gestructureerd Testen
• Toename van Testscripts
• Toename van het aantal testers
• Verdere implementatie testfasering
• Implementatie van verschillende testtechnieken
• Nooit genoeg tijd om het allemaal te doen
• Het wordt wel heel duur
• Toenemende wens voor Testautomatisering
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
21
Paul Bentvelzen, IT Ketenmanager
22
Formele toolkeuzes maken
•
•
•
•
Strategische doelen centraal
Technologie keuzen onderzoeken
Shortlist maken
Demo’s en POC(s)
• Functioneel Testen
– TOSCA bij Hulpverlening en bij Leden (CRM)
– Selenium bij Online
• Performance Testen
– Oracle ATS
Paul Bentvelzen, IT Ketenmanager
23
TA bij de ANWB – Waar?
Regressie:
• Ledenadministratie
• Zakelijke Markt
• Hulpverlening GUI
• Hulpverlening non-GUI (REST & Sonic MQ)
Regressie + Progressie:
• Online (Nieuwe leden en MijnANWB)
• Financiële verwerking (Oracle EBS)
Keten- en Performance Testen
Programma Herijken
Tools
Paul Bentvelzen, IT Ketenmanager
24
Mensen opleiden
•
•
•
•
Groepen getraind in gebruik TOSCA
Testers, Technisch Beheerders en Ontwikkelaars  gebruik
Teammanagers, functioneel beheerders  commitment
Tevens externe specialisten aangetrokken
•
•
•
•
Drie niveaus van Testtoolgebruikers:
Basic: wijzigen, uitvoeren en analyseren van test scripts
Advanced: Basic+, creëren, onderhouden en problem solving
Expert: Advanced+, architectuur, implementatie,
ondersteuning en starten van nieuwe projecten
Improve
Test Competence
Record and Playback
earlier
2009-12
Demo TOSCA
Paul Bentvelzen, IT Ketenmanager
2011
Growing maturity
Start Projects
2012-03
Start TOSCA
2012-07
2013
Create tests
2014
25
Implementatie van TA Processen
• TA in Waterval projecten
• TA in Agile Projecten
• TA bij Ketentesten
• TA Specificatie Ontwerp Proces
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
26
Uitgebreide werkplekken
• Scripts maken, Scripts uitvoeren, Test-sets uitvoeren
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
27
Paul Bentvelzen, IT Ketenmanager
28
Wegenwacht InCar-systeem
Paul Bentvelzen, IT Ketenmanager
29
Handig Touchscreen
Paul Bentvelzen, IT Ketenmanager
30
Test calls aanmaken
Paul Bentvelzen, IT Ketenmanager
31
Geautomatiseerde Testcalls …
Paul Bentvelzen, IT Ketenmanager
32
Synthetische test-data gebruiken
Paul Bentvelzen, IT Ketenmanager
33
TUG – Tosca User Group
•
•
•
•
•
Elke twee weken kennisdelen
Delen van best practises
Demo van nieuwe ontwikkelingen
ANWB, Tricentis, externe leveranciers
Status Tosca in beheer en Operatie
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
78372000
Paul Bentvelzen, IT Ketenmanager
34
35
Genereren Test Cases met TCD
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
36
Nog meer synthetische testdata
Paul Bentvelzen, IT Ketenmanager
37
‘s Nachts verwerken van TA
• Testset batch processing in de nachten
• op DEV, TEST en ACC omgeving
• Testen samen met en door Beheer
• Project en Beheer assets
• Error Recovery noodzakelijk
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
38
Robuust  Error Recovery
• Als een script faalt moet de Testset verder kunnen
• Error Recovery ontwerp op testcase besturing
• Error Recovery ontwerp op testcase uitvoering
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
39
Dashboard
• Overview TOSCA Testsets
• Overview TOSCA Testset statussen
• Handmatig starten van Testsets
• Resultaten in grafieken tonen
• Reportage voor Project- en Test Management
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
40
Paul Bentvelzen, IT Ketenmanager
41
Paul Bentvelzen, IT Ketenmanager
42
Testen Oracle Policy Automation
Modeleren
A
c
c
e
p
t
e
r
e
n
T
e
s
t
e
n
Business
Rules
Regressietesten
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
43
Testen Oracle Policy Automation
Geautomatiseerd
uitvoeren
Modeleren
A
c
c
e
p
t
e
r
e
n
Business
Rules
T
e
s
t
e
n
Handmatig
opbouwen
Regressietesten
Geautomatiseerd uitvoeren
Paul Bentvelzen, IT Ketenmanager
44
Testen OPA i.c.m. Testen Siebel
•
•
•
•
•
•
Oracle Policy Automation – heeft eigen Testautomatisering
OPA-TA gebruiken voor Regressietesten in OPA
OPA-TA kent 1000+ Regressietestscrips
OPA-TA verwerking stand-alone bij elke update
Na TA in OPA koppelen aan doelsysteem Siebel
TA van Siebel gebruiken voor finale Acceptatie
• IT Architectuur met Teststrategie maakt versnelling mogelijk
• Hierdoor kunnen we met veel minder Testscripts toe,
is de hele test-verwerking drastisch verkort
• Maakt tussentijdse aanpassingen OPA mogelijk
Paul Bentvelzen, IT Ketenmanager
45
Performance Testen Belvloeren
Paul Bentvelzen, IT Ketenmanager
46
Performance Test Noodzaak
•
•
•
•
Geplande campagne(s) najaar 2014
Aantal belvloeren van 1 naar 4
Aantal Call-agents van 150 naar 400
Aantal calls van 4.000 naar 20.000 piek
Paul Bentvelzen, IT Ketenmanager
Performance Test opzet
• Performance Testen Siebel Applicatie (CRM-systeem)
• Inzicht verkrijgen in de prestaties van het systeem bij
verwachte gebruikersaantallen en toename belvloeren
• Meten van Responsetijden bij verwachte load
• Monitoren van Systeem Resources bij verwachte load
Paul Bentvelzen, IT Ketenmanager
Werkwijze
• Gebruikt:
– Processen gerealiseerd met Oracle - OpenScript
– Performance Test Uitvoer met Oracle - Load Testing
– Opbouwen Load Scenario om verwacht dagelijks gebruik te simuleren
• Werkwijze
– Load verdeeld over verschillende belvloeren / werkplekken
– Load gegenereerd vanaf verschillende belvloeren / werkplekken
– Interne Infrastructuur vanaf de werkplekken meegenomen in de Test
– Loadopbouw maken tot representatieve belasting
– Tegelijk key-users handmatig laten testen en meten
– Handmatige metingen als finale testresultaat
Paul Bentvelzen, IT Ketenmanager
Uitdagingen
• Uitdagingen
– ‘s Nachts, ‘s avonds en in het weekend de Testen
uitgevoerd
– Exclusieve beschikbaarheid omgeving en gekoppelde
systemen geregeld
– Batchverwerkingen ontwijken
– Tussentijdse changes in de software / systeem onder test
– Onderzoeken naar:
“het normale gedrag van een gebruiker”
– Hoeveel tijd neemt een belscenario nu echt in beslag
- vergelijkingscijfers opbouwen Paul Bentvelzen, IT Ketenmanager
Resultaten interpreteren
Paul Bentvelzen, IT Ketenmanager
Resultaat & Acties
• Inzicht in Prestaties van het Systeem bij
verwachte load / gebruikersaantallen
– Voldoende Resource Capaciteit
– Schermlaadtijden / responsetijden vielen tegen
• Acties
– Query optimalisatie - betere responsetijden
– Netwerk optimalisatie – wisselend beeld vloeren opgelost
– Herbouw klantbeeld (-70%)
Paul Bentvelzen, IT Ketenmanager
52
Performance Testen Vervolg
• ACC draait nu dagelijks onder load – “real” performance • Key-users zien realistisch gedrag op ACC
• Key-users en Management krijgen geen toolgrafieken meer
• Loadopbouw bij Productie-uitrol wordt ook op Prod gebruikt
• Performance Besturing en Testen geïntegreerd bij Beheer
Paul Bentvelzen, IT Ketenmanager
53
Paul Bentvelzen, IT Ketenmanager
54
Toekomst plannen
• Ketentesten automatiseren
• Nog meer projecten aanhaken
• TA bij de Enterprise Service Bus
• Kennisdeling voortzetten na organisatie veranderingen
• Nog breder uitdragen van TA bij bouwteams
• Implementeren van Continuous Delivery met TA
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
55
Lessons Learned
• Strategisch, Tactisch en Operationeel aanvliegen
– Een teammissie
– Een integraal onderdeel van Projecten en Beheer
– Management neemt actief verantwoordelijkheid
•
•
•
•
•
Implementeer TA Delivery Processen
Implementeer Standaard werkwijzes
Geef ruimte om te leren
Geef je keuzes een kans
Durf om hulp te vragen
Record and Playback
eerder
Test Competentie verbetering
2009-12
Tool demo’s
Paul Bentvelzen, IT Ketenmanager
2011
Start Projecten
2012-03
Start POC
2012-07
Groei naar volwassenheid
2013
Testen opbouwen
2014
2015
56
Paul Bentvelzen, IT Ketenmanager
57
Dank u wel!
Paul Bentvelzen, IT Ketenmanager
58
Agile Testing with Tosca
@ANWB
Paul Bentvelzen, Test Competence Lead
59
TOSCA in Agile Projects
Legend:
TOSCA Task
Daily Scrum
Other Task
24
hours
Gen. Process
2-4
weeks
Product Backlog
Sprint Backlog
Paul Bentvelzen, Test Competence Lead
Sprint
Working increment of the
Product incl. TOSCA Scripts
60
TOSCA in Agile Projects
Legend:
TOSCA Task
Daily Scrum
Other Task
24
hours
Gen. Process
State of Test Automation?
Tools?
Benefits?
Assignment
2 - 4for …
weeks
Overall
Strategy
Product Backlog
Sprint Backlog
Paul Bentvelzen, Test Competence Lead
Sprint
Working increment of the
Product incl. TOSCA Scripts
61
TOSCA in Agile Projects
Legend:
TOSCA Task
Daily Scrum
Other Task
Sprint Tasks
24
Impact and Changes
Planning and hours
Burn down
Most valuable
Achievable
Reusable
Gen. Process
2-4
weeks
Overall
Strategy
Product Backlog
Sprint Backlog
Paul Bentvelzen, Test Competence Lead
Detailed
Strategy
Sprint
Working increment of the
Product incl. TOSCA Scripts
62
TOSCA in Agile Projects
Legend:
TOSCA Task
Daily Scrum
Other Task
24
hours
Gen. Process
Test Full Set
Test Full Set
2-4
weeks
Overall
Strategy
Test Full Set
Detailed
Execute Test Scripts
Strategy
Weekly
Product Backlog
Sprint Backlog
Paul Bentvelzen, Test Competence Lead
Sprint
Working increment of the
Product incl. TOSCA Scripts
63
TOSCA in Agile Projects
Daily Scrum
Intake Test
TOSCA Task
Deploy
Design & Build
Other Task
24
hours
Gen. Process
Tasks
Test Full Set
Team Tasks
Creation and Deployment
2-4
Test
Full
Set
TOSCA Intake Test weeks
Overall
Strategy
Product Backlog
Sprint Backlog
Paul Bentvelzen, Test Competence Lead
Legend:
Test Full Set
Detailed
Strategy
Sprint
Working increment of the
Product incl. TOSCA Scripts
64
TOSCA in Agile Projects
Daily Scrum
Intake Test
Manual Test
Deploy
Design & Build
24
hours
Tasks
Automate
Test Cases
Legend:
TOSCA Task
Other Task
Gen. Process
Test Full Set
2-4
weeks
Create TOSCA Test Cases
Test Full Set
Test Progression Manually Test Full Set
Overall
Strategy
Product Backlog
Sprint Backlog
Paul Bentvelzen, Test Competence Lead
Detailed
Strategy
Sprint
Working increment of the
Product incl. TOSCA Scripts
65
TOSCA in Agile Projects
Daily Scrum
Intake Test
Tasks
Evaluate TOSCA on
Operational and Strategic
Level
Test Full Set
Product Backlog
Sprint Backlog
Paul Bentvelzen, Test Competence Lead
Other Task
Automate
Test Cases
24
hours
Design & Build
Overall
Strategy
TOSCA Task
Manual Test
Deploy
Legend:
Gen. Process
Test Full Set
2-4
weeks
Detailed
Evaluation
Sprint
Detailed
Strategy
Test Full Set
Overall
Evaluation
Working increment of the
Product incl. TOSCA Scripts
66
TOSCA in Agile Projects
Daily Scrum
Intake Test
Design & Build
Product Backlog
Sprint Backlog
Paul Bentvelzen, Test Competence Lead
Gen. Process
Test Full Set
2-4
weeks
Test Full Set
Other Task
Automate
Test Cases
24
hours
Tasks
Overall
Strategy
TOSCA Task
Manual Test
Deploy
Legend:
Detailed
Evaluation
Sprint
Detailed
Strategy
Test Full Set
Overall
Evaluation
Working increment of the
Product incl. TOSCA Scripts
67
TA - Waterfall Projects
@ANWB
Paul Bentvelzen, Test Competence Lead
68
Waterfall Projects
Requirements
Analysis
Design
Coding
Testing
Installation
Maintenance
Paul Bentvelzen, Test Competence Lead
69
Development phases
Design
Coding
Testing
Paul Bentvelzen, Test Competence Lead
Linear approach
Design
Paul Bentvelzen, Test Competence Lead
Coding
Testing
Testing in Waterfall Projects
Coding
Design
Design review
Risk
analysis
Test
preparation
Testing
Manual Testing
Functional
Test management / Test coordination
Paul Bentvelzen, Test Competence Lead
Testing Non
Functional
TOSCA in Waterfall Projects
Coding
Design
Design review
Risk
analysis
Test
preparation
Building Tosca Regression Scripts
Tosca
Intake
Test
Testing
Manual Testing
Functional
Tosca Regression Test Execution /
Building Tosca Regression Scripts
Deployment
Test management / Test coordination
Paul Bentvelzen, Test Competence Lead
Testing Non
Functional
73
E2E Testing
@ANWB
Paul Bentvelzen, Test Competence Lead
74
E2E Testing – Functional Test Case
Error Recovery
Execution List(s)
Preparation
Baseline
Preconditions
Execution
Test Steps
Completion
Verify steps
Paul Bentvelzen, Test Competence Lead
75
E2E Testing – E2E Test Case
Set test environment
Start Applications
Start Services
Preparation
Buffer
Execution List(s)
Preparation
Preparation
Preparation
Preparation
Execution
Test Steps
Execution
Test Steps
Execution
Test Steps
Execution
Test Steps
Completion
Completion
Completion
Completion
Completion
Application A
Reuse Test Cases
Reference instead of Copy
Paul Bentvelzen, Test Competence Lead
Application B
Application C
Error Recovery
Buffer
Functional Test Case
Close Applications
Close Services
Verify steps
76
E2E Testing – E2E Test Set
Execution List(s)
Paul Bentvelzen, Test Competence Lead
Preparation
Preparation
Test
Test
Test
Case Test Case Test Case Test
Preparation
Case
Case
Case
Preparation
Completion
Test
Completion
Test
TestCase
Case
Case
Completion
Test
Case
Completion
Error Recovery
• Multiple E2E Test Cases in a Set (Batch)
77
Agile Regression Test set
@ANWB
Paul Bentvelzen, Test Competence Lead
78
Agile Regression Test set
Previous Sprint
Manual Testing
(Progression)
Automated Testing
(Regression)
Paul Bentvelzen, Test Competence Lead
Progression
test set
Regression
test set
Today
Next Sprint
79
Agile Regression Test set
Previous Sprint
Manual Testing
(Progression)
Automated Testing
(Regression)
Paul Bentvelzen, Test Competence Lead
Today
Next Sprint
Progression
test set
Progression
test set
Regression
test set
Regression
test set
Copy
80
Agile Regression Test set
Previous Sprint
Manual Testing
(Progression)
Automated Testing
(Regression)
Paul Bentvelzen, Test Competence Lead
Today
Next Sprint
Progression
test set
Progression
test set
Regression
test set
Regression
test set
Copy
81
TOSCA Error Recovery
@ANWB
Paul Bentvelzen, Test Competence Lead
Error Recovery Specification Level
Overall
Error Recovery
Functional Group
Error Recovery
Use Case
• Batch grouping in
Execution List(s)
Error Recovery
Test Case
Test Step(s)
Paul Bentvelzen, Test Competence Lead
Error Recovery
Error Recovery Execution Level
Current Test Case
Current Test Step
Next Test Step
Next Test Case
Paul Bentvelzen, Test Competence Lead
Error Recovery Execution Level
Current Test Case
TestStepRetry < 2
Current Test Step
Next Test Step
Next Test Case
Paul Bentvelzen, Test Competence Lead
Failover
Error Recovery
Error Recovery Execution Level
TestCaseRetry < 1 & TestStepRetry >= 2
Current Test Case
TestStepRetry < 2
Current Test Step
Next Test Step
Next Test Case
Paul Bentvelzen, Test Competence Lead
Failover
Error Recovery
Error Recovery Execution Level
TestCaseRetry < 1 & TestStepRetry >= 2
Current Test Case
TestStepRetry < 2
Current Test Step
Failover
Error Recovery
TestCaseRetry >= 1 & TestStepRetry >= 2
Next Test Case
Paul Bentvelzen, Test Competence Lead