Wat is test data?

Laten we het hebben over test data; er zijn enkele belangrijke vaardigheden die iedereen zou moeten leren. Zorgorganisaties, verzekeringsmaatschappijen, financiële instellingen en overheidsinstellingen, bedrijfsorganisaties; allemaal hebben ze data nodig om de kwaliteit van software en applicaties te ontwikkelen en te testen. Maar in de meeste gevallen bestaat hun (productie)data uit persoonlijke en privacygevoelige informatie en zijn de databases vaak enorm groot en daardoor onhandig om te testen. Dat is waar testdata om de hoek komen kijken. Maar wat is het en hoe komt het tot stand?

De definitie van test data

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 test data

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 test data

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.

Download Ebook

The Power of Test Data Management

ebook the power of test data preview 1

Ebook - The Power of Test Data Management

"*" geeft vereiste velden aan

By submitting this form you agree to DATPROF's Privacy Policy.

FAQ

Wat is de definitie van test data?

Kort: “Gegevens gebruikt voor testdoeleinden.” Een iets meer gedetailleerde beschrijving wordt gegeven door de International Software Testing Qualifications Board (ISTQB): “Gegevens gemaakt of geselecteerd om te voldoen aan de uitvoeringsvoorwaarden en invoer om een of meer testgevallen uit te voeren.”

Hoe wordt test data gemaakt?

Gegevens kunnen 1) handmatig worden aangemaakt, 2) door tools voor het genereren van data te gebruiken, of 3) ze kunnen worden opgehaald uit een bestaande productieomgeving.

Wat doet de ideale test data?

De ideale test data identificeert alle toepassingsfouten met de kleinst mogelijke dataset.