Alleen vertrouwen op productiedata als testbasis is niet goed genoeg

Alleen vertrouwen op productiedata als testbasis is niet goed genoeg

Een checklist voor het genereren van kwalitatief goede testdata

In de voorgaande blogs over de volgende generatie van Test Data Management; Test Data Automation, hebben we het gehad over het toepassen van een ‘traditionele’ benadering van het beheer van testdata en de impact hiervan op de snelheid en kwaliteit van het testproces.

In deze derde blog richten we ons op de toegevoegde waarde van het gebruik van synthetische testdata in het testproces.

Het gebruik van productiedata alleen is geen garantie voor een dekkend testproces

Al tientallen jaren is de aanpak voor het maken van testdata grotendeels hetzelfde en ook in 2019 is hier nog geen verandering in gekomen.
Het toepassen van TDM komt voor de meeste organisaties neer op het zo snel mogelijk kunnen kopiëren van productiegegevens naar testomgevingen.

Het gebruik van productiedata in het testproces is op zichzelf niet het probleem; de testdata is vaak een representatie van complexe scenario’s en het maskeren van de data is vaak voldoende om het te laten voldoen aan de compliance regels.
In de situatie waarin alleen gebruik wordt gemaakt van productiedata om de kwaliteit van een systeem aan te tonen, schuilt het risico dat de dekkingsgraad van de test niet voldoende is. In de praktijk blijkt dit meestal het geval: slechts 18% van organisaties maakt gebruik van automatisch gegenereerde synthetische testdata.

Het behalen van een goede dekkingsgraad blijkt een grote uitdaging, omdat de gewenste testdata om alle scenario’s af te kunnen dekken niet aanwezig is in de productiedata.
Om te zorgen voor een volledige functionele testdekking dient testdata aan de volgende criteria te voldoen:

  1. Testdata voor het testen van nieuwe of additionele functionaliteit
  2. Testdata voor bijzondere situaties en randgevallen
  3. Testdata voor negatieve scenario’s

 

Figuur 1: Productiedata bevat slechts een fractie van de datacombinaties die benodigd is voor testen

Om te zorgen voor de juiste dekking en kwaliteit te kunnen waarborgen is een nieuwe aanpak voor testdata een vereiste.

Een hybride benadering voor het maken van kwalitatief goede testdata

In de blog van vorige week is beschreven hoe het genereren van synthetische testgegevens kan helpen bij het oplossen van compliance-problemen bij het testen. Dezelfde aanpak kan gebruikt worden voor het genereren van testdata en -situaties die niet in productie voorkomen.  Door deze aanpak wordt het mogelijk om volledige functionele testen uit te voeren op snel veranderende systemen.

In de blog van vorige week is ook vastgesteld dat niet alle gekopieerde gegevens in één keer omgezet kunnen worden naar synthetische gegevens. In plaats daarvan is een “hybride-aanpak“ de oplossing, waarbij de bestaande testdata wordt uitgebreid met “rijke” synthetische testdata. Randvoorwaarden voor deze aanpak worden hieronder beschreven.

Een aantal randvoorwaarden voor het genereren van testdata

Het genereren van testdata om complexe systemen te testen vereist een flexibele aanpak. Het goede nieuws is dat veel van de vereiste vaardigheden en technieken op natuurlijke wijze voortborduren op het effectief maskeren en subsetten van data.
De drie eerdergenoemde criteria vereisen een goed begrip van de relaties die bestaan ​​in productiegegevens en moeten complexe datamodellen kunnen representeren. Het genereren van synthetische testdata is daarom geen onmogelijke sprong voor organisaties die momenteel alleen data maskeren en subsetten.

Sommige TDM-tools bieden hiervoor geautomatiseerde gegevensmodellering, waardoor het genereren van deze gegevens wordt vereenvoudigd en versneld. Deze tools zijn in staat om interessante trends in gegevens te identificeren en leggen relaties binnen relationele databases, bestanden en mainframe-gegevensbronnen. Het bouwt de regels die nodig zijn om referentiële integriteit te behouden, inclusief bijvoorbeeld complexe numerieke en tijdelijke patronen in gegevens.

 

 

 

