SlideShare ist ein Scribd-Unternehmen logo
1 von 3
Downloaden Sie, um offline zu lesen
Thema Business Intelligence

              Samenwerken en automatiseren versnelt testfase


              Datawarehouse testen:
              van theorie naar praktijk
               Marianne Kompagne en Chun Bon Tse




               Voor het ontwerpen van een datawarehouse geldt vaak het advies “denk
               groot, maar begin klein”. Voor het testproces van een datawarehouse geldt
               eigenlijk hetzelfde. Een testproces moet immers mee kunnen groeien met
               de groei van een datawarehouse.




Tijdens deze groei is het belangrijk om het testproces voort-        systeemtest van een datawarehouse increment te veel tijd in
durend te evalueren en te verbeteren. De auteurs van dit artikel     beslag neemt. Het samenstellen van controle query’s in het bij-
voerden een onderzoek uit naar de mogelijkheden om het test-         zonder is erg tijdrovend. De complexiteit van de controles neemt
proces van een datawarehouse te verbeteren. Dit artikel is een       bovendien toe naarmate er aan de geïntegreerde datawarehouse-
verslag van de zoektocht en bevindingen, met daarin vooral aan-      omgeving voortdurend incrementen worden aangebouwd.
dacht voor een verbetering van de testbasis door samenwerking        Toename doorlooptijd regressietest. Tweede struikelblok was dat
van belanghebbenden, een transparant testproces, een kortere         door de groei van het aantal incrementen de doorlooptijd van de
testdoorlooptijd en een kwalitatief hoge testoutput.                 regressietest toenam. De combinatie van incrementele opleverin-
Het testproces krijgt tijdens de groei van het datawarehouse te      gen aan een geïntegreerde datawarehouse area-laag en een
maken met meer testers, een beheerafdeling inrichting en incre-      datamarts-laag zorgt ervoor dat bestaande ETL-processen bij een
mentele opleveringen van het datawarehouse. Dit zijn allemaal        nieuw increment gewijzigd kunnen zijn, waardoor er weer
zaken die het testproces zodanig kunnen beïnvloeden dat er ver-      opnieuw een regressietest uitgevoerd moet worden.
traging of verstoring optreedt.                                      Gebrek samenhang tussen oplevering en testscripts. Derde punt is
Bij het opzetten van een testproces wordt veelal gebruik             dat er geen goede correlatie is tussen opleveringen en testscripts.
gemaakt van een tweetal erkende standaarden. Voor het testen         Hierdoor is het voor anderen dan de tester niet inzichtelijk welke
maakt men vaak gebruik van TMap (zie afbeelding 1). Het pro-         versie van een testscript een bepaald testresultaat heeft opgele-
ject management wordt meestal ingericht volgens de richtlijnen       verd en op welke oplevering dit testresultaat betrekking heeft.
van Prince II. Deze standaard richt zich specifiek op de proces-     Bovendien zijn de testscripts en testresultaten niet centraal toe-
matige projectaanpak met aanpassingen naar aanleiding van            gankelijk. Hierdoor is hergebruik van de testscripts door andere
ervaringen. Vervolgens is het raadzaam om gebruik te maken           testers erg lastig.
van het CMMI level 2 volwassenheidsmodel om het proces trans-        Te weinig kruisbestuiving. Het gebrek aan voldoende testkennis
parant te houden. De kracht van dit model zit in transparantie en    bij ontwikkelaars en voldoende ontwikkelkennis bij de testers is
requirements tracking.                                               een vierde knelpunt. Hierdoor wordt kennis van ontwikkelaars te
                                                                     weinig gebruikt bij het maken van testscripts en worden test-
Evaluatie                                                            scripts van opgeleverde incrementen niet gebruikt tijdens de ont-
Uit de evaluatie van het testproces van een datawarehouse            wikkelfase voor controledoeleinden.
kwam een aantal verbeterpunten naar voren. Deze verbeterpun-         Onvolledige testbasis. In de evaluatie is ook de testbasis nader
ten zitten duidelijk niet in de kwaliteit of de nauwkeurigheid van   bekeken. In deze testbasis ontbreekt het eigenlijk veelal aan
het opgeleverde datawarehouse, maar hangen nauw samen met            technische ontwerpen. De kwaliteit van de onderdelen die wel
de gevolgen van de groei van een datawarehouse en de hoeveel-        aanwezig zijn, zoals requirements, functioneel ontwerpen en
heid extra tijd die daarbij komt kijken.                             bouwconventies, is erg hoog. De borging van de requirements
Complexe controles. Het eerste knelpunt waarmee de onderzoe-         en de functioneel ontwerpen binnen de test kunnen echter wel
kers geconfronteerd werden was dat de voorbereiding van een          verbeterd worden.



