Programvareutviklingssyklusen er fylt med utfordringer, ettersom organisasjoner ikke bare står overfor redusert time-to-market, men også økt applikasjonskompleksitet. For å sikre at applikasjonene forblir stabile og funksjonelle , fra første utvikling til produktlansering og utover, må organisasjoner bruke en rekke testtyper .
Når utviklingen øker i kompleksitet, øker selvfølgelig testingen som kreves. En viktig komponent i et vellykket testscenario er testdatabehandling (TDM). Det lar organisasjoner på bedriftsnivå effektivisere, automatisere og kontrollere alle testtyper som brukes, samtidig som kostnadene reduseres og testkvaliteten økes.
Hva er Test Data Management (TDM) i programvaretesting?
Testdatabehandling er prosessen med å lage, administrere, implementere og levere testdata. Tradisjonelt foregikk testing av programvareutvikling i desentraliserte siloer, men TDM konsoliderer testing under et enkelt team, gruppe eller avdeling.
Tjenester for administrasjon av testdata samler inn dataene som er nødvendige for automatiserte programvaretester , inkludert data fra enhet , integrasjon , brukergrensesnitt , funksjonell , ytelse , belastning og generelle systemtester. Det innebærer å innhente og lagre passende og nøyaktige data som kreves for automatiserte tester, redusere eller eliminere behovet for menneskelig involvering i testprosessen (et konsept som ligner på robotprosessautomatisering ).
Etter hvert som TDM har vokst i popularitet, har det utvidet seg til å inkludere syntetisk datagenerering, datamaskering, subsetting, kunstig intelligens og mer.
Til syvende og sist øker administrasjon av testdata påliteligheten og kvaliteten til det ferdige programvareproduktet, noe som resulterer i en overlegen sluttbrukeropplevelse. Dataobfuskeringsaspektet ved TDM hjelper også organisasjoner med å overholde alle gjeldende lover og forskrifter for personvern.
Hvem bruker Test Data Management (TDM) i programvaretesting?
Selv om svaret til “alle” kan høres forenklet og bredt ut, er sannheten at teste databehandlingsteknikker nytte alle typer programvare. Hvis testing skjer under utviklingssyklusen (og det bør det), øker TDM-prosesser nøyaktigheten, organiseringen og nytten av resultatene.
Fordi all programvareutvikling krever testing, vil TDM dra nytte av praktisk talt ethvert prosjekt. Når det er sagt, krever visse organisasjoner og applikasjoner praktisk talt bruken av en strategi for styring av testdata .
Applikasjoner på bedriftsnivå krever TDM på grunn av deres komplekse, mangefasetterte testbehov. TDM fordeler alle viktige testområder som finnes i bedriftsutvikling, inkludert funksjonell, ikke-funksjonell, ytelses- og automatiseringstesting.
I tillegg gjør tåkeleggingsprosessene til TDM det avgjørende for applikasjoner som involverer personlige eller sensitive data, inkludert nettsteder eller applikasjoner knyttet til e-handel, finans og helsevesen.
Hvilke typer testing er databehandling for?
Databehandling fokuserer på tre brede kategorier av testing.
1. TDM for ytelsestesting
Ytelsestesting måler en applikasjons ytelse under forventet arbeidsbelastning, og vurderer dens reaksjonsevne, stabilitet og skalerbarhet. TDM lar deg fokusere testing på infrastruktur og brukervendte elementer for å oppnå rask, pålitelig ytelse.
De beste testadministrasjonsverktøyene bidrar til å øke oppdateringssykluser og generering av massedata.
2. TDM for funksjonstesting
Mens ytelsestesting analyserer applikasjonens hastighet og stabilitet, avgjør funksjonell testing om programvaren fungerer i henhold til forhåndsbestemte krav. I hovedsak: Gjør programvaren det den skal? Tjenester for administrasjon av testdata bidrar til å opprettholde kvalitetskontroll over kjerneapplikasjonen pluss nye og oppgraderte funksjoner.
TDM hjelper til med å lindre eller forhindre lav dekning, tilgangsgrenser, lange tidslinjer for datainnhenting, høy avhengighet og problemer knyttet til størrelsen på testmiljøet.
3. TDM i automatiseringstesting
Testdatastrategi for automatisering og hyperautomatisering prosesser tillater berøringsfrie operasjoner samtidig som de øker nøyaktigheten ved å redusere potensialet for menneskelige feil. Testdatabehandlingsprosesser brukes på tvers av alle typer testdatastyringsautomatiseringsverktøy og testing, inkludert robotprosessautomatisering .
En testdatastrategi for automatisering bidrar til å lindre langsom front-end-dataoppretting, mangel på tilgang til dynamiske data og manglende evne til å få tilgang til testmiljøet.
Fordeler med Test Data Management
TDM-strategier, sammen med automatiseringsverktøy for testdataadministrasjon , gir flere fordeler for organisasjoner på bedriftsnivå.
1. Forbedrer datakvaliteten
All testing i verden er resultatløs hvis den er bygget på ufullstendige, irrelevante eller korrupte data. TDM identifiserer, administrerer og lagrer dataene som trengs for automatisert testing, slik at du kan sikre at den er riktig og fullstendig. I tillegg, ved å avslutte behovet for dataoverføring mellom flere testere, minimeres datakorrupsjon, om ikke eliminert.
2. Utvikler realistiske data
Testresultater vil være uproduktive hvis testdata ikke representerer produksjonsdata nøyaktig. TDM lar organisasjoner identifisere og lagre testdata som gjenspeiler dataene som finnes på produksjonsservere, og sikrer at testresultatene gjenspeiler programvarefunksjoner i den virkelige verden. Referert til som “realistiske data”, det ligner på produksjonsdata i format, mengde og andre faktorer.
3. Forbedrer tilgang til data
Automatisert programvaretesting fungerer bare effektivt når data er tilgjengelig på forhåndsbestemte tidspunkter. For eksempel kan datavarehustestverktøyene trenge å få tilgang til data til bestemte tider for autentiseringsformål. Fordi TDM fokuserer på datalagring, er de riktige dataene alltid klare når det kreves av den automatiserte testprogramvaren og produksjonstidslinjen.
4. Sikrer dataoverholdelse
TDM hjelper organisasjoner med å opprettholde samsvar med alle relevante myndighets- og andre forskrifter, som HIPPA , CCPA og EUs GDPR. Testdatahåndtering GDPR og andre slike forskrifter krever produksjonsdata som kan inkludere brukernavn, lokasjonsdata, personlig informasjon og mer – data som må maskeres før testing kan skje.
De beste verktøyene for administrasjon av testdata lar organisasjoner automatisk anonymisere data for både intern og ekstern bruk for å sikre samsvar.
Utfordringer og fallgruver ved håndtering av testdata
Selv om administrasjon av testdata gir viktige fordeler for programvareutvikling på bedriftsnivå, har de også potensielle fallgruver. Å forstå utfordringene med TDM gjør at organisasjoner kan forutse og minimere effektene deres.
1. Produksjonskloning er sakte og dyrt
For å få testdata vil de fleste organisasjoner hente data fra produksjonsservere og deretter anonymisere dem. Innsamling av produksjonsdata kan imidlertid være tidkrevende, spesielt sent i utviklingsprosessen når man arbeider med store mengder kode.
Etter å ha klonet dataene, trenger du et sted å lagre dem. Infrastruktur- og lagringskostnader kan øke raskt. Du kan redusere disse kostnadene med dataslicing. I stedet for å klone all produksjonsdata, vil teamet skjære ut en mindre, representativ “slice” av data.
2. Obfuskeringsprosesser legger til kostnader og kompleksitet
Som beskrevet tidligere er brukerdata sterkt regulert, selv for intern testing, og krever anonymisering. Dessverre tilfører dataobfuskeringsprosessen kompleksitet og kostnader til utviklingsprosessen.
Selv om hastigheten, nøyaktigheten og kostnadseffektiviteten til obfuskering er forbedret med automatiserte testverktøy, vil det fortsatt eksistere en læringskurve for relevante team.
Topptegn/årsaker som indikerer at organisasjonen din trenger administrasjon av testdata
Selv om all programvareutvikling drar nytte av administrasjon av testdata, prioriterer ikke organisasjoner alltid implementering. Følgende tegn indikerer at en organisasjon vil se nesten umiddelbare fordeler ved å implementere TDM:
- Datastørrelsen øker “over hele linja”, inkludert økninger i datasettstørrelsen, totale datasett, databaseforekomster og oppstrømssystemer.
- En betydelig mengde produksjonstid brukes på å forberede data for testing.
- Produksjonsdata overgår langt mengden av testdata som er tilgjengelig.
- Applikasjonsfunksjoner publiseres med feil.
- Testteam er desentralisert eller må stole på data fra en sentral kilde.
- Testteam er overarbeidet og klarer ikke å holde tritt med testbehov.
- Oppstrømsdata genererer det store flertallet av testdata.
- Testdatasett er ikke gjenbrukbare eller enkle å duplisere.
Testdatabehandling hjelper blant annet med å redusere, korrigere og forhindre disse problemene.
Datatyper i programvaretesting
Programvareapplikasjoner genererer utrolige mengder data under utvikling og etter utgivelse. De testdatabehandlingsprosessen fokuserer vanligvis på følgende datatyper:
1. Produksjonsdata
Produksjonsdata genereres av ekte mennesker som bruker applikasjonen din. Avhengig av størrelsen på brukerbasen din og applikasjonens kompleksitet, kan produksjonsvolumet bli veldig stort, veldig raskt – og det er derfor det vanligvis er delt inn i undersett basert på testbehov.
Vær oppmerksom på at produksjonsdata ofte inneholder sensitiv informasjon i forhold til samsvarsproblemer , for eksempel medisinske og økonomiske data, som krever tilsløring.
2. Syntetiske data
Syntetiske data lages enten manuelt eller med automatiserte testverktøy. Den simulerer ekte brukeratferd så nært som mulig.
Selv om det omgår behovet for uskarphet, har syntetiske data begrenset nytteverdi. Den brukes først og fremst til å teste nye funksjoner.
Nøyaktig opprettelse av syntetiske data krever høy kompetanse, selv om et automatisert verktøy for testdatabehandling gjør det enklere.
3. Gyldige data
Gyldige data er begrepet som brukes for å beskrive data produsert når det ikke oppstår uventede feil eller hendelser. Dataens format, verdier og mengde stemmer overens med forventningene før test. Gyldige data tester det som kalles «den lykkelige veien», som er når brukerens reise følger det forventede kurset.
4. Ugyldige data
Ugyldige data stammer fra den “ulykkelige banen”. Det er data fra uventede scenarier og feil. Ugyldige data brukes også som en del av kaostesting, som tester grensene for en applikasjon under en flom av dårlige data.
Hva gjør “data av god kvalitet” for programvaretestingsformål?
Testing med ufullstendige eller irrelevante data er ofte verre enn å gi avkall på testing helt, ettersom konklusjonene som trekkes, og påfølgende handlinger som tas, vil være feil. Men hvordan identifiserer organisasjoner “gode” data for programvaretestingsformål? Se etter disse tre datakvalitetsegenskapene:
1. Nøyaktighet
Gode data gjenspeiler virkelige prosedyrer tett. Hvis du bruker maskerte produksjonsdata, bør det være direkte knyttet til området du tester – det kan ikke være et tilfeldig utvalg av brukeratferd. Syntetiske data bør nøyaktig ligne ekte brukeratferd, inkludert deres uforutsigbare natur.
2. Gyldighet
Gode data samsvarer med formålet med testscenarioet ditt. For eksempel kjøper ikke de fleste nettkunder 200 kvanta av en enkelt vare, så omfattende testing av systematferd i det scenariet er dårlig bruk av ressurser. Du vil imidlertid teste for situasjoner der folk kjøper ti varer.
3. Unntak
Data bør dekke problemer som sannsynligvis vil skje, men sjelden. Et scenario der en kunde betaler for en vare med en kupongkode er et vanlig eksempel på «unntaksdata» på e-handelsarenaen.
Hvilke spørsmål bør du stille før og mens du planlegger for datatesting?
Testsuksess bestemmes i stor grad i planleggingsfasen. I de innledende stadiene bør lagene stille følgende spørsmål.
1. Hvilke data trenger vi?
Å bestemme hvilke data som må samles inn er en todelt prosess. Først må det forholde seg til testscenarioet. Den må også ha forretningsrelevans for å hjelpe testing med å forbli kostnadseffektiv og effektiv.
2. Hvor mye data trenger vi?
For mye data, som å kopiere all produksjonsdata, er kostbart, tidkrevende og kompliserer prosessen for mye. På den annen side, hvis prøvestørrelsen er for liten, vil resultatene være unøyaktige.
3. Når trenger vi dataene?
Er testingen planlagt, eller bør dataene være tilgjengelige på forespørsel? Lagene bør koordinere alle testplaner og oppdateringssykluser før testing begynner.
4. Hvilken type testing er nødvendig?
Automatisering av programvaretesting krever stabile, forutsigbare datasett. Hvis dataene som er nødvendige for testen varierer betydelig, kan manuell testing gi bedre resultater.
5. Hva slags verktøy trenger jeg?
Hvilken type tester må du utføre? Trenger du verktøy for å utføre utelukkende UI-tester , ytelsestesting , API-tester og nettsidetester ? iOS , kvalitetssikring , Android , Linux , Windows ? Eller trenger du et fullstabelverktøy for å utføre alle disse typene tester?
Trinn for å administrere datatesting
Selv om spesifikasjonene vil variere, vil programvareutviklere på bedriftsnivå generelt følge disse trinnene når de implementerer en TDM-strategi.
1. Dataoppretting – teknikker for å generere data for testing, etc.
For å generere effektive data, må du vurdere nøyaktigheten og relevansen. Gjenskaper det realistiske scenarier? I tillegg må du generere unntaksdata, som dekker scenarier utenfor typisk brukeraktivitet.
2. Dataobfuskasjon
Du må maskere alle produksjonsdata for å holde deg innenfor regelverket. De vanligste typene obfuskering inkluderer anagrammering, kryptering, substitusjon og nulling. Mens manuell tilsløring er mulig i begrenset kapasitet, krever maskering på bedriftsnivå automatiserte verktøy.
3. Dataslicing
Å kopiere all produksjonsdata er ofte bortkastet ressurser og tid. Med dataslicing samles et håndterbart sett med relevante data, noe som øker hastigheten og kostnadseffektiviteten til testingen.
4. Provisjon
Klargjøring skjer etter at dataene er innhentet og maskert. Under klargjøring flyttes data inn i testmiljøet. Automatiserte verktøy gir muligheten til å legge inn testsett i testmiljøer ved hjelp av CI/CD-integrasjon, med mulighet for manuell justering.
5. Integrasjoner
Testdata fra flere kilder innenfor IT-økosystemet må integreres i CI/CD-rørledningen (CI/CD-rørledningen er den etablerte prosessen for kodeendringer). Å oppnå integrasjon krever tidlig identifisering av alle datakanaler.
6. Versjonskontroll
Å lage versjoner av testdata hjelper teamene med å gjenta tester for å måle resultater. I tillegg tillater versjoner overvåking av nøyaktige endringer i testparametere.
Kjennetegn og egenskaper ved styring av testdata
TDM tilpasser seg de stadig skiftende behovene til ethvert programvareutviklingsprosjekt. Men uavhengig av eventuelle justeringer som er nødvendige for en organisasjon, vil TDM-prosessen også vise følgende egenskaper:
1. Forbedret datakvalitet og troskap
TDM øker nøyaktigheten og realismen til testdataene dine slik at de gir et virkelig representativt utvalg av brukeratferd. Alle prosesser fører til syvende og sist til ett mål: en pålitelig, stabil brukeropplevelse.
2. Overholdelse av forskrifter
Test databehandlingsprogramvare sikrer at alle produksjonsdata er tilstrekkelig maskert før testing, og holder organisasjonen din med alle personvernforskrifter. Ved å fortsette å overholde kravene, unngår du juridiske konsekvenser, inkludert bøter og negative PR-spørsmål.
3. Forbedret produktkvalitet
Kvalitetssikring er en tidkrevende, kostbar prosess – men også nødvendig for å lansere funksjonelle, brukervennlige applikasjoner. TDM-prosesser tillater raskere feilidentifikasjon, forbedret sikkerhet og mer allsidig testing sammenlignet med den tradisjonelle siled-metoden.
Hvordan implementere testdatabehandling
Organisasjonens programvareprodukt vil diktere en rekke testspesifikasjoner, men den grunnleggende implementeringen av konsepter for testdatabehandling innebærer følgende fem trinn:
Trinn 1: Planlegging
Start med å danne et datatestteam, som deretter vil bestemme krav og dokumentasjon for testdatastyring samtidig som du utvikler en omfattende testplan.
Trinn 2: Analyse
Under analysestadiet konsolideres datakrav på tvers av team. Sikkerhetskopiering, lagring og lignende logistiske problemer er også implementert.
Trinn 3: Design
Designstadiet er det siste punktet i planleggingen før testingen begynner. Teamene bør identifisere alle datakilder samtidig som de ferdigstiller planer for kommunikasjon, dokumentasjon og testaktiviteter.
Trinn 4: Bygg
Byggestadiet er der “gummi møter veien.” Planer gjennomføres. Først skjer datamaskering. Deretter blir data sikkerhetskopiert. Til slutt kjøres testing.
Trinn 5: Vedlikehold
Etter test implementering av dataadministrasjon, vil selskapet måtte vedlikeholde prosessene for prosjektets livssyklus. TDM-vedlikehold inkluderer feilsøking, oppgradering av eksisterende testdata og å legge til nye datatyper.
Test datastyringsstrategier
Fordi TDM berører så mange forskjellige elementer i utviklingsprosessen, kan det raskt bli komplisert. De følgende strategiene lar deg holde fokus og kontinuerlig forbedre organisasjonens test tilnærming til datahåndtering .
Strategi 1: Forbedre datalevering
Prøv å konsekvent redusere leveringstiden for testdata ved å bruke programvaretesttjenester som ZAPTEST. Verktøy med DevOps-funksjoner effektiviserer testing med en lav-touch-tilnærming.
Med ZAPTEST kan brukere velge Sekvensiell; Tilfeldige eller unike testdata ved bruk av automatisk eller spesifikt antall rader. De kan spesifisere dataområde og retningslinjer for “utenfor verdier” som gjør det mulig å lage realistiske datadrevne testscenarier for funksjonell (UI og API), ytelsestesting og RPA.
I tillegg kan automatisert testprogramvare erstatte IT-billettsystemer med et selvbetjeningssystem for brukere.
Strategi 2: Reduser infrastrukturkostnader
Volumet av testdata vokser under utviklingen, noe som resulterer i økt bruk av infrastrukturressurser. TDM-verktøy kan bidra til å minimere tilknyttede infrastrukturkostnader gjennom datakonsolidering, arkivering og en prosess som kalles bokmerke, som utnytter plass i testmiljøet bedre.
Strategi 3: Forbedre datakvaliteten
Testdatabehandlingsløsninger øker kontinuerlig datakvaliteten ved å fokusere på tre nøkkelelementer: dataenes alder, nøyaktighet og størrelse.
Hvordan forbedre testdataadministrasjonen
TDM er ikke en statisk prosess. Etter det første oppsettet vil du strebe etter kontinuerlige forbedringer ved å følge disse teste beste praksis for datahåndtering .
1. Isoler data
Ved å kjøre tester i et kontrollert miljø, kan du isolere dataene for bedre å sammenligne forventet kontra faktisk utgang. Isolering av data gir også mulighet for parallell testing.
2. Minimer databaselagring
Lagring av testdata i databaser reduserer automatisk testhastighet samtidig som det øker vanskeligheten med å isolere data. Automatiserte verktøy, pluss teknikker som dataslicing, bidrar til å redusere mengden databaselagring som kreves.
3. Fokus på enhetstester
Følg retningslinjene fastsatt av testautomatiseringspyramiden, som anbefaler å gjøre enhetstester til omtrent 50 % av testingen. Enhetstester kjøres uavhengig av eksterne data, koster mye mindre enn andre testtyper, og er relativt raske å implementere.
Hvordan måle testdatahåndtering
Følgende beregninger gir viktig informasjon om effektiviteten til dine TDM-strategier.
1. Er nok testdata tilgjengelig?
Du kan måle tilgjengeligheten av testdata ved å spore tiden brukt på å administrere data for bruk i testing. Hvis utilstrekkelig data er tilgjengelig, går utviklingstiden langsommere, og utviklere vil føle seg begrenset.
2. Er testdata tilgjengelig for automatisert testing?
Automatiserte testprosesser krever data på forespørsel. Overvåk prosentandelen av tilgjengelige datasett, pluss frekvensen de får tilgang til og frekvensen de oppdateres.
3. Er de automatiserte testene begrenset av testing av data?
Hvor mange automatiserte tester kan du kjøre med dine nåværende testdata? Hvis du trenger å kjøre flere tester enn dataene tillater, må du samle testdata oftere.
Den enkleste og mest nøyaktige måten å oppnå disse målingene på er med programvare for administrasjon av testdata .
Personvernproblemer og hvordan du kan forhindre det
Mens testdatabehandling oppsto som en metode for å samle inn og analysere data, har den over tid blitt like viktig for å forhindre ulike personvernproblemer.
1. Dataforordningen
TDM sikrer at bedriften din forblir i samsvar med CCPA, HIPAA, GDPR og alle andre relevante personvernforskrifter. Unnlatelse av å maskere data på riktig måte under testing kan resultere i betydelige økonomiske og til og med potensielt kriminelle straffer.
2. Forbruker tilbakeslag
Datainnbrudd kan resultere i betydelig skade på et selskaps image, ettersom brukere vil bli motvillige til å bruke en applikasjon som er utsatt for lekkasjer. Implementering av testdataadministrasjon hjelper til med å oppnå brukertillit ved både å forhindre lekkasjer og forsikre potensielle brukere om at dataene deres holdes sikre.
Konklusjon
Behovet for testing innen programvareutvikling vil bare bli mer nødvendig og mer komplekst. For å effektivisere utviklingsprosesser, samtidig som kvalitetskontrollen opprettholdes, må bedriftsorganisasjoner gjøre det bruke programvare for administrasjon av testdata, spesielt testadministrasjonsverktøy som de som er laget av ZAPTEST .
De beste verktøyene for administrasjon av testdata gir omfattende, responsiv oppretting og administrasjon av testdata, noe som gir overlegen programvare med større funksjonalitet levert raskere enn noen gang før.
Vanlige spørsmål
Her er raske svar på vanlige spørsmål om håndtering av testdata i programvaretesting.
Hva er Test Data Management?
Testdataadministrasjon er opprettelse, administrasjon og analyse av data som er nødvendige for automatiserte testverktøy for datavarehus. Prosesser fokuserer på å identifisere data av høy kvalitet knyttet til spesifikke testparametere, maskere dem og levere dem til passende team.
De beste verktøyene for administrasjon av testdata automatiserer mange av prosessene som datainnsamling, tilsløring og lagring.
Hva er testdata i programvaretesting?
En stor del av dataene som brukes i programvaretesting er produksjonsdata, som genereres av ekte brukere. På grunn av personvernforskrifter krever produksjonsdata maskering før bruk i testing.
Programvaretestdata kan også være syntetiske, noe som betyr at de er kunstig produsert for å gjenskape atferden til ekte brukere så nøyaktig som mulig. Den brukes ofte til å teste nye funksjoner eller oppgraderinger før de publiseres.