SlideShare una empresa de Scribd logo
1 de 36
Februari 2014

Workshop Procesverbetering
Testen BI/ DWH
AGENDA
Persoonlijke introductie & verwachtingen 15m
Niels Bor en Marcus Drost (workshopleiders)
Deelnemers workshop

Inhoud
Deel 1 Korte presentatie: Waterval versus Agile/ Scrum (Marcus Drost) 15m
Deel 2 Probleem-awareness-spel (inzicht) test problemen BI/ DWH systeem (Niels Bor) 20m
Deel 3 Korte presentatie: Meer over testen (Marcus Drost) 15m (dan pauze 10m)
Deel 4 Praktijkvoorbeeld Agile regressietesttool DREAM (Marcus Drost) 30m
Deel 5 Probleem-awareness-spel (van oorzaken naar actie) (Niels Bor) 20m

Afsluiting 10m
Samenvatting workshop (Niels Bor en Marcus Drost) en feedback deelnemers (15m uitloop)
V2.3
Doel van de workshop
“Het verkrijgen van inzicht in de problemen van
waterval en agile testprocessen en het zoeken
naar mogelijke oplossingen. Specifiek voor dataintensieve omgevingen waar het gaat om
Business Intelligence, Data Warehousing en
Database Applicaties.”
Hoewel de praktijken die onder de noemer agile vallen al
gangbaar zijn sinds software ontwikkeld wordt, valt de
geboorte van agile als term en concept terug te brengen
tot het Agile Manifesto, in februari 2001, tijdens een
informele samenkomst van ontwikkelaars. Het handvest
stelt dat goede software wordt gemaakt door:
1.Personen en interacties boven processen en tools.
2.Software die werkt boven lijvige documentatie.
3.Samenwerking met de klant boven onderhandeling over het contract.
4.Omgaan met verandering boven het volgen van een plan.

Bron: Wikipedia
Uit het handvest volgen twaalf principes:
1.Klanttevredenheid, door snelle, continue levering van bruikbare software.
2.Zelfs late veranderingen in de requirements zijn welkom.
3.Werkende software wordt regelmatig geleverd (weken eerder dan maanden).
4.De ontwikkelaars werken nauw en dagelijks samen met de mensen die de business
kennen.
5.Projecten steunen op gemotiveerde en betrouwbare personen.
6.Een gesprek in levende lijve is de beste manier van communicatie, wat betekent dat men
zich best op dezelfde plek bevindt.
7.Werkende software is de eerste maatstaf van vooruitgang.
8.De ontwikkeling kan te allen tijde worden voortgezet.
9.Er is voortdurende aandacht voor technische uitmuntendheid en goed ontwerp.
10.Eenvoud is belangrijk: hoe meer er niet gedaan wordt, hoe beter.
11.De teams organiseren zichzelf.
12.Men past zich aan de omstandigheden aan.

Bron: Wikipedia
Iterative vs. Agile
First of all, Agile is iterative already but it is way more than just iterative. Here are a number of
differences between Agile and “just” Iterative development:
Mini-waterfall is still waterfall
Iterative is still waterfall, just on a smaller scale. A series of mini-waterfalls is certainly better
and less risky than one big waterfall but mini-waterfall still is fundamentally waterfall and
comes with all its known problems such as difficulty to adapt to change (“Nice idea but sorry,
the requirements have been signed off months ago”), cascading delays (“Oops, we need to
shorten the testing phase”) and low quality (“We don’t have time to fix those bugs. We’ll fix
them in a later phase/iteration”).

Bron: Sandy Mamoli
Comparing Agile and Traditional Approaches

Bron: Scott Ambler
A look back at waterfall
Currently in AGILE/ SCRUM
Change frequency

LOW

HIGH
Regression test frequency

LOW

