Wat is testdata?

Zorginstellingen, verzekeringsmaatschappijen, financiële instellingen, overheidsinstellingen en bedrijfsorganisaties; ze hebben allemaal testdata nodig om de kwaliteit van software te ontwikkelen en te testen. Veel organisaties gebruiken een kopie van hun productiedata om te testen. Maar in de meeste gevallen bestaan hun (productie) data uit persoonlijke en gevoelige informatie en zijn de databases vaak omvangrijk en daarom onhandig om te testen.

Dus in deze gevallen is testdata nodig, maar wat is testdata?

De definitie van testdata

Data die gebruikt wordt voor testwerkzaamheden, dat is de korte definitie van testdata. Een iets uitgebreidere beschrijving wordt gegeven door de International Software Testing Qualifications Board (ISTQB): “Gegevens die aanwezig zijn (bijvoorbeeld in een database) voordat een test wordt uitgevoerd en die een component of systeem onder test beïnvloeden of daardoor worden beïnvloed. Testdata omvat alle gegevens die in een informatiesysteem nodig zijn om dit systeem succesvol te kunnen testen en is als gevolg een van de steunpilaren van een succesvol testtraject.”

Er is veel aandacht voor testmethodes, maar hoe om te gaan met testdata komt minder vaak aan de orde. Dat is eigenlijk heel vreemd, want softwareontwikkeling en testen valt of staat met zorgvuldig voorbereide testdata. Om een softwaretoepassing effectief te testen, heb je goede en representatieve testdata nodig. De ideale testgegevens identificeren alle applicatiefouten met een zo klein mogelijke gegevensset. Kortom, je hebt een relatief kleine (test) dataset nodig die realistisch, valide en veelzijdig is.

Het maken van testdata

Testgegevens kunnen 1) handmatig worden aangemaakt, 2) met tools voor het genereren van testgegevens of 3) het kan worden opgehaald uit de bestaande productieomgeving. Een testdataset kan bestaan uit synthetische (nep) gegevens, maar bij voorkeur bestaat deze uit representatieve (echte) gegevens. Dit laatste zorgt voor de beste softwarekwaliteit. En dat is wat we uiteindelijk allemaal willen.

Dus pas op met dummy-data, bijvoorbeeld gegenereerd door een random name generator of een creditcard number generator. Deze testdatageneratoren bieden je voorbeelddata die geen uitdaging vormen voor de software die wordt getest.

“De ideale testgegevens identificeren alle applicatiefouten met een zo klein mogelijke dataset.”

Voorbereiding van testdata

De voorbereiding van testdata is een zeer tijdrovende fase in het testen van software. IBM’s onderzoek in 2016 toonde aan dat 30-60% van de tijd van de tester wordt besteed aan het doorzoeken, onderhouden en genereren van testgegevens. De belangrijkste redenen hiervoor zijn:

  1. Testteams hebben geen toegang tot de gegevensbronnen
  2. Vertraging bij het geven van productiegegevens aan de testers door ontwikkelaars
  3. Grote hoeveelheden data
  4. Gegevensafhankelijkheden / combinaties
  5. Lange verversingstijden

 

1. Testteams hebben geen toegang tot de gegevensbronnen
Vooral nu met de GDPR (of AVG) is de toegang tot databronnen beperkt. Slechts enkele medewerkers hebben toegang tot de databronnen. Het voordeel hiervan is dat de kans op een datalek wordt verkleind. Het nadeel is dat testteams afhankelijk zijn van anderen en dat lange wachttijden ontstaan.

2. Vertraging bij het geven van productiegegevens aan de testers door ontwikkelaars
Er wordt niet overal agile gewerkt. In veel organisaties werken meerdere teams aan dezelfde databases. Naast dat het conflicten veroorzaakt, verandert de dataset vaak en bevat het niet de juiste (up-to-date) data wanneer het volgende team aan de beurt is.

3. Grote hoeveelheden data
Het compileren van testgegevens uit een productiedatabase is als het zoeken naar een speld in een hooiberg. Je hebt speciale gevallen nodig om goede tests uit te voeren en ze zijn moeilijk te vinden als je tientallen terabytes moet graven.

4. Gegevensafhankelijkheden / combinaties
De meeste gegevenswaarden zijn afhankelijk van andere gegevenswaarden om herkend te worden. Bij het voorbereiden van testdata maken deze afhankelijkheden het een stuk ingewikkelder en daarom tijdrovender.

5. Lange verversingstijden
De meeste testteams hebben niet de mogelijkheid om de testdata zelf te verversen. Dat betekent dat ze naar de DBA moeten gaan om een verversing aan te vragen. Sommige teams moeten dagen of zelfs weken wachten voordat deze verversing is voltooid. Sommige teams krijgen nooit een ververste testdataset.

Test data management

Omdat test data management complex en duur kan zijn, houden sommige organisaties vast aan oude gewoonten. De testteams moeten accepteren dat:

  • Testdata niet vaak (of nooit) wordt ververst;
  • Testdata niet alle problemen met de datakwaliteit in productie bevat;
  • Een hoog percentage bugs / fouten in test cases gerelateerd zijn aan data.

Dat is zonde en totaal onnodig omdat het niet ingewikkeld hoeft te zijn en testdatamanagement zichzelf terugbetaalt. Het bespaart je veel tijd en geld. Bovendien zorgt het voor goede tests en dus voor software van hoge kwaliteit.

De TDM oplossing

Bekijk hoe je je knelpunten in testdata kunt oplossen met automatisering van testdata! Maak een eenvoudig te gebruiken proces voor je testdatabehoeften.

Data Masking

DATPROF Privacy

Data Automation

DATPROF Runtime

Data Discovery

DATPROF Analyze