Test data management

Er is een steeds grotere behoefte in softwareontwikkeling om beter, sneller en goedkoper te zijn. Met de stijgende vraag van eindgebruikers en niet aflatende concurrentie, is het implementeren van een goede teststrategie van cruciaal belang. Een effectieve teststrategie omvat een reeks componenten, waaronder Test Data Management (TDM).

Test data management, of testdatabeheer, is een van de grote uitdagingen waarmee we worden geconfronteerd in softwareontwikkeling en QA. Het is belangrijk dat testgegevens goed beschikbaar zijn en gemakkelijk te vernieuwen zijn om de kwaliteit en uiteindelijk de time-to-market van je software te verbeteren. Een andere reden waarom TDM een uitdaging is, zijn wetgevingen zoals de AVG. Dus hoe beheer jij je testgegevens?

Wat is test data management?

Laten we eerst een uniform begrip van de term hebben: TDM is het creëren, beheren en leveren van realistische testgegevens voor niet-productieredenen, zoals training, testen, ontwikkeling of QA. Het zorgt ervoor dat de testteams testgegevens van de juiste kwaliteit krijgen in een geschikte hoeveelheid, in de juiste omgeving, in het juiste formaat en op het juiste moment. Met andere woorden:

“De juiste test data op de juiste plek op het juiste moment”

Waarom test data management?

Bijna elke ontwikkelaar is ervan overtuigd dat je elk nieuw product eerst moet testen om te weten of het aan de verwachtingen voldoet in plaats van risico nemen op het uitbrengen van instabiele software. Om die reden rijden testrijders eindeloos veel ronden rond nieuwe conceptcars. En op dezelfde manier proberen softwaretesters de nieuwste versies van nieuwe applicaties uit.

Om een ​​applicatie te laten werken, heeft deze brandstof nodig, net als een auto. Er wordt een applicatie gebouwd voor het verwerken van informatie, data. Geen data betekent geen verwerking. Dat betekent dat er behoefte is aan testdata: de brandstof van een applicatie in een testomgeving. Jaren geleden waren testgegevens beperkt tot een paar voorbeeldinvoerbestanden of een paar rijen gegevens in de database. Tegenwoordig zijn bedrijven afhankelijk van robuuste sets testdata met unieke combinaties die een hoge dekking bieden om het testen aan te sturen.

De aandacht voor testdata is echter verrassend laag, aangezien de tester de gegevens verzamelt die nodig zijn voor de uit te voeren testgevallen. De applicatie bevindt zich in een testomgeving en in die omgeving is data aanwezig, waardoor de tests kunnen worden uitgevoerd. Was het maar zo simpel als dat…

Om een ​​laatste vergelijking te maken met een auto; als je diesel in een benzineauto giet, kom je waarschijnlijk niet ver. Bovendien, als je niet weet dat je die specifieke fout hebt gemaakt, zal je waarschijnlijk uiteindelijk de motor uit elkaar halen in een poging om erachter te komen waarom het niet goed werkt, om er uiteindelijk achter te komen dat het te wijten was aan de verkeerde brandstof . Zo kan het ook gaan met testdata. Om het resultaat van een bepaalde test op juistheid te kunnen beoordelen, moet je er absoluut zeker van zijn dat de invoer die aan de aanvraag is gegeven geldig is.

Software test variabelen

Je kunt stellen dat testen een gecompliceerd geheel is aan de hand van drie variabelen

1) test object
2) ongeving
3) test data

Wil je het testproces soepel laten verlopen, dus dat je alleen mankementen ten aanzien van het testobject vindt, dan moet je beide andere variabelen onder controle hebben en beheersen. Het niet onder controle hebben van test data geeft complicerende factoren tijdens het testen.

Om onder controle te hebben welke test data je in een omgeving hebt, wil je test data management inrichten. Test data betreft namelijk niet één object, omgeving of testsoort, maar heeft impact op het geheel aan applicaties en processen in je gehele landschap. Het is daarmee bittere noodzaak dat hier goed over wordt nagedacht en deze met beleid wordt gestuurd.

Test data management strategieën

TDM omvat het genereren van gegevens, het maskeren van gegevens, scripting, provisioning en klonen. De automatisering van deze activiteiten zal het proces van gegevensbeheer verbeteren en efficiënter maken. Een mogelijke manier om dit te doen is om de testgegevens te koppelen aan een bepaalde test en deze in te voeren in automatiseringssoftware die gegevens in het verwachte formaat levert.

How to: test data management

Niet alle omgevingen vereisen alle activiteiten, maar de volgende componenten vormen de basis voor de meeste TDM-strategieën.

Data discovery
Data discovery helpt om te bepalen waar privacygevoelige informatie zich in je database bevindt. Het helpt ook bij het ontdekken van gegevensafwijkingen of vervuiling in je database. Datainzicht helpt bij het selecteren van de cases die je nodig hebt voor je tests.

Data anonimisering
Een van de meest urgente onderdelen van TDM is de anonimisering of maskering van privacygevoelige gegevens. De meeste regels en voorschriften voor gegevensbescherming, zoals de AVG, verbieden organisaties om persoonlijk identificeerbare informatie te gebruiken voor tests.