HIGH
Regression in AGILE/ SCRUME/
SCRUM
AGILE/ SCRUM test bottleneck
Frequent application changing
Probleem-awareness-spel (inzicht)
De deelnemers van de workshop gaan onderling in gesprek over de gerelateerde problemen
die zij in de praktijk bij het testen van data intensieve systemen ondervinden. Zij identificeren
de test gerelateerde problemen door deze met gele briefjes op de desbetreffende onderdelen
van de datawarehouse te plakken: Source system, data storage & aggregation en
presentation.
Beschrijf het probleem zodanig dat de oorzaak kan worden achterhaald en eraan een actie
kan worden gekoppeld.
Typische problemen
1. Brondata uit productie en test is functioneel niet stabiel.
2. Testdata zowel handmatig als automatisch niet op tijd beschikbaar.
3. Voorbereiden test en inrichting testomgeving zoals klaarzetten ETL en loadfiles
kost veel tijd.
4. Doorlooptijden van testruns duurt erg lang; performance problemen
5. Testcases niet duidelijk en geen koppeling aan fysieke testgevallen. M.a.w.
testgevallen worden ter plekke gezocht en zijn dan toevallig wel dan niet voor de
test beschikbaar. Daardoor is testdekking min of meer toevallig.
6. Geen beschrijving van verwachte output van testcases en daardoor tijdens de
controle veel zoekwerk.
7. Dubbel werk door overlap tussen UT, FAT en GAT.
8. Herbruikbaarheid van testcases wordt niet gemanaged; er is geen koppeling
tussen functionaliteit en testcases/ testgevallen.
9. Voor het uitbreiden/ aanpassen van testsets met testgevallen is geen standaard
proces aanwezig, dus min of meer ad hoc.
10. Tester ervaart punctueel heel veel druk.
Testsoorten Tmap (ter info)
Het testen is georganiseerd in een aantal testsoorten, TMap kent de volgende
testsoorten:
Unittest (UT): door de ontwikkelaar uitgevoerd. Toont aan dat een unit aan de in de
technische specificaties gestelde eisen voldoet.
Unitintegratietest (UIT): door de ontwikkelaar uitgevoerd. Toont aan dat een logische
groep units aan de in de technische specificaties gestelde eisen voldoet.
Systeemtest (ST): door de leverancier uitgevoerd. toont aan het ontwikkelde systeem of
dele daarvan aan de functionele- en niet-functionele specificaties en het technisch
ontwerp voldoen.
Systeemintegratietest (SIT): door de toekomstige gebruiker(s) uitgevoerd. Toont aan dat
(sub)systeeminterface afspraken zijn nagekomen, correct zijn geïnterpreteerd en correct
zijn geïmplementeerd.
Functionele acceptatietest (FAT): door de toekomstige gebruiker(s) uitgevoerd. Toont
aan dat het ontwikkelde systeem aan de functionele eisen voldoet.
Gebruikersacceptatietest (GAT): door de toekomstige gebruiker(s) uitgevoerd. Toont
aan dat het ontwikkelde systeem aan de wensen/eisen van de gebruiker voldoet.
Productieacceptatietest (PAT): door de toekomstige beheerder(s) uitgevoerd. Toont aan
dat het ontwikkelde systeem aan de van uit beheer gesteld eisen voldoet.
Methoden om de regressie te testen
1.[Steekproef] Controleren van enkele waarden en op basis van de resultaten
generaliseren
Voordeel: snel en zonder veel automatisering
Nadeel: onnauwkeurig, onvolledig
2.[Controlegetal] Door het maken van sommen wordt op basis van enkele
uitkomsten een uitspraak over de correctheid van het totaal gedaan.
Voordeel: snel te automatiseren
Nadeel: onvolledig; bij afwijkingen is de onderliggende oorzaak lastig te vinden;
afhankelijk van de applicatielogica
3.[Datamodel] Door het definiëren van het datamodel wordt een complete database
automatisch gecontroleerd op afwijkingen.
Voordeel: volledige dekking:100%, onafhankelijk van de applicatielogica;
onderliggende oorzaak is snel te vinden
Nadeel: aanschaf of huur van een tool
Over regressie gesproken…
Maar ook dichtbij…
Agile Development Team Testing Strategies
Agile development teams generally follow a whole team strategy where people with testing
skills are effectively embedded into the development team and the team is responsible for the
majority of the testing.
This strategy works well for the majority of situations but when your environment is more
complex you'll find that you also need an independent test team working in parallel to the
development and potentially performing end-of-lifecycle testing as well.
Regardless of the situation, agile development teams will adopt practices such as continuous
integration (CI) which enables them to do continuous regression testing, either with a testdriven development (TDD) or test-immediately after approach.

Bron: Scott Ambler
TOP 5 speerpunten automatisering 'Example DWH'
●

●

●

●

●