36                                          Database Magazine – Nummer 5 – september 2010
te worden doorgevoerd. Naast brainstormsessies waarin ontwer-
   Voorbereiding         Specificatie           Uitvoering        Afronding
                                                                             pers een overall functioneel ontwerp in grote lijnen opstellen,
                                  Beheer                                     zijn er plenaire reviews van functioneel ontwerpen per dataware-
                                                                             house increment met ontwikkelaars, testers, beheer en de busi-
                                       B
                                                                             ness nodig om het ontwerp op alle aspecten te beoordelen.
                                                                             Hierbij wordt gebruik gemaakt van use cases.
             P       V             S             U           A
                                                                             De functioneel ontwerpdocumentatie dient zo opgezet te zijn dat
                                                                             deze een ingang heeft per datawarehouse increment voor pro-
                                           I
                                                                             jectdoeleinden, plus een ingang voor het overall datawarehouse
                                                                             functioneel ontwerp voor beheerdoeleinden. Ten behoeve van
  Planning                        Inrichting en beheer infrastructuur
                                                                             transparantie kunnen er verwijzingen (CMMI compliant) in de
Afbeelding 1: De TMap fasen in een testproces.                               functioneel ontwerpen worden opgenomen naar op te lossen
                                                                             requirements. Daarnaast moeten er ten behoeve van de onder-
Onvolledige testsets. Het zesde en laatste struikelblok is tijd. Door        steuning bij testdefinities beschrijvingen van functionele contro-
de werkdruk is het moeilijk om de bij het project behorende test-            letellingen in de functioneel ontwerpen worden opgenomen.
set actueel te houden. Verder is gekeken waar tijdwinst te beha-             Door gebruik te maken van templates ontstaat er een eenduidige
len is. Zo is geconstateerd dat in het project bevindingen in de             manier om de functionele ontwerpen ook daadwerkelijk vast te
opgeleverde datastructuren meer werk en vertragingen in door-                leggen. Door deze maatregelen zal de kwaliteit van de testdefini-
looptijd tot gevolg hebben dan bevindingen in de ETL-processen.              ties en de testscripts omhoog gaan en neemt de doorlooptijd van
Denk bijvoorbeeld aan het ontbreken van verplicht stellen van                het maken van testdefinities af. De verbeteringen zijn daarnaast
een veld in een datastructuur. Deze zijn snel te herstellen, maar            leuk om uit te voeren, zodat ze de betrokkenheid en samenwer-
hebben een grote impact op de doorlooptijd van het testproces,               king van alle deelnemers verhogen. En passant zorgen ze ook
doordat hierbij de testset in de testomgeving vaak opnieuw                   nog voor een beter acceptatie.
opgebouwd moet worden.
                                                                             Unittest
De evaluatie biedt voldoende informatie om tot een overzicht te              Met in het achterhoofd de filosofie ‘Hoe hoger de kwaliteit van
komen met de belangrijkste voorwaarden voor het ideale test-                 de input in het testproces des te hoger is de kwaliteit van de out-
proces, namelijk:                                                            put uit het testproces’ hebben de onderzoekers ook gekeken
– Kwaliteitoptimalisatie van zowel de ontwikkelingsfase als de               naar de verbetering van de unittest. Bij deze test is met speciale
  testfase;                                                                  aandacht gekeken naar de correctheid en compleetheid ten aan-
– Reduceren van het aantal bevindingen door de kwaliteit van                 zien van datastructuren en bouwconventies. Door zo compleet en
  de testbasis te verhogen (requirements en ontwerpen);                      correct mogelijk te werken worden fouten in de ontwikkelings-
– Meer aandacht besteden aan unittest en daarin strenger con-                fase eerder geconstateerd en opgepakt, wat leidt tot een vermin-
  troleren op bouwconventies;                                                dering van het aantal bevindingen in de systeemtest.
– Verkorten van de testdoorlooptijd voor een opgeleverd data-                Voorbeelden van activiteiten waarmee veel tijdwinst te behalen
  warehouse increment (inclusief regressietest) zonder de eerder             is, zijn: het zorgen voor correcte naamgeving van objecten en de
  genoemde kwaliteit geweld aan te doen;
– Verhogen van de transparantie van het testproces door de uit-
  gevoerde testen en testresultaten eenduidig vast te leggen;                    Lagen in datawarehouse
