Automatisch testen van datawarehousesbetrouwbaarheid en kwaliteitGepubliceerd: 18 juli 2012 | Door:Marianne KompagneIn pra...
load. Uit ervaring weten we ook dat op sommige datawarehouse-projecten waar wel getest wordt, eenverhouding van het aantal...
- Testscript GeneratorEen applicatie van waaruit testscripts gegenereerd kunnen worden op basis van metadata uit functione...
mogelijkheid het proces nog verder te verbeteren.Het gebruik van een testomgeving verkort de doorlooptijd van het testproc...
Upcoming SlideShare
Loading in …5
×

Automatisch testen van datawarehouses

402 views
334 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
402
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Automatisch testen van datawarehouses

  1. 1. Automatisch testen van datawarehousesbetrouwbaarheid en kwaliteitGepubliceerd: 18 juli 2012 | Door:Marianne KompagneIn praktijk zien we dat er veel aandacht is voor het testen van bedrijfsapplicaties. Dezeinspanning gaat echter weer verloren doordat bedrijven hun datawarehouse niet ofnauwelijks testen. Men wil vaak wel, maar binnen datawarehouse-projecten zijn testersmet een specialisatie voor datawarehouses en business intelligence moeilijk te vinden. Enprojecten moeten wel een opleverdatum halen. Daardoor is de test-rol binnen een projectvaak niet ingevuld. Met als gevolg dat alleen de ontwikkelaars hun eigen werk testentijdens de ontwikkelfases (unittest).In positieve gevallen worden voor moeilijke requirements op ad hoc basis extra testen uitgevoerd. De gevondendefects worden niet of nauwelijks centraal geregistreerd en worden niet nagejaagd. Er is geen aandacht voorrisicoanalyse. Door deze werkwijze vindt er ook geen overdracht plaats van uit te voeren testen naar debeheerfase. Voor in de beheerfase benodigde controles dient het beheerteam het wiel weer opnieuw uit tevinden. Al met al komt hier een datawarehouse uit waarvan men niet met 100 procent zekerheid kan zeggen watde betrouwbaarheid van de opgeslagen informatie is. Er is immers geen inzicht en tijd om bevinden teonderzoeken. Tevens is de gedane testarbeid niet effectief en efficiënt ingezet.Uit onze eigen ervaring kunnen we concluderen dat 50 procent van de datawarehouses is getest bij de eersteGO-LIVE (systeemtest). Datawarehouses zijn dynamisch; er vinden continu releases en changes plaats. Dezedienen ook getest te worden. Hooguit 20 procent van de datawarehouses is structureel getest na iedere releaseof change (100% regressietest) en hooguit 5 procent van de datawarehouses heeft een regressietest na iedere
  2. 2. load. Uit ervaring weten we ook dat op sommige datawarehouse-projecten waar wel getest wordt, eenverhouding van het aantal testers ten opzichte van het aantal ontwikkelaars 1:1 is. Dan duurt de doorlooptijd vanhet testen vaak ook nog langer dan de ontwikkeling van een onderdeel.Wanneer we op zoek gaan naar een oplossing en de zoekterm ‘testen + data warehouse’ gebruiken vinden weals resultaat een heleboel blogs, artikelen die benadrukken dat het belangrijk is, maar geen van allen biedt eenkant en klare testoplossing. Niemand heeft het specifiek gemaakt.AutomatiseringDe doorlooptijd van een systeemtest neemt van het hele testproces de meeste tijd in beslag. Met eentestapplicatie wordt het mogelijk gemaakt om een reeks testen automatische uit te voeren. Zo kan bijvoorbeeldeen stap als het testen van de datastructuren, waaronder de data-objectstructuur, de domeinen en foreign keyrelaties, automatisch worden uitgevoerd. Ook het testen van functionaliteit van de ETL-processen kan met hetbouwen van een testapplicatie worden geautomatiseerd.De visie is om het testproces zo effectief mogelijk te maken door preventie van defects en optimalisatie van detestuitvoering. In veel gevallen wordt daarvoor een testconsultant aangesteld. De werkzaamheden van detestconsultant zijn er op gericht om defects te voorkomen. Hiervoor stelt de testconsultant met meegeleverdetemplates master- en detail testplannen op. In de testplannen is duidelijk aan te geven wat en hoe er getest gaatworden en met welk risicoprofiel. Hierbij is het belangrijk om de testconsultant in de definitie- of ontwerpfase al tebetrekken door middel van reviewsessies. Door reviews al in de definitie/ontwerpfase uit te voeren daalt hetaantal defects omdat al in een vroeg stadium de testbaarheid is geverifieerd. Onduidelijkheden en niet ´SMART´geformuleerde requirements zijn in dit stadium nog te corrigeren en nemen minder tijd in beslag. Dit levert eendaling van 30 tot 50 procent van het aantal defects tijdens de systeemtest op. Buiten dat wordt er ook tijdbespaard doordat kennisoverdracht naar test- en beheerfase al heeft plaats gevonden. De toegevoegde waardevan een datawarehouse-testconsultant komt verder volledig tot zijn recht in het opstellen van scripts in detestomgeving. Hij heeft inzicht in welke attributen en tabellen relevant zijn voor een test. De ingevulde attributenen tabellen worden in templates gebruikt om testscripts te genereren.Geautomatiseerde testen met een testomgevingOm het testproces te optimaliseren dient een testomgeving te worden gemaakt waarin de opgestelde testengeautomatiseerd opgesteld en uitgevoerd kunnen worden. Deze testomgeving bestaat uit:- Testomgeving InitialisatieDeze testomgeving is flexibel in te richten voor de gewenste datawarehouse architectuur.
  3. 3. - Testscript GeneratorEen applicatie van waaruit testscripts gegenereerd kunnen worden op basis van metadata uit functioneleontwerpen, use cases of user stories (metadata-driven testscript generator).- Test EngineEen applicatie waarin de testscripts worden gedraaid en het resultaat met het uitgevoerde testscript wordtopgeslagen (inclusief logging & email notificatie). De applicatie bestaat uit een set van tabellen en SQL packagesdie los van het data warehouse geïnstalleerd zijn (zero footprint).- Test ReportingDashboard waarin het resultaat van een testrun wordt gepresenteerd.Door het vastleggen van testinformatie ontstaat een betrouwbaar beeld van de kwaliteit van de processen endata binnen een datawarehouse. De kracht van het opslaan van testen met hun resultaten ligt in demogelijkheden om het testproces zelf te optimaliseren. Verder kunnen door het automatiseren veel meercontroles gedaan worden. Een datawarehouse kan nu echt voor 100 procent getest worden en dit is bij iederefunctionaliteit- en dataoplevering te herhalen (regressietest). De tijdsbesparing maakt het ook mogelijk om veelmeer tijd te besteden aan het onderzoeken van de echt belangrijke bevindingen. Meestal gaat het dan ombevindingen die ontstaan zijn doordat informatie uit verschillende bronsystemen er in geïntegreerd toestand tochanders uitziet dan de business bij het opstellen van de requirements voor ogen had.De omschreven testomgeving ondersteunt het vastleggen op hoog niveau (metadata) van uit te voeren testen.Het voordeel hiervan is dat men eenvoudig testcases kan vastleggen. Dit vastleggen van testcases isgeautomatiseerd door het gebruik van templates. De testengine voert de zo gegenereerde testscripts uit en legtde testresultaten met het uitgevoerde testscripts vast. Er kan dus altijd, door bijvoorbeeld een auditorganisatie,gecontroleerd worden welke testen zijn opgesteld en uitgevoerd. Zo is 80 procent van de testen die op eendatawarehouse zijn uitgevoerd,zijn zo uit te voeren. Voor testcases van ingewikkelde businessregels dient meneenmalig een testcase-template te maken. Dit is omdat het vastleggen van businessregels sterk afhankelijk isvan de wijze waarop requirements en ontwerpen of user stories zijn vastgelegd in de klantomgeving. Voordeel isdat je de testomgeving hierdoor zeer flexibel en op veel ontwikkelmethodieken in kan zetten.Wat levert dit geautomatiseerd testen op?Een belangrijk voordeel van geautomatiseerd testen is het aanzienlijk verkorten van de doorlooptijd van testen.Verder is het hele proces van uitgevoerde testen en testresultaten met hun doorlooptijden volledig transparant.Op basis hiervan kunnen dashboards worden gemaakt die het testproces nog inzichtelijker maken, met de
  4. 4. mogelijkheid het proces nog verder te verbeteren.Het gebruik van een testomgeving verkort de doorlooptijd van het testproces ook door het al in een vroegstadium van het ontwikkelproces van een datawarehouse in te zetten. Het is als regressietest te gebruiken naiedere aanlevering aan het datawarehouse en het kan zo continue inzicht in de datakwaliteit gegeven. Hettoepassen van een geautomatiseerde testomgeving verkleint op deze manier het risico van management en/ofoperationele besluitvorming gebaseerd op verkeerde data. Inzicht in deze risico’s is belangrijk voor bijvoorbeeldSolvency II of Basel II projecten.De doorlooptijd van het testproces wordt ook positief beïnvloed doordat er veel minder handwerk door testersgedaan hoeft te worden. Ervaring leert dat de doorlooptijd tenminste 50 procent sneller is ten opzichte van niet-geautomatiseerd testen. In plaats van een verhouding van testers: ontwikkelaars van 1:1 kan men volstaan meteen verhouding van 1:3. Dit is zeer wenselijk gezien de besparingen en omdat in de praktijk blijkt dat testers metspecifieke datawarehouse-kennis schaars zijn.Een volledig ingerichte en geautomatiseerde testomgeving is gedurende de gehele looptijd van eendatawarehouse te gebruiken. Ook tijdens de beheerfase. In een Agile projectaanpak is automatisch testeneigenlijk onmisbaar.Kadenza ontwikkelde op basis van haar onderzoek naar het testproces van datawarehouses, een testmethodieken testapplicatie, TestLoods genaamd. Door TestLoods toe te passen kan snel een gewensttestvolwassenheidsniveau gehaald worden. Met het bijbehorende 4 stappenplan is een Test Maturity Methodeniveau 3 en 4 zijn zeker voor alle datawarehouse projecten haalbaar. De resultaten van TestLoods zijnveelbelovend. De doorlooptijd van het testproces is sterk verminderen (tot 70%) en daardoor is tevens eenanzienlijke kosten reductie behaald. Het data warehouse en de informatie zijn voor 100% getest waardoor debetrouwbaarheid van het datawarehouse en de informatie is nagenoeg 100% is geworden

×