[Automatische regressietest] Door de hoeveelheid van data is een
automatische regressietest wenselijk met het oog op kwaliteit en tijd.
[Virtualisatie bronsystemen] Want bronnen leveren zelden op tijd en de
dekking van de testdata is vaak niet voldoende; door de automatische generatie
van testdata kan het team onafhankelijk worden van de bronnen.
[Automatische output controle] Door de automatische output controle kan
meteen na de testrun (snelheid) worden vastgesteld of het resultaat correct is.
Hierdoor wordt de testcyclus extreem verkort.
[Procesautomatisering] Uit de praktijk blijkt, dat daar waar automatisering
plaatsvindt, zelf veel processen nog handwerk zijn. Middels scheduling en
scripting kan de graad van automatisering worden opgevoerd en kunnen
verwerkingen naar de nacht worden verplaatst.
[Deployment] Deployment en invoeringsprocessen naar productie en
testomgevingen nemen veel tijd in beslag. Als de frequentie van wijzigingen wordt
opgevoerd, dan ontstaat hier gauw een bottleneck. Hier valt veel tijd te winnen.
DEMO DREAM (www.drost.name)
World’s first tool for continuous database and data warehouse regression testing.
Shouldn’t we be doing better? (Scott W. Ambler)Mission-critical business functionality is
implemented in RDBMSs. In the survey, 63.7% of respondents indicated that their
organizations did this, but of those only 46% had regression tests in place to validate the
logic. Shouldn’t we be doing better? Author: Scott W.Ambler
Probleem-awareness-spel (van oorzaak naar actie)
De deelnemers van de workshop gaan onderling in gesprek over de gevonden problemen en
proberen de oorzaken van de problemen te achterhalen (root cause analysis). Ga hiervoor
eerst de problemen groeperen. Bedenk dan acties cq. oplossingen voor de gevonden
problemen.
Mogelijke oplossingen
1.Regressie door de hele keten; zowel in ontwikkel en testomgeving
2.Simuleren van testdata; virtualisatie van bronsystemen; synthetische testdata
genereren
3.Het automatiseren van deploymentprocessen
4.Verbeteren performance door snellere machine of in de cloud
5.Testcases meteen vastleggen bij user stories en functionele specificaties.
6.Verwachte output van te voren voorspellen (een mal maken); voor automatische
output controle van te voren elektronisch vastleggen.
7.Afspraken waar wat en door wie wordt getest; zo veel mogelijk 'links' in het
ontwikkelproces testen.
8.Inrichten testdata management op het niveau van functionaliteiten zoals user
stories.
9.Zorgen dat data testdata management flexibel en continu is.
10. Automatische regressietest en automatische output controle waarmee
handmatig werk wordt voorkomen.
Samenvatting workshop
Feedback deelnemers

Más contenido relacionado

La actualidad más candente

BPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileBPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileRik Marselis
 
Continuous delivery met jenkins twist en puppet
Continuous delivery met jenkins twist en puppetContinuous delivery met jenkins twist en puppet
Continuous delivery met jenkins twist en puppetltebbens
 
Agile, Continuous Delivery & DevOps in perspectief
Agile, Continuous Delivery & DevOps in perspectiefAgile, Continuous Delivery & DevOps in perspectief
Agile, Continuous Delivery & DevOps in perspectiefMaurice Roos
 
Guru4 pro lean_software_development_v1.0
Guru4 pro lean_software_development_v1.0Guru4 pro lean_software_development_v1.0
Guru4 pro lean_software_development_v1.0Edward John Crain
 
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?Jaap van Ekris
 
Centrum Duurzaam introduceert scrum methodiek
Centrum Duurzaam introduceert scrum methodiekCentrum Duurzaam introduceert scrum methodiek
Centrum Duurzaam introduceert scrum methodiekduurzame verhalen
 

La actualidad más candente (8)

BPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agileBPUG Seminar 2014 Rik Marselis - effectief testen in agile
BPUG Seminar 2014 Rik Marselis - effectief testen in agile
 
DevOps presentatie
DevOps presentatieDevOps presentatie
DevOps presentatie
 
Continuous delivery met jenkins twist en puppet
Continuous delivery met jenkins twist en puppetContinuous delivery met jenkins twist en puppet
Continuous delivery met jenkins twist en puppet
 
Agile, Continuous Delivery & DevOps in perspectief
Agile, Continuous Delivery & DevOps in perspectiefAgile, Continuous Delivery & DevOps in perspectief
Agile, Continuous Delivery & DevOps in perspectief
 
A Team Publicatie
A Team PublicatieA Team Publicatie
A Team Publicatie
 
Guru4 pro lean_software_development_v1.0
Guru4 pro lean_software_development_v1.0Guru4 pro lean_software_development_v1.0
Guru4 pro lean_software_development_v1.0
 
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?
2008-06-23 - SDN - Kwaliteit van software, wat is dat nu eigenlijk?
 
Centrum Duurzaam introduceert scrum methodiek
Centrum Duurzaam introduceert scrum methodiekCentrum Duurzaam introduceert scrum methodiek
Centrum Duurzaam introduceert scrum methodiek
 

Destacado

PCI DSS как перейти с версии 2.0 на 3.0
PCI DSS как перейти с версии 2.0 на 3.0PCI DSS как перейти с версии 2.0 на 3.0
PCI DSS как перейти с версии 2.0 на 3.0RISSPA_SPb
 