– Laagdrempelige overdracht naar de beheerorganisatie;
– Zoveel mogelijk automatiseren van de testuitvoering en test-                   Een datawarehouse bestaat uit een aantal datamarts die incremen-
  resultaatopslag.                                                               teel ontworpen en opgeleverd worden. De datawarehouse architec-
Om tot het ideale testproces voor datawarehouses te komen stel-                  tuur bestaat uit drie lagen: een staging area, een datawarehouse area
len we een aantal punten ter verbetering van het testproces voor.                met historie tijdstroken en een datamarts area (ook wel informatie
Deze voorstellen hebben betrekking op de testbasis en unittests,                 area genoemd). Per laag wordt de invulling van de verschillende
en geven een voorzet voor de verbetering van de systeemtest                      functionaliteiten beschreven. In de stage area laag kunnen gegevens
(testapplicatie) en Functionele Acceptatie Test (reviews). De                    uit interne en externe bronnen worden ontvangen. De dataware-
acties zullen volgens ons leiden tot een algehele kwaliteitsverbe-               house area is bedoeld om gegevens voor lagere tijd vast te houden.
tering van het proces. Een plan van aanpak volgt.                                Het kan gezien worden als het geheugen voor lange termijn . De
                                                                                 informatie area laag is bedoeld om kennisintensieve processen van
Verbeteren testbasis                                                             de organisatie te ondersteunen. De representatie van data in deze
Om tot verhoging van de kwaliteit van de requirements en de                      laag is begrijpelijk voor eindgebruikers.
functioneel ontwerpen te komen, dient een aantal verbeteringen



                                                     Database Magazine – Nummer 5 – september 2010                                                       37
DWH Test Processen Niveau 1                                                                                KPI’s
                                                                                                 Systeemtest rapportage
                                                                                                 Acceptatietest rapportage
     Requirements                                                                                Beheer rapportage
     - Kwaliteitsslag
     - Doorlooptijd verkorten                                                                    Test meta data
     - Beheerinzicht verbeteren
     - Transparantie                                                                             3 tabellen -
     - Laagdrempelige overdracht                                                                 Test_soort (TST)                                 Controleresultaten
                                                                  Testresultaten
     - Automatiseren                                                                             Test_onderwerp (TOP)
     - Eenduidige vastlegging test(resultaten)                                                   Test_resultaat (TRT)

                                                      Unit                         Systeem                                                 Acceptatie                  Beheer
                                                      Test                                     Testresultaten           Testresultaten
                                                                                     Test                                                     Test                     proces


                                                   TO                                               FO                        FO
                                                   Unittestplan              Systeemtestplan                                             Systeemtestplan               Controles
       DWH Project
     Project Increment                             Ontwikkelaar
            RFC                Requirements                                        Systeem                Informatie                       Acceptatie              Functioneel
                                                 Technisch Beheer                   Tester                  Analist                          Tester                 Beheerder
     Beheer Opdracht                                 SO-DWH

Afbeelding 2: Grafische weergave van het ideale testproces.


correcte implementatie van data-objecten. Goed uitvoeren van                          testresultaten (transparantie) en de hieruit te trekken lessen zul-
de unittest vereist discipline van de betrokkenen, ook onder                          len duidelijker naar voren komen. Door gebruik te maken van
grote tijdsdruk. De tijd die besteed wordt aan unittesten wordt                       herbruikbare rapporten op de test-metadata kunnen testrappor-
dubbel en dwars terugverdiend op de doorlooptijd van het                              tages bovendien sneller opgeleverd worden. Ten tweede maakt
systeemtesten. Een neveneffect is dat er meer aandacht is voor                        de inzet van een testapplicatie hergebruik van testscripts moge-
functionele testresultaten.                                                           lijk. Door de opgestelde testen of controles op te slaan in de
                                                                                      testapplicatie kunnen deze bij volgende opleveringen van data-
