Softwareudviklingscyklussen er fyldt med udfordringer, da organisationer ikke kun står over for kortere time-to-market, men også en øget kompleksitet af applikationer. For at sikre, at applikationer forbliver stabile og funktionelle, fra den første udvikling til produktlancering og derefter, skal organisationer anvende en række forskellige testtyper.
Selvfølgelig stiger kompleksiteten af udviklingen, og det samme gør den nødvendige testning. En vigtig komponent i ethvert succesfuldt testscenarie er testdatahåndtering (TDM). Det gør det muligt for virksomheder at strømline, automatisere og kontrollere alle testtyper, samtidig med at omkostningerne reduceres og testkvaliteten øges.
Hvad er testdataadministration (TDM) i softwaretestning?
Testdatahåndtering er processen med at skabe, administrere, implementere og levere testdata. Traditionelt fandt testning af softwareudvikling sted i decentrale siloer, men TDM konsoliderer testning under et enkelt team, en enkelt gruppe eller en enkelt afdeling.
Testdatahåndteringstjenester indsamler de data, der er nødvendige for automatiserede softwaretests, herunder data fra enheds-, integrations- og systemtests. Det indebærer, at man indhenter og lagrer de relevante og nøjagtige data, der er nødvendige for automatiserede test, hvilket reducerer eller eliminerer behovet for menneskelig involvering i testprocessen (et koncept, der svarer til
automatisering af robotteknologiske processer
).
Efterhånden som TDM er blevet mere og mere populær, er den blevet udvidet til at omfatte syntetisk datagenerering, datamaskering, subsetting, kunstig intelligens og meget mere.
I sidste ende øger testdatahåndtering pålideligheden og kvaliteten af det færdige softwareprodukt, hvilket resulterer i en bedre slutbrugeroplevelse. Desuden hjælper TDM’s dataførklædningsaspekt organisationer med at overholde alle gældende love og regler om databeskyttelse.
Hvem bruger Test Data Management (TDM) i softwaretestning?
Selv om svaret “alle” kan lyde forsimplet og bredt, er sandheden, at teknikker til styring af testdata er til gavn for alle typer af softwareapplikationer. Hvis testning finder sted under udviklingscyklussen (og det bør den også), øger TDM-processer nøjagtigheden, organiseringen og anvendeligheden af resultaterne.
Da al softwareudvikling kræver testning, vil TDM være til gavn for stort set alle projekter. Når det er sagt, er det i visse organisationer og applikationer praktisk talt obligatorisk at bruge en strategi for testdatahåndtering.
Applikationer på virksomhedsniveau kræver TDM på grund af deres komplekse, mangefacetterede testbehov. TDM er til gavn for alle større testområder i virksomhedsudvikling, herunder funktionel, ikke-funktionel, ydeevne og automatiseringstest.
Desuden gør TDM’s sløringsprocesser det vigtigt at bruge den til applikationer, der involverer personlige eller følsomme data, herunder websteder eller applikationer, der er forbundet med e-handel, finanser og sundhedspleje.
Hvilke typer af testning er datastyring til?
Datastyring fokuserer på tre brede kategorier af testning.
1. TDM til test af ydeevne
Ved test af ydeevne måles en applikations ydeevne under den forventede arbejdsbyrde, idet dens reaktionsevne, stabilitet og skalerbarhed vurderes. TDM giver dig mulighed for at fokusere på testning af infrastruktur og brugervendte elementer for at opnå hurtig og pålidelig ydeevne.
bedste værktøjer til teststyring hjælper med at øge antallet af opdateringscyklusser og generering af bulkdata.
2. TDM til funktionel afprøvning
Mens test af ydeevne analyserer applikationens hastighed og stabilitet, fastslår funktionel test, om softwaren fungerer i overensstemmelse med forudbestemte krav. I bund og grund: Gør softwaren det, som den skal? Testdatahåndteringstjenester hjælper med at opretholde kvalitetskontrol af kerneapplikationen samt nye og opgraderede funktioner.
TDM hjælper med at afhjælpe eller forhindre lav dækning, adgangsbegrænsninger, lange tidslinjer for dataindsamling, høj afhængighed og problemer i forbindelse med testmiljøets størrelse.
3. TDM i automatiseringstest
Testdatastrategi for automatisering og
hyperautomatisering
processer muliggør berøringsfri operationer og øger samtidig nøjagtigheden ved at reducere risikoen for menneskelige fejl. Testdatahåndteringsprocesser anvendes på tværs af alle typer værktøjer til automatisering af testdatahåndtering og testning, herunder
automatisering af robotteknologiske processer
.
A strategi for testdata til automatisering hjælper med at afhjælpe langsommelig oprettelse af data i front-end, manglende adgang til dynamiske data og manglende adgang til testmiljøet.
Fordele ved Test Data Management
TDM-strategier, sammen med værktøjer til automatisering af testdatahåndtering, giver mange fordele for organisationer på virksomhedsniveau.
1. Forbedrer datakvaliteten
Alle test i verden er nytteløse, hvis de er baseret på ufuldstændige, irrelevante eller ødelagte data. TDM identificerer, administrerer og gemmer de data, der er nødvendige for automatiseret testning, så du kan sikre, at de er relevante og fuldstændige. Og ved at fjerne behovet for dataoverførsel mellem flere testere minimeres, hvis ikke elimineres, datakorruption.
2. Udvikler realistiske data
Testresultater vil være uproduktive, hvis testdata ikke nøjagtigt repræsenterer produktionsdata. TDM gør det muligt for organisationer at identificere og gemme testdata, der afspejler de data, der findes på produktionsservere, hvilket sikrer, at testresultaterne afspejler reelle softwarefunktioner i den virkelige verden. De kaldes “realistiske data” og svarer til produktionsdata med hensyn til format, mængde og andre faktorer.
3. Forbedrer adgangen til data
Automatiseret softwaretestning fungerer kun effektivt, når data er tilgængelige på forudbestemte tidspunkter. Det kan f.eks. være nødvendigt for testværktøjerne til datalageret at få adgang til data på bestemte tidspunkter med henblik på autentificering. Fordi TDM fokuserer på datalagring, er de relevante data altid klar, når det automatiserede testprogram og produktionstidslinjen kræver det.
4. Sikrer dataoverholdelse
TDM hjælper organisationer med at overholde alle relevante statslige og andre regler, f.eks.
HIPPA
,
CCPA
, og EU’s
GDPR
. Testdatahåndtering GDPR og andre lignende regler kræver produktionsdata, der kan omfatte brugernavne, lokaliseringsdata, personlige oplysninger og meget mere – data, der skal maskeres, før test kan finde sted.
bedste værktøjer til styring af testdata giver organisationer mulighed for automatisk at anonymisere data til både intern og ekstern brug for at sikre overholdelse af reglerne.
Udfordringer og faldgruber ved testdatahåndtering
Mens testdatahåndtering giver vigtige fordele for softwareudvikling på virksomhedsniveau, har de også potentielle faldgruber. Forståelse af udfordringerne ved TDM giver organisationer mulighed for at foregribe og minimere deres virkninger.
1. Produktionskloning er langsom og dyrt
For at få testdata vil de fleste organisationer trække data fra produktionsservere og derefter anonymisere dem. Det kan dog være tidskrævende at indsamle produktionsdata, især sent i udviklingsprocessen, når der er tale om store mængder kode.
Når du har klonet dataene, skal du have et sted at gemme dem. Infrastruktur- og lageromkostningerne kan hurtigt løbe op. Du kan mindske disse omkostninger med data slicing. I stedet for at klone alle produktionsdata vil teamet skære en mindre, repræsentativ “skive” af dataene ud.
2. Sløringsprocesser øger omkostningerne og kompleksiteten
Som beskrevet tidligere er brugerdata stærkt reguleret, selv til intern testning, og kræver anonymisering. Desværre øger dataførklingen kompleksiteten og omkostningerne i udviklingsprocessen.
Mens hastighed, nøjagtighed og omkostningseffektivitet i forbindelse med obfuskering forbedres med automatiserede testværktøjer, vil der stadig være en indlæringskurve for relevante teams.
De bedste tegn/årsager på, at din organisation har brug for testdataadministration
Mens al softwareudvikling har gavn af testdataadministration, prioriterer organisationer ikke altid implementeringen. Følgende tegn indikerer, at en organisation vil se umiddelbare fordele ved at implementere TDM:
- Datastørrelsen stiger “over hele linjen”, herunder stigninger i datasætstørrelse, samlede datasæt, databaseinstanser og upstream-systemer.
- En betydelig del af produktionstiden går med at forberede data til testning.
- Produktionsdata er langt større end mængden af tilgængelige testdata.
- Applikationsfunktioner går i luften med fejl.
- Testteams er decentraliserede eller skal være afhængige af data fra en central kilde.
- Testteams er overbebyrdede og ude af stand til at holde trit med testbehovene.
- De opstrømsdata genererer langt størstedelen af testdataene.
- Testdatasæt er ikke genanvendelige eller nemme at duplikere.
Testdatahåndtering hjælper bl.a. med at reducere, korrigere og forebygge disse problemer.
Typer af data i softwaretestning
Softwareapplikationer genererer utroligt mange data under udviklingen og efter udgivelsen. proces til forvaltning af testdata fokuserer typisk på følgende datatyper:
1. Produktionsdata
Produktionsdata genereres af rigtige mennesker, der bruger din applikation. Afhængigt af størrelsen af din brugerbase og applikationens kompleksitet kan mængden af produktion meget hurtigt blive meget stor – og derfor opdeles den typisk i delmængder baseret på testbehov.
Bemærk, at produktionsdata ofte indeholder følsomme oplysninger i forhold til
spørgsmål om overholdelse
som f.eks. medicinske og finansielle data, som kræver sløring.
2. Syntetiske data
Syntetiske data oprettes enten manuelt eller med automatiserede testværktøjer. Den simulerer den virkelige brugeradfærd så godt som muligt.
Selv om syntetiske data ikke længere er nødvendige for at udviske data, er de kun i begrænset omfang anvendelige. Den bruges primært til belastningstestning af nye funktioner.
Det kræver et højt niveau af ekspertise at skabe præcise syntetiske data, selv om et automatiseret testdatahåndteringsværktøj gør det lettere.
3. Gyldige data
Valide data er det udtryk, der anvendes til at beskrive data, der produceres, når der ikke forekommer uventede fejl eller hændelser. Dataenes format, værdier og mængde er i overensstemmelse med forventningerne forud for prøven. Valide data tester det, der kaldes den “lykkelige vej”, som er, når brugerens rejse følger det forventede forløb.
4. Ugyldige data
Ugyldige data stammer fra den “ulykkelige vej”. Det er data fra uventede scenarier og fejl. Ugyldige data bruges også som en del af kaostestning, hvor man tester grænserne for et program under en syndflod af dårlige data.
Hvad er “data af god kvalitet” i forbindelse med softwaretest?
Testning med ufuldstændige eller irrelevante data er ofte værre end helt at undlade at teste, da de konklusioner, der drages, og de efterfølgende foranstaltninger, der træffes, vil være forkerte. Men hvordan kan organisationer identificere “gode” data til softwaretest? Hold øje med disse tre karakteristika for datakvalitet:
1. Nøjagtighed
Gode data afspejler de virkelige procedurer nøje. Hvis du bruger maskerede produktionsdata, skal de være direkte relateret til det område, du tester – det må ikke være et tilfældigt udsnit af brugeradfærd. Syntetiske data skal nøjagtigt ligne den virkelige brugeradfærd, herunder deres uforudsigelige karakter.
2. Validitet
Gode data passer til formålet med dit testscenarie. De fleste onlinekøbere køber f.eks. ikke 200 stk. af en enkelt vare, så omfattende test af systemets adfærd i det scenario er en dårlig udnyttelse af ressourcerne. Du bør dog teste for situationer, hvor folk køber ti varer.
3. Undtagelser
Dataene bør dække spørgsmål, der sandsynligvis vil opstå, men sjældent. Et scenario, hvor en kunde betaler for en vare med en kuponkode, er et almindeligt eksempel på “undtagelsesdata” inden for e-handel.
Hvilke spørgsmål skal du stille før og under planlægningen af data test management?
Testens succes afgøres i høj grad i planlægningsfasen. I de indledende faser bør holdene stille følgende spørgsmål.
1. Hvilke data har vi brug for?
Det er en proces i to dele at bestemme, hvilke data der skal indsamles. For det første skal den være relateret til testscenariet. Den skal også have forretningsmæssig relevans for at hjælpe testningen med at forblive omkostningseffektiv og effektiv.
2. Hvor mange data har vi brug for?
For mange data, som f.eks. kopiering af alle produktionsdata, er dyrt, tidskrævende og komplicerer processen for meget. På den anden side vil resultaterne være upræcise, hvis stikprøven er for lille.
3. Hvornår har vi brug for dataene?
Er testningen planlagt, eller skal dataene være tilgængelige on-demand? Holdene bør koordinere alle testplaner og opdateringscyklusser, før testningen begynder.
4. Hvilken type test er der behov for?
Automatisering af softwaretestning kræver stabile, forudsigelige datasæt. Hvis de data, der er nødvendige for din test, varierer betydeligt, kan manuel testning give bedre resultater.
Trin i forvaltningen af datatestning
Selv om de specifikke forhold varierer, vil softwareudviklere på virksomhedsniveau generelt følge disse trin, når de implementerer en TDM-strategi.
1. Datafremstilling – teknikker til generering af data til testning osv.
Hvis du vil generere effektive data, skal du overveje deres nøjagtighed og relevans. Gengiver den realistiske scenarier? Derudover skal du generere undtagelsesdata, som dækker scenarier, der ligger uden for den typiske brugeraktivitet.
2. Sløring af data
Du skal maskere alle produktionsdata for at overholde lovgivningen. De mest almindelige typer af obfuskering omfatter anagramming, kryptering, substitution og nulling. Mens manuel obfuskering er mulig i begrænset omfang, kræver maskering på virksomhedsniveau automatiserede værktøjer.
3. Opdeling af data i skiver
Det er ofte spild af ressourcer og tid at kopiere alle produktionsdata. Med data slicing indsamles et overskueligt sæt relevante data, hvilket øger hastigheden og omkostningseffektiviteten af testningen.
4. Tilrådighedsstillelse
Tilvejebringelse sker, efter at dataene er indhentet og maskeret. Under provisionering flyttes data til testmiljøet. Automatiserede værktøjer giver mulighed for at indtaste testsæt i testmiljøer ved hjælp af CI/CD-integration med mulighed for manuel justering.
5. Integrationer
Testdata fra flere kilder inden for it-økosystemet skal integreres i CI/CD-pipelinen (CI/CD-pipelinen er den etablerede proces for kodeændringer). For at opnå integration er det nødvendigt at identificere alle datakanaler på et tidligt tidspunkt.
6. Versionering
Ved at oprette versioner af testdata kan teams gentage test for at vurdere resultaterne. Desuden giver versioner mulighed for overvågning af præcise ændringer af testparametre.
Karakteristika og egenskaber ved testdataadministration
TDM tilpasser sig til de konstant skiftende behov i ethvert softwareudviklingsprojekt. Uanset hvilke tilpasninger der er nødvendige for en organisation, vil TDM-processen dog også have følgende karakteristika:
1. Forbedret datakvalitet og troværdighed
TDM øger nøjagtigheden og realismen af dine testdata, så de giver et virkelig repræsentativt udsnit af brugeradfærd. Alle processer fører i sidste ende til ét mål: en pålidelig og stabil brugeroplevelse.
2. Overholdelse af lovgivningen
Software til forvaltning af testdata sikrer, at alle produktionsdata er tilstrækkeligt maskeret før testning, så din organisation overholder alle regler om beskyttelse af personlige oplysninger. Ved at overholde reglerne undgår du juridiske konsekvenser, herunder bøder, og negative problemer med public relations.
3. Forbedret produktkvalitet
Kvalitetssikring er en tidskrævende og dyr proces – men også nødvendig for at lancere funktionelle og brugervenlige applikationer. TDM-processer giver mulighed for hurtigere identifikation af fejl, forbedret sikkerhed og mere alsidig testning sammenlignet med den traditionelle silo-metode.
Sådan implementeres testdataadministration
Din virksomheds softwareprodukt vil diktere en række forskellige testspecifikationer, men den grundlæggende implementering af testdatahåndteringskoncepter omfatter følgende fem trin:
Trin 1: Planlægning
Start med at danne et datatestteam, som derefter fastlægger kravene til testdatahåndtering og dokumentation, samtidig med at der udvikles en omfattende testplan.
Trin 2: Analyse
I analysefasen konsolideres datakrav på tværs af teams. Sikkerhedskopiering, opbevaring og lignende logistiske spørgsmål er også implementeret.
Trin 3: Design
Designfasen er det sidste punkt i planlægningen, før afprøvningen begynder. Holdene bør identificere alle datakilder og samtidig færdiggøre planer for kommunikation, dokumentation og testaktiviteter.
Trin 4: Opbygning
Det er i byggefasen, at “gummiet møder vejen”. Planerne gennemføres. For det første sker der en datamaskering. Dernæst tages der backup af data. Endelig gennemføres testningen.
Trin 5: Vedligeholdelse
Efter implementering af testdataadministrationskal virksomheden vedligeholde processerne i hele projektets livscyklus. TDM-vedligeholdelse omfatter fejlfinding, opgradering af eksisterende testdata og tilføjelse af nye datatyper.
Strategier for forvaltning af testdata
Fordi TDM berører så mange forskellige elementer i udviklingsprocessen, kan det hurtigt blive kompliceret. Med følgende strategier kan du holde fokus og løbende forbedre din organisations tilgang til forvaltning af testdata.
Strategi 1: Forbedring af dataleveringen
Forsøg på konsekvent at reducere leveringstiden for testdata ved at udnytte
softwaretesttjenester
som f.eks.
ZAPTEST
. Værktøjer med DevOps-funktioner strømliner testningen med en lavt berøringsniveau.
Med ZAPTEST kan brugerne vælge sekventielle, tilfældige eller unikke testdata ved hjælp af automatisk eller specifikt antal rækker. De kan specificere dataintervaller og “out of values”-politikker, der gør det muligt at skabe realistiske datadrevne testscenarier til funktionel test (UI og API), præstationstest og RPA.
Derudover kan automatiseret test-software erstatte IT-billetsystemer med et selvbetjeningssystem for brugerne.
Strategi 2: Reduktion af infrastrukturomkostningerne
Mængden af testdata vokser under udviklingen, hvilket resulterer i øget brug af infrastrukturressourcer. TDM-værktøjer kan hjælpe med at minimere de tilknyttede infrastrukturomkostninger gennem datakonsolidering, arkivering og en proces kaldet bookmarking, som gør det muligt at udnytte testmiljøets plads bedre.
Strategi 3: Forbedring af datakvaliteten
Testdatahåndteringsløsninger øger løbende datakvalitetsegenskaberne ved at fokusere på tre nøgleelementer: dataenes alder, nøjagtighed og størrelse.
Sådan forbedrer du testdatahåndteringen
TDM er ikke en statisk proces. Efter den første opsætning skal du stræbe efter løbende forbedringer ved at følge disse bedste praksis for forvaltning af testdata.
1. Isolere data
Ved at køre test i et kontrolleret miljø kan du isolere dataene for bedre at kunne sammenligne det forventede output med det faktiske output. Isolering af data giver også mulighed for parallel testning.
2. Minimer databaselagring
Lagring af testdata i databaser reducerer den automatiske testhastighed og gør det samtidig vanskeligere at isolere data. Automatiserede værktøjer og teknikker som data slicing er med til at reducere mængden af databaselagerplads, der er nødvendig.
3. Fokus på enhedstests
Følg de retningslinjer, der er fastsat af
pyramiden for automatisering af test
, som anbefaler, at enhedstests udgør ca. 50 % af din testning. Enhedstests kører uafhængigt af eksterne data, koster meget mindre end andre testtyper og er relativt hurtige at implementere.
Sådan måler du testdataadministration
De følgende målinger giver vigtige oplysninger om effektiviteten af dine TDM-strategier.
1. Er der nok testdata til rådighed?
Du kan måle tilgængeligheden af testdata ved at spore den tid, der bruges på at administrere data til brug i test. Hvis der ikke er tilstrækkelige data til rådighed, bliver udviklingstiden langsommere, og udviklerne vil føle sig begrænsede.
2. Er testdata tilgængelige for automatiseret testning?
Automatiserede testprocesser kræver data på forespørgsel. Overvåg procentdelen af tilgængelige datasæt samt hvor ofte de tilgås og opdateres.
3. Er de automatiserede tests begrænset af testdata?
Hvor mange automatiserede tests kan du køre med dine nuværende testdata? Hvis du har brug for at køre flere test, end dine data tillader, skal du indsamle testdata oftere.
Den nemmeste og mest nøjagtige måde at opnå disse målinger på er med software til styring af testdata.
Privatlivsproblemer og hvordan du forhindrer det
Mens testdatahåndtering oprindeligt var en metode til at indsamle og analysere data, er det med tiden blevet lige så vigtigt at forebygge forskellige problemer med privatlivets fred.
1. Dataforordningen
TDM sikrer, at din virksomhed fortsat overholder CCPA, HIPAA, GDPR og alle andre relevante regler om databeskyttelse. Manglende korrekt maskering af data under testning kan medføre betydelige økonomiske og endda potentielt strafferetlige sanktioner.
2. Forbrugernes modreaktion
Databrud kan resultere i betydelig skade på en virksomheds image, da brugerne vil blive tilbageholdende med at bruge en applikation, der er udsat for lækager. Implementering af testdatahåndtering hjælper med at opnå brugernes tillid ved både at forhindre lækager og forsikre potentielle brugere om, at deres data vil blive opbevaret sikkert.
Konklusion
Behovet for test i softwareudvikling vil kun blive mere nødvendigt og mere komplekst. For at strømline udviklingsprocesserne og samtidig bevare kvalitetskontrollen skal virksomhederne anvende testdatahåndteringssoftware, specielt teststyringsværktøjer som dem, der er skabt af
ZAPTEST
.
bedste værktøjer til styring af testdata giver omfattende, lydhør oprettelse og styring af testdata, hvilket giver mulighed for overlegen software med større funktionalitet, der leveres hurtigere end nogensinde før.
Ofte stillede spørgsmål
Her er hurtige svar på almindelige spørgsmål om testdatahåndtering i forbindelse med softwaretestning.
Hvad er Test Data Management?
Testdatahåndtering er oprettelse, håndtering og analyse af data, der er nødvendige for automatiserede testværktøjer til datawarehouse-testning. Processerne fokuserer på at identificere data af høj kvalitet vedrørende specifikke testparametre, maskere dem og levere dem til de relevante teams.
Det bedste værktøjer til styring af testdata automatiserer mange af processerne, f.eks. dataindsamling, sløring og lagring.
Hvad er testdata i softwaretestning?
En stor del af de data, der anvendes i softwaretest, er produktionsdata, som genereres af rigtige brugere. På grund af regler om beskyttelse af personlige oplysninger skal produktionsdata maskeres før brug til testning.
Softwaretestdata kan også være syntetiske, hvilket betyder, at de er kunstigt fremstillet for at efterligne de rigtige brugeres adfærd så nøjagtigt som muligt. Det bruges ofte til at teste nye funktioner eller opgraderinger, før de bliver taget i brug.