Carthographic Map Explanation
Carthographic Map Explanation Carthographic Map Explanation
Carthographic Map Explanation Andrea González
 
Разработка ПО в рамках PCI DSS, как ее видит жуткий зануда
Разработка ПО в рамках PCI DSS, как ее видит жуткий занудаРазработка ПО в рамках PCI DSS, как ее видит жуткий зануда
Разработка ПО в рамках PCI DSS, как ее видит жуткий занудаRISSPA_SPb
 
Особенности взаимодействия организаций в рамках программы соответствия PCI DSS
Особенности взаимодействия организаций в рамках программы соответствия PCI DSSОсобенности взаимодействия организаций в рамках программы соответствия PCI DSS
Особенности взаимодействия организаций в рамках программы соответствия PCI DSSRISSPA_SPb
 
Presentation1
Presentation1Presentation1
Presentation1carragan
 
Customer Decision Journey
Customer Decision JourneyCustomer Decision Journey
Customer Decision Journeycmaionaise
 
โครงร่างโครงงานคอมิวเตอร์
โครงร่างโครงงานคอมิวเตอร์โครงร่างโครงงานคอมิวเตอร์
โครงร่างโครงงานคอมิวเตอร์28801125399
 
app vs. mobile site
app vs. mobile siteapp vs. mobile site
app vs. mobile sitecmaionaise
 
RISSPA SPb вчера, сегодня, завтра
RISSPA SPb вчера, сегодня, завтраRISSPA SPb вчера, сегодня, завтра
RISSPA SPb вчера, сегодня, завтраRISSPA_SPb
 
יישום חוק חינוך
יישום חוק חינוךיישום חוק חינוך
יישום חוק חינוךsusanake
 
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated February 22, 2014
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated February 22, 2014JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated February 22, 2014
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated February 22, 2014Jason Coombs
 
JOBS Act Rulemaking Comments on SEC File Number S7-06-13 Regarding Mott
JOBS Act Rulemaking Comments on SEC File Number S7-06-13 Regarding MottJOBS Act Rulemaking Comments on SEC File Number S7-06-13 Regarding Mott
JOBS Act Rulemaking Comments on SEC File Number S7-06-13 Regarding MottJason Coombs
 
app vs. mobile site
app vs. mobile siteapp vs. mobile site
app vs. mobile sitecmaionaise
 
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated December 15, 2013
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated December 15, 2013JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated December 15, 2013
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated December 15, 2013Jason Coombs
 

Destacado (20)

PCI DSS как перейти с версии 2.0 на 3.0
PCI DSS как перейти с версии 2.0 на 3.0PCI DSS как перейти с версии 2.0 на 3.0
PCI DSS как перейти с версии 2.0 на 3.0
 
Carthographic Map Explanation
Carthographic Map Explanation Carthographic Map Explanation
Carthographic Map Explanation
 
2
22
2
 
Разработка ПО в рамках PCI DSS, как ее видит жуткий зануда
Разработка ПО в рамках PCI DSS, как ее видит жуткий занудаРазработка ПО в рамках PCI DSS, как ее видит жуткий зануда
Разработка ПО в рамках PCI DSS, как ее видит жуткий зануда
 
Особенности взаимодействия организаций в рамках программы соответствия PCI DSS
Особенности взаимодействия организаций в рамках программы соответствия PCI DSSОсобенности взаимодействия организаций в рамках программы соответствия PCI DSS
Особенности взаимодействия организаций в рамках программы соответствия PCI DSS
 
1
11
1
 
Presentation1
Presentation1Presentation1
Presentation1
 
Koper ii
Koper iiKoper ii
Koper ii
 
Customer Decision Journey
Customer Decision JourneyCustomer Decision Journey
Customer Decision Journey
 
Visibility
VisibilityVisibility
Visibility
 
โครงร่างโครงงานคอมิวเตอร์
โครงร่างโครงงานคอมิวเตอร์โครงร่างโครงงานคอมิวเตอร์
โครงร่างโครงงานคอมิวเตอร์
 
app vs. mobile site
app vs. mobile siteapp vs. mobile site
app vs. mobile site
 
RISSPA SPb вчера, сегодня, завтра
RISSPA SPb вчера, сегодня, завтраRISSPA SPb вчера, сегодня, завтра
RISSPA SPb вчера, сегодня, завтра
 
יישום חוק חינוך
יישום חוק חינוךיישום חוק חינוך
יישום חוק חינוך
 
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated February 22, 2014
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated February 22, 2014JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated February 22, 2014
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated February 22, 2014
 
