De rol van een BI-tester

Menigmaal wordt de vraag gesteld wat voor werk ik doe en wat mijn dagelijkse werkzaamheden zijn. Als ik dan vertel dat ik een BI Tester (Business Intelligence Tester) ben, luidt de volgende vraag: “Wat is dan de rol van een BI Tester?” 

Wel, ik zal jullie meenemen naar een dagje Business Intelligence Testing.

Maar eerst wat is Business Intelligence nou precies? 

Eigenlijk is Business Intelligence, hierna BI, het verzamelen van gegevens en het omzetten van deze gegevens in bruikbare informatie. Deze informatie kan op een intelligente manier gebruikt worden om bijvoorbeeld in te spelen op trends of voor het maken van beslissingen op management niveau.

De gegevens worden opgehaald uit één of meerdere bronsystemen en worden middels een proces toegevoegd in een centrale opslagplaats, het Datawarehouse (DWH).

Een Datawarehouse helpt o.a. bij:  

  • het genereren van rapportages om complexe analyses op grote hoeveelheid data uit te voeren; 
  • het vastleggen van momentopnames en het vastleggen van historische data; 
  • het ontlasten van een productiedatabase en het optimaliseren van performanceproblemen.

Het proces dat data ophaalt uit bronsystemen, de data transformeert en weer laadt in het DWH voor o.a. rapportages heet ETL (Extract, Transform en Load). 

Als BI Tester ben je dagelijks bezig met het testen van het ETL-proces. De focus ligt voornamelijk op de data die door het gehele proces beweegt om uiteindelijk één of meerdere rapportages te genereren. 

Als voorbeeld van een BI-oplossing zal ik een situatie schetsen van een DataVault omgeving. DataVault is een datamodelleringsmethode en bestaat uit een divers aantal lagen (layers), namelijk: Staging, RawVault, RuleVault, GBV (Generic Business View) en soms ook SBV (Specific Business View). 

Omdat het belangrijk is om de juiste data aan te leveren voor de rapportages is het raadzaam om iedere laag afzonderlijk te testen (Unit Testen) en het proces in zijn geheel te testen (Integratie Testen). 

Bij het Unit Testen van de Staging-layer wordt als voorbeeld een Excel-bestand met NAW-gegevens ingeladen, dat bruikbaar is voor de rapportage. De Unit Test zal pas succesvol zijn als het volledige bestand is ingeladen en de Staging tabel in het DWH exact hetzelfde aantal records bevat als in het Excel-bestand. De Staging is een exacte kopie van het Excel-bestand. 

Als de data eenmaal is ingeladen in de Staging is het mogelijk om de RawVault te testen. De Staging is namelijk de bron voor de RawVault. In de RawVault worden o.a. sleutelvelden toegevoegd aan ieder record. Een sleutelveld (ook wel bekend als Primary Key) wordt toegevoegd zodat ieder record uniek is. Meestal is dit een automatisch opeenvolgende nummering. Een Unit Test voor de RawVault is pas succesvol als deze exact hetzelfde aantal records bevat als in de Staging tabel, inclusief het ieder record. 

Nadat alle records in de RawVault uniek zijn gemaakt middels sleutelvelden, kan de RawVault gebruikt worden als bron voor het testen van de RuleVault, in de RuleVault worden verschillende Business Rules toegepast. Deze Business Rules zorgen ervoor dat de data de nodige transformaties ondergaat, zodat deze goed te begrijpen is voor diegene waar de rapportages voor worden gegenereerd. Het meeste testwerk zit in deze laag omdat het noodzakelijk is om iedere Business Rule afzonderlijk van elkaar te Unit Testen. 

Als de RuleVault eenmaal getest is, kan de GBV getest worden. Bij het Unit Testen van de GBV (het generieke rapport) kunnen zowel de RawVault als RuleVault als bron dienen voor het vullen van de GBV tabel (brontabel voor het rapport). Het is belangrijk bij het testen van deze tabel, dat de data exact overeenkomt met de verwachtingen (requirements) van de gebruiker voor het rapport. Deze requirements staan vaak geschreven in analyse documenten. 

Soms zijn er specifieke rapporten nodig voor eindgebruikers, dit betreft de SBV. Ook deze rapporten dienen nauwkeurig getest te worden middels een Unit Test. De verwachtingen van deze rapporten zullen tevens terug te vinden zijn in analyse documenten en moeten exact overeenkomen met de implementatie. 

Als alle Unit Tests succesvol zijn afgerond, is de volgende stap: Integratie Testen. Bij Integratie Testen verwacht de BI Tester dat de data vanuit de bronsystemen middels ETL correct wordt ingeladen in de Staging, RawVault, RuleVault (indien van toepassing), GBV en eventueel in de SBV. De BI tester zal controles uitvoeren op de rapportages en zal uiteindelijk concluderen of de implementatie van het ETL-proces en de Datawarehouse correct geïmplementeerd is. 

Al met al zijn bovengenoemde processen in een notendop uitgelegd maar schetsen ze wel de werkzaamheden van een BI Tester. Afhankelijk van de omvang van de BI-oplossing zal de BI tester deze tests dagelijks uitvoeren gedurende het project. 

Iedere BI-oplossing is verschillend en ieder project is een uitdaging!