Verbeteringen systeemtest                                                             warehouse incrementen hergebruikt worden als onderdeel van
Het maken van een testapplicatie levert niet alleen voordelen                         een regressietest. Dit zorgt voor een betere garantie van de
voor het proces, het voegt ook een leuk element toe aan het                           betrouwbaarheid en de kwaliteit. Verder zal, met opgeslagen
proces als geheel. Als proef hebben de onderzoekers een klein                         testresultaten op zowel hoog als laag detailniveau, het voor
ontwerp gemaakt, waarna een ontwikkelaar de applicatie heeft                          zowel de testers als voor datawarehousebeheer duidelijk zijn hoe
gebouwd. Hierbij hebben de onderzoekers rekening gehouden                             de datawarehouseprocessen zich gedragen. De resultaten van de
met hergebruik van de al aanwezige SQL testscripts. Aangezien                         controletellingen geven dan inzicht in de groei van datamarts en
deze testscripts een verschillend aantal resultaatkolommen                            de aantallen van de aangeleverde brondata kunnen gevolgd
hadden, is gekozen voor een applicatie die een SQL statement                          worden.
afvuurt en het resultaat in verschillende resultaattabellen opslaat.
Deze resultaattabellen hebben met elkaar minstens één kolom                           Automatisering
gemeen. Ze moeten allemaal een ‘resultaat’ kolom met een                              De doorlooptijd van de systeemtest neemt van het hele testproces
waarde ‘OK’ of ‘NOK’ hebben. Dit is nodig om een overall test-                        de meeste tijd in beslag. Met een testapplicatie wordt het moge-
rapportage te kunnen maken.                                                           lijk gemaakt om een reeks testen automatisch uit te voeren. Zo
De testapplicatie bestaat verder uit een ‘onderwerp’ tabel met de                     kan bijvoorbeeld een stap als het testen van de datastructuren,
definitie van de uit te voeren test. Er is een ‘resultaat’ tabel met                  zoals de data-objectstructuur, de domeinen, foreign key relaties,
informatie over de uitgevoerde test inclusief SQL scripts en er                       automatisch worden uitgevoerd. Ook het testen van functionali-
zijn per test resultatentabellen die dynamisch bij de eerste uit-                     teit van de ETL-processen is met het bouwen van een testappli-
voering van een test aangemaakt worden. Er is een package die                         catie geautomatiseerd.
het afvuren van een SQL testscript mogelijk maakt en voor het                         Testers dienen er wel rekening mee te houden dat er een
opslaan van de resultaten zorgt. Een view op alle ‘resultaat’-                        inwerkperiode aan de systeemtest vastzit die de resultaten in
kolommen zorgt er voor dat er inzicht is in het resultaat van een                     het begin zal beïnvloeden. Bij goed ingewerkte testers kan de
batchverwerking. Bij de bevindingen geven de detailtabellen                           doorlooptijd verder verbeteren. Schematisch is het model van
van het testresultaat voldoende informatie om analyses mogelijk                       het besproken testproces weergegeven in afbeelding 2.
te maken. Door het testproces te ondersteunen met een testappli-
catie wordt er allereerst voor gezorgd dat testresultaten opgesla-                    Marianne Kompagne CBIP is DWH Architect bij Kadenza.
gen worden in de testapplicatie. Dit zorgt voor beter zichtbare                       Chun Bon Tse is DWH Ontwikkelaar bij Kadenza.



                                                 Database Magazine – Nummer 5 – september 2010                                                                                     39

Weitere ähnliche Inhalte

Ähnlich wie Datawarehouse testen van theorie naar praktijk

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
 
DevOps is geen scrum def
DevOps is geen scrum defDevOps is geen scrum def
DevOps is geen scrum defMyra Kievit
 
Dce flyer procesinnovatie_v2
Dce flyer procesinnovatie_v2Dce flyer procesinnovatie_v2
Dce flyer procesinnovatie_v2Arjen Visker MSc.
 
Meet de gezondheid van de opslag
Meet de gezondheid van de opslagMeet de gezondheid van de opslag
Meet de gezondheid van de opslagDekkinga, Ewout
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatiemenfey
 
Kader & Belang van testen - dS+V Gemeente Rotterdam
Kader & Belang van testen - dS+V Gemeente RotterdamKader & Belang van testen - dS+V Gemeente Rotterdam
Kader & Belang van testen - dS+V Gemeente RotterdamEwald Roodenrijs
 
Valhelm Verplicht (1.8)
Valhelm Verplicht (1.8)Valhelm Verplicht (1.8)
Valhelm Verplicht (1.8)Niemeijer
 
Presentatie Gemeente Terneuzen samenwerking met IBM ~1841203
Presentatie Gemeente Terneuzen samenwerking met IBM  ~1841203Presentatie Gemeente Terneuzen samenwerking met IBM  ~1841203
Presentatie Gemeente Terneuzen samenwerking met IBM ~1841203RuudKonig
 
Nieuwe architectuur Studielink: de realisatie - Désirée Schipper, Floor Veld ...
Nieuwe architectuur Studielink: de realisatie - Désirée Schipper, Floor Veld ...Nieuwe architectuur Studielink: de realisatie - Désirée Schipper, Floor Veld ...
Nieuwe architectuur Studielink: de realisatie - Désirée Schipper, Floor Veld ...HOlink
 