Semestrario
SemestrarioSemestrario
Semestrario
 
JOBS Act Rulemaking Comments on SEC File Number S7-06-13 Regarding Mott
JOBS Act Rulemaking Comments on SEC File Number S7-06-13 Regarding MottJOBS Act Rulemaking Comments on SEC File Number S7-06-13 Regarding Mott
JOBS Act Rulemaking Comments on SEC File Number S7-06-13 Regarding Mott
 
app vs. mobile site
app vs. mobile siteapp vs. mobile site
app vs. mobile site
 
5
55
5
 
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated December 15, 2013
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated December 15, 2013JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated December 15, 2013
JOBS Act Rulemaking Comments on SEC File Number S7-09-13 Dated December 15, 2013
 

Similar a Workshop BI/DWH AGILE TESTING SNS Bank Dutch

DevOps is geen scrum def
DevOps is geen scrum defDevOps is geen scrum def
DevOps is geen scrum defMyra Kievit
 
Exponentiele projecten
Exponentiele projectenExponentiele projecten
Exponentiele projectenLeon Dohmen
 
Aanbesteding van een nieuwe rooster applicatie - Dirk jan Durieux - HOlink 2019
Aanbesteding van een nieuwe rooster applicatie - Dirk jan Durieux - HOlink 2019Aanbesteding van een nieuwe rooster applicatie - Dirk jan Durieux - HOlink 2019
Aanbesteding van een nieuwe rooster applicatie - Dirk jan Durieux - HOlink 2019HOlink2019
 
Testen in de transitie naar continuous delivery
Testen in de transitie naar continuous deliveryTesten in de transitie naar continuous delivery
Testen in de transitie naar continuous deliveryXebia Nederland BV
 
Als Het Goed Is Hoef Je Niet Te Testen Slide Share
Als Het Goed Is Hoef Je Niet Te Testen   Slide ShareAls Het Goed Is Hoef Je Niet Te Testen   Slide Share
Als Het Goed Is Hoef Je Niet Te Testen Slide ShareBigBirdNL
 
Meet de gezondheid van de opslag
Meet de gezondheid van de opslagMeet de gezondheid van de opslag
Meet de gezondheid van de opslagDekkinga, Ewout
 
2006-04-19 - Platform voor Informatiebeveiliging - Kwaliteit van Software in ...
2006-04-19 - Platform voor Informatiebeveiliging - Kwaliteit van Software in ...2006-04-19 - Platform voor Informatiebeveiliging - Kwaliteit van Software in ...
2006-04-19 - Platform voor Informatiebeveiliging - Kwaliteit van Software in ...Jaap van Ekris
 
Nearshore softwareontwikkeling - Technosoft
Nearshore softwareontwikkeling - TechnosoftNearshore softwareontwikkeling - Technosoft
Nearshore softwareontwikkeling - TechnosoftBart Zwager
 
Robot framework en ci v2
Robot framework en ci v2Robot framework en ci v2
Robot framework en ci v2christiantester
 
I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)Derk-Jan de Grood
 
Systematische Aanpak Applicatie Performance
Systematische Aanpak Applicatie PerformanceSystematische Aanpak Applicatie Performance
Systematische Aanpak Applicatie PerformancePeter HJ van Eijk
 
How Oracle Management Cloud enabled a successful scratch of a 7-year old per...
How Oracle Management Cloud enabled a successful scratch of a 7-year old per...How Oracle Management Cloud enabled a successful scratch of a 7-year old per...
How Oracle Management Cloud enabled a successful scratch of a 7-year old per...Lucas Jellema
 
Introductie at framework
Introductie at frameworkIntroductie at framework
Introductie at frameworkErwin Heitzman
 

Similar a Workshop BI/DWH AGILE TESTING SNS Bank Dutch (20)

Integratiefase
IntegratiefaseIntegratiefase
Integratiefase
 
Integratiefase
IntegratiefaseIntegratiefase
Integratiefase
 
Agile & scrum
Agile & scrumAgile & scrum
Agile & scrum
 
DevOps is geen scrum def
DevOps is geen scrum defDevOps is geen scrum def
DevOps is geen scrum def
 
Exponentiele projecten
Exponentiele projectenExponentiele projecten
Exponentiele projecten
 
Perfect Patch
Perfect PatchPerfect Patch
Perfect Patch
 
Aanbesteding van een nieuwe rooster applicatie - Dirk jan Durieux - HOlink 2019
Aanbesteding van een nieuwe rooster applicatie - Dirk jan Durieux - HOlink 2019Aanbesteding van een nieuwe rooster applicatie - Dirk jan Durieux - HOlink 2019
Aanbesteding van een nieuwe rooster applicatie - Dirk jan Durieux - HOlink 2019
 