Synthetische data generatie
In plaats van maskeerregels te gebruiken, kun je bestaande (privacygevoelige) gegevens vervangen door synthetisch gegenereerde gegevens met generatieregels.

Data subsetting
Met het gebruik van data subsets wordt het veel eenvoudiger om elk team een eigen testdataset te geven, de behoefte aan dataopslag wordt verminderd en inactieve (wacht)tijden worden aanzienlijk verkort.

Test data distributie
Zowel QA- als DBA-teams hebben veel baat bij een gemakkelijke distributie van testdata. Een TDM-portaal maakt het mogelijk om met één druk op de knop zelf testdatasets te vernieuwen. De enige wachttijd is de daadwerkelijke (technische) gegevensverwerkingstijd.

Test data automatisering
Als je je testproces wilt automatiseren, heb je geautomatiseerde testgegevens nodig. En voor geautomatiseerde testgegevens heb je een tool voor het automatiseren van testdata nodig, geïntegreerd met andere softwaretesttools.

Voordelen van test data management

Er zijn verschillende redenen om met TDM te beginnen. Veelgehoorde redenen zijn 1) we moeten iets doen met data-anonimisering of synthetische datageneratie vanwege privacywetten en 2) we willen sneller naar de markt, maar grote omgevingen houden ons tegen. Testdatabeheer heeft meer voordelen.

 

Vind data-gerelateerde bugs

Het belang van maskering van testgegevens ligt in het feit dat 15% van alle gevonden bugs gegevensgerelateerd zijn. Deze problemen treden op door b.v. problemen met de datakwaliteit. Door gegevens te maskeren, kun je deze 15% gegevensgerelateerde problemen in je testdataset houden om ervoor te zorgen dat deze fouten worden gevonden en opgelost voordat je naar productie gaat.

 

Verkort time-to-market

De noodzaak om sneller naar de markt te gaan is nu een punt van discussie bij veel organisaties. Daarom kijken ze naar methoden als DevOps, Agile en Continuous Testing. Maar in veel gevallen houdt de technische infrastructuur hen tegen. De zachte kant van agile is “vrij” eenvoudig. Maar het moeilijkste is de infrastructuur. We leven nog allemaal in een watervaltijdperk. Want je testdatabases kunnen het aantal agile teams niet aan.

 

Snellere data verversing

Tegenwoordig duurt het soms wel 1 of zelfs 2 weken voordat een testdatabase ververst is. In de snelle ontwikkeling van softwarelevering van vandaag zou dat onaanvaardbaar moeten zijn. En om het nog erger te maken, er zijn meer dan 3 personen nodig voor dezelfde verfrissing. Er gaat dus veel tijd verloren in je softwareleveringsproces.

Test data management software

De controle hebben over testdata wordt steeds belangrijker. Met behulp van subsetting-technologie kun je kleinere sets testdata in een omgeving implementeren. Deze zijn flexibel en maatvoering is geen probleem meer. Met een goed test data management platform kun je elk testteam eenvoudig een eigen (gemaskeerde) testdataset geven die ze on-demand kunnen verversen. Deze aanpak is niet alleen geweldig voor efficiëntie en prestaties, maar ook voor de strategie die je bedrijf zal helpen groeien en toonaangevend in de sector te worden.

De DATPROF-softwaresuite bestaat uit verschillende producten waarmee haar klanten test data management oplossingen kunnen realiseren. Het hart van de suite wordt gevormd door DATPROF Runtime. Dit is het test data provisioning platform waar de uitvoering van DATPROF templates plaats vindt. In een typische test data management-implementatie zijn de meest gebruikte tools:

De gepatenteerde DATPROF-suite is ontworpen om de inspanning (uren) tijdens elke fase van de levenscyclus te minimaliseren. Dit vertaalt zich direct in de hoge implementatiesnelheid en het gebruiksgemak tijdens onderhoud.

Start vandaag

Discover & Learn

Discover your data and gain analytics of the data quality by profiling and analyzing your application databases.

 

Mask & Generate

Enable test teams with high quality masked production data and synthetically generated data for compliance.

 

Subset & Reduce

Subset the right amount of test data and reduce the storage costs and wait times for new test environments.

 

Provision & Automate

Provide each team with the right test data using the self service portal or automate test data with the built-in API.

 

FAQ

Wat is test data management?

TDM is het proces van het verkrijgen of creëren van realistische test data voor niet-productiedoeleinden. Het zorgt ervoor dat de softwaretestteams test data van de juiste kwaliteit krijgen in een geschikte hoeveelheid, de juiste omgeving, het juiste formaat en op het juiste moment: de juiste test data, op de juiste plaats, op het juiste moment.

Hoe werkt test data management?

Het is het volledige proces om ervoor te zorgen dat test data gemakkelijk toegankelijk en direct beschikbaar wordt. Je kunt nadenken of test data vanwege privacyregelgeving beschikbaar mag worden gesteld, dus eerst moet worden beschermd voordat deze kan worden gebruikt.

Een ander onderdeel is hoe je test data eenvoudig beschikbaar maakt als je grote databases hebt zoals we tegenwoordig hebben. Hoe kun je kleine agile sets met test data maken ter ondersteuning van je softwareleveringsproces?