Open Line Smart Back Up
Open Line Smart Back UpOpen Line Smart Back Up
Open Line Smart Back UpJo Verstappen
 
Grip Op Applicatie Management Computable (14 November 2006)
Grip Op Applicatie Management Computable (14 November 2006)Grip Op Applicatie Management Computable (14 November 2006)
Grip Op Applicatie Management Computable (14 November 2006)Edwin Groenewegen
 

Ähnlich wie Datawarehouse testen van theorie naar praktijk (20)

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
 
DevOps is geen scrum def
DevOps is geen scrum defDevOps is geen scrum def
DevOps is geen scrum def
 
Begroten van een ICT project
Begroten van een ICT projectBegroten van een ICT project
Begroten van een ICT project
 
Integratiefase
IntegratiefaseIntegratiefase
Integratiefase
 
Integratiefase
IntegratiefaseIntegratiefase
Integratiefase
 
Dce flyer procesinnovatie_v2
Dce flyer procesinnovatie_v2Dce flyer procesinnovatie_v2
Dce flyer procesinnovatie_v2
 
Meet de gezondheid van de opslag
Meet de gezondheid van de opslagMeet de gezondheid van de opslag
Meet de gezondheid van de opslag
 
flxCore projectmethodiek
flxCore projectmethodiekflxCore projectmethodiek
flxCore projectmethodiek
 
Sdb Presentatie
Sdb PresentatieSdb Presentatie
Sdb Presentatie
 
Kader & Belang van testen - dS+V Gemeente Rotterdam
Kader & Belang van testen - dS+V Gemeente RotterdamKader & Belang van testen - dS+V Gemeente Rotterdam
Kader & Belang van testen - dS+V Gemeente Rotterdam
 
H6 Realisatiefase
H6 RealisatiefaseH6 Realisatiefase
H6 Realisatiefase
 
Valhelm Verplicht (1.8)
Valhelm Verplicht (1.8)Valhelm Verplicht (1.8)
Valhelm Verplicht (1.8)
 
Perfect Patch
Perfect PatchPerfect Patch
Perfect Patch
 
Presentatie Gemeente Terneuzen samenwerking met IBM ~1841203
Presentatie Gemeente Terneuzen samenwerking met IBM  ~1841203Presentatie Gemeente Terneuzen samenwerking met IBM  ~1841203
Presentatie Gemeente Terneuzen samenwerking met IBM ~1841203
 
Asfalt &toepassing
Asfalt &toepassingAsfalt &toepassing
Asfalt &toepassing
 
demo123
demo123demo123
demo123
 
Nieuwe architectuur Studielink: de realisatie - Désirée Schipper, Floor Veld ...
Nieuwe architectuur Studielink: de realisatie - Désirée Schipper, Floor Veld ...Nieuwe architectuur Studielink: de realisatie - Désirée Schipper, Floor Veld ...
Nieuwe architectuur Studielink: de realisatie - Désirée Schipper, Floor Veld ...
 
Open Line Smart Back Up
Open Line Smart Back UpOpen Line Smart Back Up
Open Line Smart Back Up
 
Grip Op Applicatie Management Computable (14 November 2006)
Grip Op Applicatie Management Computable (14 November 2006)Grip Op Applicatie Management Computable (14 November 2006)
Grip Op Applicatie Management Computable (14 November 2006)
 
Skelta Bedrijfsbrochure
Skelta BedrijfsbrochureSkelta Bedrijfsbrochure
Skelta Bedrijfsbrochure
 