Begroten van een ICT project
Begroten van een ICT projectBegroten van een ICT project
Begroten van een ICT project
 
Testen in de transitie naar continuous delivery
Testen in de transitie naar continuous deliveryTesten in de transitie naar continuous delivery
Testen in de transitie naar continuous delivery
 
Als Het Goed Is Hoef Je Niet Te Testen Slide Share
Als Het Goed Is Hoef Je Niet Te Testen   Slide ShareAls Het Goed Is Hoef Je Niet Te Testen   Slide Share
Als Het Goed Is Hoef Je Niet Te Testen Slide Share
 
Meet de gezondheid van de opslag
Meet de gezondheid van de opslagMeet de gezondheid van de opslag
Meet de gezondheid van de opslag
 
2006-04-19 - Platform voor Informatiebeveiliging - Kwaliteit van Software in ...
2006-04-19 - Platform voor Informatiebeveiliging - Kwaliteit van Software in ...2006-04-19 - Platform voor Informatiebeveiliging - Kwaliteit van Software in ...
2006-04-19 - Platform voor Informatiebeveiliging - Kwaliteit van Software in ...
 
Nearshore softwareontwikkeling - Technosoft
Nearshore softwareontwikkeling - TechnosoftNearshore softwareontwikkeling - Technosoft
Nearshore softwareontwikkeling - Technosoft
 
Robot framework en ci v2
Robot framework en ci v2Robot framework en ci v2
Robot framework en ci v2
 
I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)I am a agile tester, because...(Agile testing put to practice)
I am a agile tester, because...(Agile testing put to practice)
 
Systematische Aanpak Applicatie Performance
Systematische Aanpak Applicatie PerformanceSystematische Aanpak Applicatie Performance
Systematische Aanpak Applicatie Performance
 
How Oracle Management Cloud enabled a successful scratch of a 7-year old per...
How Oracle Management Cloud enabled a successful scratch of a 7-year old per...How Oracle Management Cloud enabled a successful scratch of a 7-year old per...
How Oracle Management Cloud enabled a successful scratch of a 7-year old per...
 
Webinar Succesvol robotiseren (door Vincent Wiegel en Aart Schoonderbeek)
Webinar Succesvol robotiseren  (door Vincent Wiegel en Aart Schoonderbeek)Webinar Succesvol robotiseren  (door Vincent Wiegel en Aart Schoonderbeek)
Webinar Succesvol robotiseren (door Vincent Wiegel en Aart Schoonderbeek)
 
Rup Testen
Rup TestenRup Testen
Rup Testen
 
Introductie at framework
Introductie at frameworkIntroductie at framework
Introductie at framework
 

