Hvad er testdata i softwaretest?
โก Smart opsummering
Testdata i softwaretestning er det input, der gives til en applikation under testudfรธrelse. Veldesignede data driver positive, negative, ydeevne- og sikkerhedstjek, sรฅ de skal genereres, anonymiseres og opdateres gennem hele produktets livscyklus.

Som tester kan du mรฅske mene, at det er udfordrende nok at designe testcases โ sรฅ hvorfor overhovedet besvรฆre sig med noget sรฅ rutineprรฆget som testdata? Denne vejledning introducerer testdata, forklarer, hvorfor de er vigtige, og deler praktiske tips til at generere dem hurtigt.
Hvad er testdata i softwaretest?
Testdata i softwaretest er det input, der gives til et softwareprogram under testudfรธrelse. Det reprรฆsenterer data, der enten pรฅvirker eller pรฅvirkes af softwaren under testning. Testdata bruges i positiv testning - til at verificere, at funktioner producerer forventede resultater for givne input - og i negativ testning til at kontrollere, hvordan softwaren hรฅndterer usรฆdvanlige, exceptionelle eller ugyldige input.
Dรฅrligt designede testdata dรฆkker ikke alle mulige scenarier, hvilket direkte hรฆmmer softwarekvaliteten.
Hvad er generering af testdata, og hvorfor skal testdata oprettes fรธr testkรธrsel?
Testning er en proces, der producerer og forbruger store mรฆngder data. De data, der bruges i testning, beskriver de indledende betingelser for en test og er det medie, hvorigennem testeren interagerer med softwaren. Det er derfor en afgรธrende del af de fleste funktionelle tests.
Afhรฆngigt af dit testmiljรธ skal du muligvis skabe test data fra bunden, eller i det mindste identificer et passende eksisterende datasรฆt til din test tilfรฆldeTestdata oprettes typisk synkroniseret med den testcase, de understรธtter.
Testdata kan genereres pรฅ fire almindelige mรฅder:
- Manuelt af en tester eller forretningsanalytiker.
- Massekopiering af data fra et produktionsmiljรธ til testmiljรธet.
- Massekopiering af testdata fra รฆldre klientsystemer.
- Automatiserede vรฆrktรธjer til generering af testdata.
Eksempeldata skal genereres fรธr Testudfรธrelsen begynder, fordi det er vanskeligt at administrere oprettelsen af โโden senere. Mange testmiljรธer krรฆver flere forudgรฅende trin eller tidskrรฆvende konfiguration, fรธr data kan indlรฆses. Hvis datagenerering sker under udfรธrelsesfasen, risikerer du at misse testfristen.
Afsnittene nedenfor beskriver flere testtyper sammen med forslag til deres testdatabehov.
Testdata for hvid Box Test
In Hvid Box Test, testdatahรฅndtering er afledt af direkte undersรธgelse af den kode, der testes. Udvรฆlgelseskriterierne omfatter typisk:
- Filialdรฆkning: generere data, sรฅ hver gren i kildekoden testes mindst รฉn gang.
- Stitestning: hรฅndvรฆrksdata, sรฅ hver sti udfรธres mindst รฉn gang.
- Negativ API-test: Brug ugyldige parametertyper eller ugyldige argumentkombinationer til at kalde interne metoder.
Testdata til prรฆstationstestning
Test af ydeevne mรฅler hvor hurtigt et system reagerer under en bestemt arbejdsbyrde. Mรฅlet er ikke at finde funktionelle fejl, men at identificere flaskehalse. Eksempeldatasรฆttet skal vรฆre meget tรฆt pรฅ virkelig eller levende produktionsdata for at resultaterne er meningsfulde.
Hvordan fรฅr man fat i sรฅdanne data? Den mest pรฅlidelige kilde er kunder selv. De kan enten levere et eksisterende datasรฆt eller beskrive, hvordan data fra den virkelige verden ser ud, sรฅ du kan modellere dem. I en vedligeholdelsestest projekt, kan du kopiere data fra produktionen til testmiljรธet. Det er god praksis at anonymisere (forvrรฆnge) fรธlsomme felter โ CPR-numre, kreditkortnumre, bankoplysninger โ fรธr der laves nogen kopi.
Testdata til sikkerhedstest
Sikkerhedstest verificerer, at et informationssystem beskytter data mod ondsindede hensigter. Datasรฆt skal dรฆkke fire sรธjler:
- Fortrolighed: Oplysninger fra klienter opbevares strengt fortroligt og deles ikke med eksterne parter. Hvis applikationen bruger SSL, skal der designes data, der beviser, at krypteringen er korrekt.
- Integrity: De oplysninger, der returneres af systemet, er korrekte. Opbyg data ved at gennemgรฅ design, kode, databaseskemaer og filstrukturer.
- Godkendelse: processen med at etablere brugeridentitet. Brug forskellige kombinationer af brugernavne og adgangskoder for at bekrรฆfte, at kun autoriserede personer fรฅr adgang.
- Bemyndigelse: de rettigheder, der er tildelt en bestemt bruger. Kombinรฉr brugere, roller og handlinger for at bekrรฆfte, at kun brugere med tilstrรฆkkelige rettigheder kan udfรธre en bestemt handling.
Testdata for sort Box Test
I sort Box Test af koden er ikke synlig for testeren. Funktionelle testcases skal indeholde data, der opfylder fรธlgende kriterier:
- Ingen data: Tjek svaret, nรฅr der ikke er indsendt noget.
- Gyldige data: Tjek svaret med korrekte testdata.
- Ugyldige data: Tjek svaret med forkerte testdata.
- Ulovligt dataformat: Tjek svaret, nรฅr dataene er i et ikke-understรธttet format.
- Datasรฆt for randbetingelser: data, der ligger pรฅ minimums-, maksimums- og lige uden for grรฆnsevรฆrdier.
- รkvivalenspartitiondatasรฆt: data, der reprรฆsenterer hver รฆkvivalensklasse.
- Beslutningstabeldatasรฆt: data, der udรธver alle regler i en beslutningstabel.
- Datasรฆt for tilstandsovergang: data, der driver systemet gennem hver defineret tilstandsovergang.
- Data fra brugsscenarietest: data afstemt med end-to-end use cases.
Bemรฆrk: Afhรฆngigt af den applikation, der testes, kan du bruge nogle eller alle ovenstรฅende kategorier.
Automatiserede testdatagenereringsvรฆrktรธjer
Automatiserede vรฆrktรธjer genererer store, varierede datasรฆt hurtigere end nogen manuel proces. To veletablerede eksempler er:
- DTM-testdata Generator โ et brugerdefineret vรฆrktรธj, der producerer data, tabeller, visninger og procedurer til databasetestscenarier, herunder ydeevne, kvalitetssikring, belastning og brugervenlighed.
- Datatect - en SQL datagenerator fra Banner Software, der skaber realistiske testdata i ASCII-flade filer eller direkte i RDBMS-systemer som f.eks. Oracle, Sybase, SQL Server og Informix.
For en evalueret, opdateret liste over udvalgte, se 10 Bedste Test Data Generator Vรฆrktรธjer.
Bedste praksis for hรฅndtering af testdata
Pรฅlidelige testdata afhรฆnger af disciplineret husholderskepingFรธlg disse fremgangsmรฅder for at holde datasรฆttene sunde pรฅ tvรฆrs af udgivelser:
- Versionsversion af dine data: Gem datasรฆt i et repository sammen med de testcases, der bruger dem, sรฅ รฆndringer kan revideres.
- Maskefรธlsomme felter: anonymiser personlige, รธkonomiske og sundhedsmรฆssige data, fรธr de kopieres fra produktionssystemet.
- Opdater regelmรฆssigt: Genopbyg datasรฆt ved hver udgivelse for at holde trit med รฆndringer i skemaer og forretningsregler.
- Dokumentรฉr forventede resultater: Par hvert datasรฆt med det forventede resultat, sรฅ fejl er nemme at sortere fra hinanden.
- Automatiser sรฅning: Brug scripts eller fixtures til at indlรฆse data i starten af โโhver testkรธrsel, hvilket sikrer repeterbarhed.

