Aandachtspunten bij datawarehouse testing
Upcoming SlideShare
Loading in...5
×
 

Aandachtspunten bij datawarehouse testing

on

  • 391 views

 

Statistics

Views

Total Views
391
Views on SlideShare
388
Embed Views
3

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 3

http://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Aandachtspunten bij datawarehouse testing Aandachtspunten bij datawarehouse testing Document Transcript

  • Aandachtspunten bij datawarehouse testingtijd versus kwaliteitGepubliceerd: 24 juli 2012 | Door:Marianne KompagneEigenlijk gaan we er altijd vanuit dat opgeleverde systemen en de informatie erin tevertrouwen zijn. Idealiter is het systeem getest en zijn de risico’s en mogelijke afwijkingenin informatie bekend. Met andere woorden: we vertrouwen erop dat we in financiëlerapportages niet ineens een afwijking van 30 miljoen euro zullen vinden. Onderzoek vanInformation World Review bevestigt onze behoefte aan datakwaliteit; bijna 90% vanorganisaties wereldwijd is van mening dat datakwaliteit zeer belangrijk en waardevol isvoor hun onderneming.Idealiter is een informatievoorzieningssysteem opgeleverd en dus te vertrouwen. In een ideale situatie heeft deorganisatie een beeld van de kwaliteit van het datawarehouse en van de kwaliteit van de data in hetdatawarehouse en is de data voor 100 procent getest. De auditafdeling heeft de testresultaten bekeken en derisico’s in kaart gebracht en er is een audit trail opgesteld van alle testresultaten. Met andere woorden: alleuitgevoerde testen en de bijbehorende resultaten zijn transparant. Verder heeft de projectorganisatie ervoorgezorgd dat het testproces ‘lean’ is ingericht en wijzigingen en defects snel opnieuw te testen zijn. De resultatenvan deze testen zijn te vergelijken met de vorige testresultaten. De projectorganisatie en de beheerafdelinghebben ervoor gezorgd dat deze testwerkwijze overdraagbaar is naar de beheerfase.Een ideale situatie met betrekking tot de informatievoorziening is voor veel organisaties nog een streven en geenstatus quo. Bovendien geldt dat als informatie goed gebruikt wordt een datawarehouse-omgeving nooit af is. Deinformatiebehoefte binnen een organisatie wijzigt immers continue. In het ideale plaatje zijn er dan ook altijd
  • testers met specifieke kennis van business intelligence en datawarehouses beschikbaar die de omgeving continukunnen monitoren en beheren.Voor het ontwerpen van een datawarehouse geldt vaak het advies ‘denk groot, maar begin klein’. Voor hettestproces van een datawarehouse geldt eigenlijk hetzelfde. Een testproces moet immers mee kunnen groeienmet de groei van een datawarehouse. Tijdens deze groei is het belangrijk het testproces voortdurend teevalueren en te verbeteren. Het testproces krijgt tijdens de groei te maken met meerdere testers, een inrichtingvan de beheerafdeling en incrementele opleveringen van het datawarehouse. Allemaal zaken die het testproceszodanig kunnen beïnvloeden dat er vertraging of verstoring optreedt. En bij het streven naar optimaledatakwaliteit is dat uiteraard niet wenselijk.AandachtspuntenUit een evaluatie van het testproces van datawarehouses, uitgevoerd door onderzoekers van Kadenza, kwameneen zestal punten naar voren die er in meer of mindere mate voor zorgen dat vertragingen of verstoringenontstaan. Deze aandachtspunten zitten niet in de kwaliteit of de nauwkeurigheid van het opgeleverdedatawarehouse, maar hangen vooral nauw samen met de gevolgen van de groei van een datawarehouse en dehoeveelheid extra tijd die dat in beslag neemt.1. Onvolledige testbasisIn de evaluatie is ook de testbasis nader bekeken. In deze testbasis ontbreekt het eigenlijk veelal aan technischeontwerpen. De kwaliteit van de onderdelen die wel aanwezig zijn, zoals requirements, functioneel ontwerpen enbouwconventies, is erg hoog. De borging van de requirements en de functioneel ontwerpen binnen de testkunnen echter wel verbeterd worden.2. Complexe controlesDe voorbereiding van een systeemtest van een datawarehouse-increment neemt veel tijd in beslag. Hetsamenstellen van controle queries in het bijzonder is erg tijdrovend. De complexiteit van de controles neemtbovendien toe naar mate er aan de geïntegreerde datawarehouse-omgeving voortdurend incrementen wordenaangebouwd.3. Toename doorlooptijd regressietestDoor de groei van het aantal incrementen neemt vervolgens de doorlooptijd van de regressietest toe. Decombinatie van incrementele opleveringen aan een geïntegreerde datawarehouse area-laag en een data marts-
  • laag zorgt ervoor dat bestaande ETL-processen bij een nieuw increment gewijzigd kunnen zijn, waardoor er weeropnieuw een regressietest uitgevoerd moet worden.4. Gebrek samenhang tussen oplevering en testscriptsDerde aandachtspunt is dat er geen goede correlatie is tussen opleveringen en testscripts. Hierdoor is het vooranderen dan de tester niet inzichtelijk welke versie van een testscript een bepaald testresultaat heeft opgeleverden op welke oplevering dit testresultaat betrekking heeft. Bovendien zijn de testscripts en testresultaten nietcentraal toegankelijk. Hierdoor is hergebruik van de testscripts door andere testers erg lastig.5. Te weinig kruisbestuivingHet gebrek aan voldoende testkennis bij ontwikkelaars en voldoende ontwikkelkennis bij de testers is een vierdeknelpunt. Hierdoor wordt kennis van ontwikkelaars te weinig gebruikt bij het maken van testscripts en wordentestscripts van opgeleverde incrementen niet gebruikt tijdens de ontwikkelfase voor controle doeleinden.6. Onvolledige testsetsHet zesde en laatste struikelblok is tijd. Door de werkdruk is het moeilijk om de bij het project behorende testsetup to date te houden. Verder is gekeken waar tijdwinst te maken is. Zo is geconstateerd dat in het projectbevindingen in de opgeleverde datastructuren meer werk en vertragingen in doorlooptijd tot gevolg hebben danbevindingen in de ETL-processen. Denk bijvoorbeeld aan het ontbreken van verplichtstellen van een veld in eendatastructuur. Deze zijn snel te herstellen, maar hebben een grote impact op de doorlooptijd van het testproces,doordat hierbij de testset in de testomgeving vaak opnieuw opgebouwd moet worden.Plan van aanpakInzicht in de aandachtspunten bij datawarehouse testing, geeft handvatten voor het opstellen van eentestmethodiek. In feite komt dit neer op twee verbeterpunten voor het testproces: het verbeteren van de kwaliteitvan requirements en het verbeteren van de systeemtest. Een kort en krachtig plan van aanpak biedt houvast.Kwaliteit verbeteren door verbeteren testbasisOm tot verhoging van de kwaliteit van de requirements en de functioneel ontwerpen te komen, dienen een aantalverbeteringen te worden doorgevoerd. Naast brainstormsessies waarin ontwerpers een overall functioneelontwerp in grote lijnen opstellen, zijn er plenaire reviews nodig van functioneel ontwerpen per datawarehouse-increment met ontwikkelaars, testers, beheer en de business om het ontwerp op alle aspecten te beoordelen.Hierbij kan gebruik gemaakt van user stories. View slide
  • DocumentatieDe functioneel ontwerp-documentatie dient zo opgezet te zijn dat deze een ingang heeft per datawarehouse-increment voor projectdoeleinden, plus een ingang voor het overall datawarehouse functioneel ontwerp voorbeheerdoeleinden. Ten behoeve van transparantie kunnen er verwijzingen (CMMI compliant) in de functioneelontwerpen worden opgenomen naar op te lossen requirements. Daarnaast moeten er ten behoeve van deondersteuning bij testdefinities beschrijvingen van functionele controletellingen in de functioneel ontwerpenworden opgenomen. Door gebruik te maken van templates ontstaat er een eenduidige manier om de functioneleontwerpen ook daadwerkelijk vast te leggen.Door deze maatregelen zal de kwaliteit van de testdefinities en de testscripts omhoog gaan en neemt dedoorlooptijd van het maken van testdefinities af. De verbeteringen zijn daarnaast leuk om uit te voeren, zodat zede betrokkenheid en samenwerking van alle deelnemers verhogen. En passant zorgen ze ook nog voor eenbeter acceptatie.UnittestsHoe hoger de kwaliteit van de input des te hoger is de kwaliteit van de output’. Deze filosofie kan worden vertaaldnaar de unittest. Met name de correctheid en compleetheid ten aanzien van datastructuren en bouwconventieszijn cruciaal voor een goede unittest. Door zo compleet en correct mogelijk te werken worden fouten in deontwikkelingsfase eerder geconstateerd en opgepakt, wat leidt tot een vermindering van het aantal bevindingenin de systeemtest. Voorbeelden van activiteiten waarmee veel tijdwinst te behalen is, zijn: het zorgen voorcorrecte naamgeving van objecten en de correcte implementatie van data-objecten.Goed uitvoeren van de unittest vereist discipline van de betrokkenen, ook bij grote tijdsdruk. De tijd die besteedwordt aan unittesten wordt dubbel en dwars terugverdiend op de doorlooptijd van het systeemtesten. Eenneveneffect is dat er meer aandacht is voor functionele testresultaten.Verbeteringen systeemtest door testmethodiek en -applicatieDoor het testproces te ondersteunen met een testapplicatie wordt er allereerst voor gezorgd dat testresultatenopgeslagen worden in de testapplicatie. Dit zorgt voor beter zichtbare testresultaten (transparantie) en de hieruitte trekken lessen zullen duidelijker naar voren komen. Door gebruik te maken van herbruikbare rapporten op detest-metadata kunnen testrapportages bovendien sneller opgeleverd worden. Ten tweede maakt de inzet vaneen testapplicatie hergebruik van testscripts mogelijk. Door de opgestelde testen of controles op te slaan in detestapplicatie kunnen deze bij volgende opleveringen van datawarehouse-incrementen hergebruikt worden alsonderdeel van een regressietest. Dit zorgt voor een betere garantie van de betrouwbaarheid en de kwaliteit. View slide
  • Verder zal, met opgeslagen testresultaten op zowel hoog als laag detailniveau, het voor zowel de testers als voordatawarehousebeheer duidelijk zijn hoe de datawarehouseprocessen zich gedragen.Start met juiste methodiekAutomatisch testen begint met de juiste methodiek. In de juiste benadering wordt zoveel mogelijk gelijke tredgehouden met het datawarehouse ontwikkelproces, waarbij zoveel mogelijk stappen en tests geautomatiseerdzijn. Doel is het testproces zo effectief mogelijk te maken door de preventie van defects en optimalisatie van detestuitvoering. De op de TMAP gebaseerde testmethodiek biedt hiervoor een ideaal raamwerk. Dit raamwerk enbijbehorende templates kunnen vervolgens worden afgestemd op de bedrijfsspecifieke situatie. De volledigingerichte testomgeving is tijdens de hele looptijd van een data warehouse te gebruiken. Ook tijdens debeheerfase. Overigens is in een Agile project aanpak automatisch testen onmisbaar.Onderdeel OndersteuningMaster Testplan data warehouse Document TemplateDetail Testplan data warehouse Document TemplateTestcases in 11 testcategorien Generatie TemplatesReview requirements MethodiekReview Unittest MethodiekReview data warehouse architectuur MethodiekReview Standaarden MethodiekDashboards Excel TemplateTabel 1. Methodiek testaanpakMeer weten over het concretiseren van de methodiek en geautomatiseerd testen, lees het tweede artikel overgeautomatiseerd testen van datawarehouses.