Workshop BI/DWH AGILE TESTING SNS Bank Dutch

  • 1. Februari 2014 Workshop Procesverbetering Testen BI/ DWH AGENDA Persoonlijke introductie & verwachtingen 15m Niels Bor en Marcus Drost (workshopleiders) Deelnemers workshop Inhoud Deel 1 Korte presentatie: Waterval versus Agile/ Scrum (Marcus Drost) 15m Deel 2 Probleem-awareness-spel (inzicht) test problemen BI/ DWH systeem (Niels Bor) 20m Deel 3 Korte presentatie: Meer over testen (Marcus Drost) 15m (dan pauze 10m) Deel 4 Praktijkvoorbeeld Agile regressietesttool DREAM (Marcus Drost) 30m Deel 5 Probleem-awareness-spel (van oorzaken naar actie) (Niels Bor) 20m Afsluiting 10m Samenvatting workshop (Niels Bor en Marcus Drost) en feedback deelnemers (15m uitloop) V2.3
  • 2. Doel van de workshop “Het verkrijgen van inzicht in de problemen van waterval en agile testprocessen en het zoeken naar mogelijke oplossingen. Specifiek voor dataintensieve omgevingen waar het gaat om Business Intelligence, Data Warehousing en Database Applicaties.”
  • 3.
  • 4. Hoewel de praktijken die onder de noemer agile vallen al gangbaar zijn sinds software ontwikkeld wordt, valt de geboorte van agile als term en concept terug te brengen tot het Agile Manifesto, in februari 2001, tijdens een informele samenkomst van ontwikkelaars. Het handvest stelt dat goede software wordt gemaakt door: 1.Personen en interacties boven processen en tools. 2.Software die werkt boven lijvige documentatie. 3.Samenwerking met de klant boven onderhandeling over het contract. 4.Omgaan met verandering boven het volgen van een plan. Bron: Wikipedia
  • 5. Uit het handvest volgen twaalf principes: 1.Klanttevredenheid, door snelle, continue levering van bruikbare software. 2.Zelfs late veranderingen in de requirements zijn welkom. 3.Werkende software wordt regelmatig geleverd (weken eerder dan maanden). 4.De ontwikkelaars werken nauw en dagelijks samen met de mensen die de business kennen. 5.Projecten steunen op gemotiveerde en betrouwbare personen. 6.Een gesprek in levende lijve is de beste manier van communicatie, wat betekent dat men zich best op dezelfde plek bevindt. 7.Werkende software is de eerste maatstaf van vooruitgang. 8.De ontwikkeling kan te allen tijde worden voortgezet. 9.Er is voortdurende aandacht voor technische uitmuntendheid en goed ontwerp. 10.Eenvoud is belangrijk: hoe meer er niet gedaan wordt, hoe beter. 11.De teams organiseren zichzelf. 12.Men past zich aan de omstandigheden aan. Bron: Wikipedia
  • 6. Iterative vs. Agile First of all, Agile is iterative already but it is way more than just iterative. Here are a number of differences between Agile and “just” Iterative development: Mini-waterfall is still waterfall Iterative is still waterfall, just on a smaller scale. A series of mini-waterfalls is certainly better and less risky than one big waterfall but mini-waterfall still is fundamentally waterfall and comes with all its known problems such as difficulty to adapt to change (“Nice idea but sorry, the requirements have been signed off months ago”), cascading delays (“Oops, we need to shorten the testing phase”) and low quality (“We don’t have time to fix those bugs. We’ll fix them in a later phase/iteration”). Bron: Sandy Mamoli
  • 7. Comparing Agile and Traditional Approaches Bron: Scott Ambler
  • 8. A look back at waterfall
  • 12. Regression in AGILE/ SCRUME/ SCRUM
  • 13. AGILE/ SCRUM test bottleneck
  • 15.
  • 16. Probleem-awareness-spel (inzicht) De deelnemers van de workshop gaan onderling in gesprek over de gerelateerde problemen die zij in de praktijk bij het testen van data intensieve systemen ondervinden. Zij identificeren de test gerelateerde problemen door deze met gele briefjes op de desbetreffende onderdelen van de datawarehouse te plakken: Source system, data storage & aggregation en presentation. Beschrijf het probleem zodanig dat de oorzaak kan worden achterhaald en eraan een actie kan worden gekoppeld.
  • 17.
  • 18. Typische problemen 1. Brondata uit productie en test is functioneel niet stabiel. 2. Testdata zowel handmatig als automatisch niet op tijd beschikbaar. 3. Voorbereiden test en inrichting testomgeving zoals klaarzetten ETL en loadfiles kost veel tijd. 4. Doorlooptijden van testruns duurt erg lang; performance problemen 5. Testcases niet duidelijk en geen koppeling aan fysieke testgevallen. M.a.w. testgevallen worden ter plekke gezocht en zijn dan toevallig wel dan niet voor de test beschikbaar. Daardoor is testdekking min of meer toevallig. 6. Geen beschrijving van verwachte output van testcases en daardoor tijdens de controle veel zoekwerk. 7. Dubbel werk door overlap tussen UT, FAT en GAT. 8. Herbruikbaarheid van testcases wordt niet gemanaged; er is geen koppeling tussen functionaliteit en testcases/ testgevallen. 9. Voor het uitbreiden/ aanpassen van testsets met testgevallen is geen standaard proces aanwezig, dus min of meer ad hoc. 10. Tester ervaart punctueel heel veel druk.
  • 19.
  • 20. Testsoorten Tmap (ter info) Het testen is georganiseerd in een aantal testsoorten, TMap kent de volgende testsoorten: Unittest (UT): door de ontwikkelaar uitgevoerd. Toont aan dat een unit aan de in de technische specificaties gestelde eisen voldoet. Unitintegratietest (UIT): door de ontwikkelaar uitgevoerd. Toont aan dat een logische groep units aan de in de technische specificaties gestelde eisen voldoet. Systeemtest (ST): door de leverancier uitgevoerd. toont aan het ontwikkelde systeem of dele daarvan aan de functionele- en niet-functionele specificaties en het technisch ontwerp voldoen. Systeemintegratietest (SIT): door de toekomstige gebruiker(s) uitgevoerd. Toont aan dat (sub)systeeminterface afspraken zijn nagekomen, correct zijn geïnterpreteerd en correct zijn geïmplementeerd. Functionele acceptatietest (FAT): door de toekomstige gebruiker(s) uitgevoerd. Toont aan dat het ontwikkelde systeem aan de functionele eisen voldoet. Gebruikersacceptatietest (GAT): door de toekomstige gebruiker(s) uitgevoerd. Toont aan dat het ontwikkelde systeem aan de wensen/eisen van de gebruiker voldoet. Productieacceptatietest (PAT): door de toekomstige beheerder(s) uitgevoerd. Toont aan dat het ontwikkelde systeem aan de van uit beheer gesteld eisen voldoet.
  • 21. Methoden om de regressie te testen 1.[Steekproef] Controleren van enkele waarden en op basis van de resultaten generaliseren Voordeel: snel en zonder veel automatisering Nadeel: onnauwkeurig, onvolledig 2.[Controlegetal] Door het maken van sommen wordt op basis van enkele uitkomsten een uitspraak over de correctheid van het totaal gedaan. Voordeel: snel te automatiseren Nadeel: onvolledig; bij afwijkingen is de onderliggende oorzaak lastig te vinden; afhankelijk van de applicatielogica 3.[Datamodel] Door het definiëren van het datamodel wordt een complete database automatisch gecontroleerd op afwijkingen. Voordeel: volledige dekking:100%, onafhankelijk van de applicatielogica; onderliggende oorzaak is snel te vinden Nadeel: aanschaf of huur van een tool
  • 24. Agile Development Team Testing Strategies Agile development teams generally follow a whole team strategy where people with testing skills are effectively embedded into the development team and the team is responsible for the majority of the testing. This strategy works well for the majority of situations but when your environment is more complex you'll find that you also need an independent test team working in parallel to the development and potentially performing end-of-lifecycle testing as well. Regardless of the situation, agile development teams will adopt practices such as continuous integration (CI) which enables them to do continuous regression testing, either with a testdriven development (TDD) or test-immediately after approach. Bron: Scott Ambler
  • 25. TOP 5 speerpunten automatisering 'Example DWH' ● ● ● ● ● [Automatische regressietest] Door de hoeveelheid van data is een automatische regressietest wenselijk met het oog op kwaliteit en tijd. [Virtualisatie bronsystemen] Want bronnen leveren zelden op tijd en de dekking van de testdata is vaak niet voldoende; door de automatische generatie van testdata kan het team onafhankelijk worden van de bronnen. [Automatische output controle] Door de automatische output controle kan meteen na de testrun (snelheid) worden vastgesteld of het resultaat correct is. Hierdoor wordt de testcyclus extreem verkort. [Procesautomatisering] Uit de praktijk blijkt, dat daar waar automatisering plaatsvindt, zelf veel processen nog handwerk zijn. Middels scheduling en scripting kan de graad van automatisering worden opgevoerd en kunnen verwerkingen naar de nacht worden verplaatst. [Deployment] Deployment en invoeringsprocessen naar productie en testomgevingen nemen veel tijd in beslag. Als de frequentie van wijzigingen wordt opgevoerd, dan ontstaat hier gauw een bottleneck. Hier valt veel tijd te winnen.
  • 26.
  • 27.
  • 28.
  • 29. DEMO DREAM (www.drost.name) World’s first tool for continuous database and data warehouse regression testing. Shouldn’t we be doing better? (Scott W. Ambler)Mission-critical business functionality is implemented in RDBMSs. In the survey, 63.7% of respondents indicated that their organizations did this, but of those only 46% had regression tests in place to validate the logic. Shouldn’t we be doing better? Author: Scott W.Ambler
  • 30.
  • 31.
  • 32.
  • 33. Probleem-awareness-spel (van oorzaak naar actie) De deelnemers van de workshop gaan onderling in gesprek over de gevonden problemen en proberen de oorzaken van de problemen te achterhalen (root cause analysis). Ga hiervoor eerst de problemen groeperen. Bedenk dan acties cq. oplossingen voor de gevonden problemen.
  • 34.
  • 35. Mogelijke oplossingen 1.Regressie door de hele keten; zowel in ontwikkel en testomgeving 2.Simuleren van testdata; virtualisatie van bronsystemen; synthetische testdata genereren 3.Het automatiseren van deploymentprocessen 4.Verbeteren performance door snellere machine of in de cloud 5.Testcases meteen vastleggen bij user stories en functionele specificaties. 6.Verwachte output van te voren voorspellen (een mal maken); voor automatische output controle van te voren elektronisch vastleggen. 7.Afspraken waar wat en door wie wordt getest; zo veel mogelijk 'links' in het ontwikkelproces testen. 8.Inrichten testdata management op het niveau van functionaliteiten zoals user stories. 9.Zorgen dat data testdata management flexibel en continu is. 10. Automatische regressietest en automatische output controle waarmee handmatig werk wordt voorkomen.