Datawarehouse testen van theorie naar praktijk

  • 1. Thema Business Intelligence Samenwerken en automatiseren versnelt testfase Datawarehouse testen: van theorie naar praktijk Marianne Kompagne en Chun Bon Tse Voor het ontwerpen van een datawarehouse geldt vaak het advies “denk groot, maar begin klein”. Voor het testproces van een datawarehouse geldt eigenlijk hetzelfde. Een testproces moet immers mee kunnen groeien met de groei van een datawarehouse. Tijdens deze groei is het belangrijk om het testproces voort- systeemtest van een datawarehouse increment te veel tijd in durend te evalueren en te verbeteren. De auteurs van dit artikel beslag neemt. Het samenstellen van controle query’s in het bij- voerden een onderzoek uit naar de mogelijkheden om het test- zonder is erg tijdrovend. De complexiteit van de controles neemt proces van een datawarehouse te verbeteren. Dit artikel is een bovendien toe naarmate er aan de geïntegreerde datawarehouse- verslag van de zoektocht en bevindingen, met daarin vooral aan- omgeving voortdurend incrementen worden aangebouwd. dacht voor een verbetering van de testbasis door samenwerking Toename doorlooptijd regressietest. Tweede struikelblok was dat van belanghebbenden, een transparant testproces, een kortere door de groei van het aantal incrementen de doorlooptijd van de testdoorlooptijd en een kwalitatief hoge testoutput. regressietest toenam. De combinatie van incrementele opleverin- Het testproces krijgt tijdens de groei van het datawarehouse te gen aan een geïntegreerde datawarehouse area-laag en een maken met meer testers, een beheerafdeling inrichting en incre- datamarts-laag zorgt ervoor dat bestaande ETL-processen bij een mentele opleveringen van het datawarehouse. Dit zijn allemaal nieuw increment gewijzigd kunnen zijn, waardoor er weer zaken die het testproces zodanig kunnen beïnvloeden dat er ver- opnieuw een regressietest uitgevoerd moet worden. traging of verstoring optreedt. Gebrek samenhang tussen oplevering en testscripts. Derde punt is Bij het opzetten van een testproces wordt veelal gebruik dat er geen goede correlatie is tussen opleveringen en testscripts. gemaakt van een tweetal erkende standaarden. Voor het testen Hierdoor is het voor anderen dan de tester niet inzichtelijk welke maakt men vaak gebruik van TMap (zie afbeelding 1). Het pro- versie van een testscript een bepaald testresultaat heeft opgele- ject management wordt meestal ingericht volgens de richtlijnen verd en op welke oplevering dit testresultaat betrekking heeft. van Prince II. Deze standaard richt zich specifiek op de proces- Bovendien zijn de testscripts en testresultaten niet centraal toe- matige projectaanpak met aanpassingen naar aanleiding van gankelijk. Hierdoor is hergebruik van de testscripts door andere ervaringen. Vervolgens is het raadzaam om gebruik te maken testers erg lastig. van het CMMI level 2 volwassenheidsmodel om het proces trans- Te weinig kruisbestuiving. Het gebrek aan voldoende testkennis parant te houden. De kracht van dit model zit in transparantie en bij ontwikkelaars en voldoende ontwikkelkennis bij de testers is requirements tracking. een vierde knelpunt. Hierdoor wordt kennis van ontwikkelaars te weinig gebruikt bij het maken van testscripts en worden test- Evaluatie scripts van opgeleverde incrementen niet gebruikt tijdens de ont- Uit de evaluatie van het testproces van een datawarehouse wikkelfase voor controledoeleinden. kwam een aantal verbeterpunten naar voren. Deze verbeterpun- Onvolledige testbasis. In de evaluatie is ook de testbasis nader ten zitten duidelijk niet in de kwaliteit of de nauwkeurigheid van bekeken. In deze testbasis ontbreekt het eigenlijk veelal aan het opgeleverde datawarehouse, maar hangen nauw samen met technische ontwerpen. De kwaliteit van de onderdelen die wel de gevolgen van de groei van een datawarehouse en de hoeveel- aanwezig zijn, zoals requirements, functioneel ontwerpen en heid extra tijd die daarbij komt kijken. bouwconventies, is erg hoog. De borging van de requirements Complexe controles. Het eerste knelpunt waarmee de onderzoe- en de functioneel ontwerpen binnen de test kunnen echter wel kers geconfronteerd werden was dat de voorbereiding van een verbeterd worden. 36 Database Magazine – Nummer 5 – september 2010
  • 2. te worden doorgevoerd. Naast brainstormsessies waarin ontwer- Voorbereiding Specificatie Uitvoering Afronding pers een overall functioneel ontwerp in grote lijnen opstellen, Beheer zijn er plenaire reviews van functioneel ontwerpen per dataware- house increment met ontwikkelaars, testers, beheer en de busi- B ness nodig om het ontwerp op alle aspecten te beoordelen. Hierbij wordt gebruik gemaakt van use cases. P V S U A De functioneel ontwerpdocumentatie dient zo opgezet te zijn dat deze een ingang heeft per datawarehouse increment voor pro- I jectdoeleinden, plus een ingang voor het overall datawarehouse functioneel ontwerp voor beheerdoeleinden. Ten behoeve van Planning Inrichting en beheer infrastructuur transparantie kunnen er verwijzingen (CMMI compliant) in de Afbeelding 1: De TMap fasen in een testproces. functioneel ontwerpen worden opgenomen naar op te lossen requirements. Daarnaast moeten er ten behoeve van de onder- Onvolledige testsets. Het zesde en laatste struikelblok is tijd. Door steuning bij testdefinities beschrijvingen van functionele contro- de werkdruk is het moeilijk om de bij het project behorende test- letellingen in de functioneel ontwerpen worden opgenomen. set actueel te houden. Verder is gekeken waar tijdwinst te beha- Door gebruik te maken van templates ontstaat er een eenduidige len is. Zo is geconstateerd dat in het project bevindingen in de manier om de functionele ontwerpen ook daadwerkelijk vast te opgeleverde datastructuren meer werk en vertragingen in door- leggen. Door deze maatregelen zal de kwaliteit van de testdefini- looptijd tot gevolg hebben dan bevindingen in de ETL-processen. ties en de testscripts omhoog gaan en neemt de doorlooptijd van Denk bijvoorbeeld aan het ontbreken van verplicht stellen van het maken van testdefinities af. De verbeteringen zijn daarnaast een veld in een datastructuur. Deze zijn snel te herstellen, maar leuk om uit te voeren, zodat ze de betrokkenheid en samenwer- hebben een grote impact op de doorlooptijd van het testproces, king van alle deelnemers verhogen. En passant zorgen ze ook doordat hierbij de testset in de testomgeving vaak opnieuw nog voor een beter acceptatie. opgebouwd moet worden. Unittest De evaluatie biedt voldoende informatie om tot een overzicht te Met in het achterhoofd de filosofie ‘Hoe hoger de kwaliteit van komen met de belangrijkste voorwaarden voor het ideale test- de input in het testproces des te hoger is de kwaliteit van de out- proces, namelijk: put uit het testproces’ hebben de onderzoekers ook gekeken – Kwaliteitoptimalisatie van zowel de ontwikkelingsfase als de naar de verbetering van de unittest. Bij deze test is met speciale testfase; aandacht gekeken naar de correctheid en compleetheid ten aan- – Reduceren van het aantal bevindingen door de kwaliteit van zien van datastructuren en bouwconventies. Door zo compleet en de testbasis te verhogen (requirements en ontwerpen); correct mogelijk te werken worden fouten in de ontwikkelings- – Meer aandacht besteden aan unittest en daarin strenger con- fase eerder geconstateerd en opgepakt, wat leidt tot een vermin- troleren op bouwconventies; dering van het aantal bevindingen in de systeemtest. – Verkorten van de testdoorlooptijd voor een opgeleverd data- Voorbeelden van activiteiten waarmee veel tijdwinst te behalen warehouse increment (inclusief regressietest) zonder de eerder is, zijn: het zorgen voor correcte naamgeving van objecten en de genoemde kwaliteit geweld aan te doen; – Verhogen van de transparantie van het testproces door de uit- gevoerde testen en testresultaten eenduidig vast te leggen; Lagen in datawarehouse – Laagdrempelige overdracht naar de beheerorganisatie; – Zoveel mogelijk automatiseren van de testuitvoering en test- Een datawarehouse bestaat uit een aantal datamarts die incremen- resultaatopslag. teel ontworpen en opgeleverd worden. De datawarehouse architec- Om tot het ideale testproces voor datawarehouses te komen stel- tuur bestaat uit drie lagen: een staging area, een datawarehouse area len we een aantal punten ter verbetering van het testproces voor. met historie tijdstroken en een datamarts area (ook wel informatie Deze voorstellen hebben betrekking op de testbasis en unittests, area genoemd). Per laag wordt de invulling van de verschillende en geven een voorzet voor de verbetering van de systeemtest functionaliteiten beschreven. In de stage area laag kunnen gegevens (testapplicatie) en Functionele Acceptatie Test (reviews). De uit interne en externe bronnen worden ontvangen. De dataware- acties zullen volgens ons leiden tot een algehele kwaliteitsverbe- house area is bedoeld om gegevens voor lagere tijd vast te houden. tering van het proces. Een plan van aanpak volgt. Het kan gezien worden als het geheugen voor lange termijn . De informatie area laag is bedoeld om kennisintensieve processen van Verbeteren testbasis de organisatie te ondersteunen. De representatie van data in deze Om tot verhoging van de kwaliteit van de requirements en de laag is begrijpelijk voor eindgebruikers. functioneel ontwerpen te komen, dient een aantal verbeteringen Database Magazine – Nummer 5 – september 2010 37
  • 3. DWH Test Processen Niveau 1 KPI’s Systeemtest rapportage Acceptatietest rapportage Requirements Beheer rapportage - Kwaliteitsslag - Doorlooptijd verkorten Test meta data - Beheerinzicht verbeteren - Transparantie 3 tabellen - - Laagdrempelige overdracht Test_soort (TST) Controleresultaten Testresultaten - Automatiseren Test_onderwerp (TOP) - Eenduidige vastlegging test(resultaten) Test_resultaat (TRT) Unit Systeem Acceptatie Beheer Test Testresultaten Testresultaten Test Test proces TO FO FO Unittestplan Systeemtestplan Systeemtestplan Controles DWH Project Project Increment Ontwikkelaar RFC Requirements Systeem Informatie Acceptatie Functioneel Technisch Beheer Tester Analist Tester Beheerder Beheer Opdracht SO-DWH Afbeelding 2: Grafische weergave van het ideale testproces. correcte implementatie van data-objecten. Goed uitvoeren van testresultaten (transparantie) en de hieruit te trekken lessen zul- de unittest vereist discipline van de betrokkenen, ook onder len duidelijker naar voren komen. Door gebruik te maken van grote tijdsdruk. De tijd die besteed wordt aan unittesten wordt herbruikbare rapporten op de test-metadata kunnen testrappor- dubbel en dwars terugverdiend op de doorlooptijd van het tages bovendien sneller opgeleverd worden. Ten tweede maakt systeemtesten. Een neveneffect is dat er meer aandacht is voor de inzet van een testapplicatie hergebruik van testscripts moge- functionele testresultaten. lijk. Door de opgestelde testen of controles op te slaan in de testapplicatie kunnen deze bij volgende opleveringen van data- Verbeteringen systeemtest warehouse incrementen hergebruikt worden als onderdeel van Het maken van een testapplicatie levert niet alleen voordelen een regressietest. Dit zorgt voor een betere garantie van de voor het proces, het voegt ook een leuk element toe aan het betrouwbaarheid en de kwaliteit. Verder zal, met opgeslagen proces als geheel. Als proef hebben de onderzoekers een klein testresultaten op zowel hoog als laag detailniveau, het voor ontwerp gemaakt, waarna een ontwikkelaar de applicatie heeft zowel de testers als voor datawarehousebeheer duidelijk zijn hoe gebouwd. Hierbij hebben de onderzoekers rekening gehouden de datawarehouseprocessen zich gedragen. De resultaten van de met hergebruik van de al aanwezige SQL testscripts. Aangezien controletellingen geven dan inzicht in de groei van datamarts en deze testscripts een verschillend aantal resultaatkolommen de aantallen van de aangeleverde brondata kunnen gevolgd hadden, is gekozen voor een applicatie die een SQL statement worden. afvuurt en het resultaat in verschillende resultaattabellen opslaat. Deze resultaattabellen hebben met elkaar minstens één kolom Automatisering gemeen. Ze moeten allemaal een ‘resultaat’ kolom met een De doorlooptijd van de systeemtest neemt van het hele testproces waarde ‘OK’ of ‘NOK’ hebben. Dit is nodig om een overall test- de meeste tijd in beslag. Met een testapplicatie wordt het moge- rapportage te kunnen maken. lijk gemaakt om een reeks testen automatisch uit te voeren. Zo De testapplicatie bestaat verder uit een ‘onderwerp’ tabel met de kan bijvoorbeeld een stap als het testen van de datastructuren, definitie van de uit te voeren test. Er is een ‘resultaat’ tabel met zoals de data-objectstructuur, de domeinen, foreign key relaties, informatie over de uitgevoerde test inclusief SQL scripts en er automatisch worden uitgevoerd. Ook het testen van functionali- zijn per test resultatentabellen die dynamisch bij de eerste uit- teit van de ETL-processen is met het bouwen van een testappli- voering van een test aangemaakt worden. Er is een package die catie geautomatiseerd. het afvuren van een SQL testscript mogelijk maakt en voor het Testers dienen er wel rekening mee te houden dat er een opslaan van de resultaten zorgt. Een view op alle ‘resultaat’- inwerkperiode aan de systeemtest vastzit die de resultaten in kolommen zorgt er voor dat er inzicht is in het resultaat van een het begin zal beïnvloeden. Bij goed ingewerkte testers kan de batchverwerking. Bij de bevindingen geven de detailtabellen doorlooptijd verder verbeteren. Schematisch is het model van van het testresultaat voldoende informatie om analyses mogelijk het besproken testproces weergegeven in afbeelding 2. te maken. Door het testproces te ondersteunen met een testappli- catie wordt er allereerst voor gezorgd dat testresultaten opgesla- Marianne Kompagne CBIP is DWH Architect bij Kadenza. gen worden in de testapplicatie. Dit zorgt voor beter zichtbare Chun Bon Tse is DWH Ontwikkelaar bij Kadenza. Database Magazine – Nummer 5 – september 2010 39