33
Workshop Procesverbetering Testen BI/ DWH November 2013 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

Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Embed Size (px)

DESCRIPTION

By Niels Bor and Marcus Drost. This workshop analyses test related problems of BI/DWH software development. Testing is a decisive factor for process acceleration in iterative and agile software development. The workshop provides solutions for solving quality, cost and time related problems. The demonstration of the highly automated and multi-functional data compare tool DREAM is part of the workshop. The workshop is guided by Niels Bor and Marcus Drost. We thank the SNS REAAL group for the initiation of the workshop.

Citation preview

Page 1: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

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)

Page 2: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Doel van de workshop

“Het verkrijgen van inzicht in de problemen van waterval en agile testprocessen en het zoeken naar mogelijke oplossingen. Specifiek voor data-intensieve omgevingen waar het gaat om Business Intelligence, Data Warehousing en Database Applicaties.”

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 3: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 4: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

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

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 5: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

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

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 6: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

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

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 7: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Comparing Agile and Traditional Approaches

Bron: Scott Ambler

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 8: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

A look back at waterfall

www.drost.name

Page 9: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Currently in AGILE/ SCRUM

www.drost.name

Page 10: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Change frequency

www.drost.name

Page 11: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Regression test frequency

www.drost.name

Page 12: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Regression in AGILE/ SCRUM

www.drost.name

Page 13: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

AGILE/ SCRUM test bottleneck

www.drost.name

Page 14: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Frequent application changing

www.drost.name

Page 15: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 16: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

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.

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 17: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 18: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 19: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Testsoorten TMapHet 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.

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 20: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Methoden om de regressie te testen

1.[Steekproef] Controleren van enkele waarden en op basis van de resultaten generaliseren

1. Voordeel: snel en zonder veel automatisering2. 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.

1. Voordeel: snel te automatiseren2. Nadeel: onvolledig; bij afwijkingen is de onderliggende oorzaak lastig

te vinden; afhankelijk van de applicatielogica3.[Datamodel à la DREAM] Door het definiëren van het datamodel wordt een complete database automatisch gecontroleerd op afwijkingen.

1. Voordeel: volledige dekking:100%, onafhankelijk van de applicatielogica; onderliggende oorzaak is snel te vinden

2. Nadeel: aanschaf of huur van een tool

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 21: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Over Regressie gesproken…

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 22: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Agile Development Team Testing StrategiesAgile 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 test-driven development (TDD) or test-immediately after approach.

Bron: Scott Ambler

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 23: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

TOP 5 speerpunten automatisering “Example DWH”

1.[Generatie input testdata] 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.2.[Automatische output controle] Door de automatische output controle kan meteen (snelheid) worden vastgesteld of het resultaat correct is. Hiervoor moet wel een sterk compare mechanisme in place zijn (à la DREAM) die sets van data ’fuzzy’ kan controleren. Dus de controle tussen verwachte output en daadwerkelijke output. 3.[Automatische Regressietest] Door de hoeveelheid van data is een automatische regressietest wenselijk met het oog op kwaliteit en tijd. 4.[Procesautomatisering] Uit de praktijk blijkt, dat daar waar de automatisering plaatsvindt, veel processen nog handwerk zijn. Middels scheduling en scripting kan de graad van automatisering worden opgevoerd en naar de nacht voor automatische verwerking worden geplaatst.5.[Deployment/ invoeringsprocessen] Deployment en invoeringsprocessen naar productie en testomgevingen nemen veel tijd in beslag. Als de frequentie van wijzingen wordt opgevoerd, dan ontstaat hier gauw een bottleneck. Hier valt veel tijd te winnen.

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 24: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 25: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

November 2013Workshop Procesverbetering Testen BI/ DWH

Page 26: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

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

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 27: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 28: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 29: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 30: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 31: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

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.

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 32: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Workshop Procesverbetering Testen BI/ DWHNovember 2013

Page 33: Workshop BI/DWH AGILE TESTING Zwitserleven Dutch

Samenvatting workshop

Feedback deelnemers

Workshop Procesverbetering Testen BI/ DWHNovember 2013