Verschillende technieken kunnen worden gebruikt voor het vullen van de ‘gaten’ in productiedata. Naast scripting zijn er ook tools die functies bieden voor het genereren van data. De flexibiliteit die vereist is om complexe toepassingen te testen, vereist een reeks aan technieken en sommige generatietools bieden daarom een ​​combinatie van methoden bij het definiëren van synthetische variabelen.

Ten slotte moet het genereren van synthetische data voor complexe systemen de bedrijfslogica en regels weerspiegelen. De resulterende data moeten alle gevallen weergeven waarin een eerdere gebeurtenis in het system de volgende gebeurtenissen beïnvloedt. Als bijvoorbeeld een waarde die door een gebruiker op één scherm wordt ingevoerd, op een volgend scherm wordt geaggregeerd, moet deze bedrijfsregel worden weerspiegeld in de synthetische testdata. Het genereren van testdata moet daarom zogeheten “event hooks” omvatten om deze logica te definiëren.

Uitvoeren van diepgaande testen voor complexe systemen

Het creëren van combinaties van data die niet in productie worden gevonden, is essentieel voor het diepgaand testen van complexe en snel veranderende systemen. Het creëren van deze complexe data vereist een flexibele aanpak. Voor de organisaties van nu kan dit een of alle van de volgende kenmerken omvatten:

  1. Het genereren van data moet voortbouwen op de technieken die al nodig zijn voor maskering en subsetting, aangezien veel organisaties deze processen al uitvoeren;
  2. Geautomatiseerde gegevensmodellering vereenvoudigt de complexiteit van het definiëren van generatieregels voor complexe testdata;
  3. Een combinatie van meerdere technieken die de gegevenscombinaties definiëren benodigd voor testdoeleinden. Dit kan met behulp van scripting en een combinatie van zowel out-of-the-box technieken;
  4. De methoden voor het maken van data op basis van de regels en definities moeten ook flexibel zijn, bijvoorbeeld door data rechtstreeks naar databases te verzenden, via de front-end, of de integratie laag;
  5. Bij het genereren van testdata moeten ook de business rules worden meegenomen.

Bij deze aanpak van synthetische data generatie is het mogelijk om de negatieve scenario’s en de randgevallen te genereren, om de dekkingsgraad van het testen zo hoog mogelijk te krijgen. Het genereren van de missende datacombinaties welke benodigd zijn voor het testen verbeterd tevens de Agile aanpak van testen. Niet voor niets het onderwerp voor de blog van volgende week.

Indien je meer wilt weten over testdatageneratie en de laatste ontwikkelingen op het vlak van Test Data Management, meld je dan aan voor de Meetup “Test Data Automation” welke plaatsvindt op 28 november in Hotel Mitland te Utrecht. Aanmelden voor dit event kan via deze link.

SOCIAL MEDIA

NEEM CONTACT MET ONS OP

CloseSure Noord BV
de Vos van Steenwijklaan 75
7902 NP Hoogeveen
+31 (0)88 383 01 20

CloseSure Utrecht BV
Landjuweel 11 B
3905 PE  Veenendaal
+31 (0)88 383 01 10

CloseSure West BV
Europalaan 16
2408 BG  Alphen a/d Rijn 
+31 (0)88 383 01 50

CloseSure Oost BV
Hazenweg 70
7556 BM  Hengelo
+31 (0)88 383 01 00

CloseSure Zuid BV
Noord Brabantlaan 265
5652 LD  Eindhoven
+31 (0)88 383 01 40

CloseSure Services BV
Hazenweg 70
7556 BM Hengelo
+31 (0)88 383 01 60

(c) Copyright 2017-2019 CloseSure Nederland B.V.

SHARE THIS!