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.

  • ๏ธ Planlรฆg forud: Byg testdata sammen med testcases, sรฅ udfรธrelsen aldrig blokeres af manglende input eller miljรธopsรฆtning.
  • ๐ŸŽฏ Dรฆk alle scenarier: Forbered positive, negative, grรฆnse- og รฆkvivalenspartitionsdatasรฆt, der er separate og tydeligt mรฆrkede.
  • ๐Ÿ›ก๏ธ Maskรฉr fรธr du kopierer: Match performancedatasรฆt med produktionsvolumen og -form, men anonymiser fรธlsomme felter, fรธr der laves kopier.
  • ๐Ÿ‡ง๐Ÿ‡ท Automatiser det tunge lรธft: Brug generatorer eller AI-vรฆrktรธjer til at skalere realistiske datasรฆt, reducere manuel indsats og undgรฅ dobbeltarbejde.
  • ๐Ÿ”„ Opdater hver udgivelse: RevVis datasรฆt efter skemaรฆndringer, nye funktioner og lovgivningsmรฆssige opdateringer, sรฅ gamle data ikke producerer falske gennemgange.

Testdata i softwaretest

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.

Testdata i softwaretest

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.

Ofte Stillede Spรธrgsmรฅl

Testdata er ethvert input, der leveres til software under testning. For en loginformular omfatter eksempler et gyldigt brugernavn og en adgangskode (positiv), en blank adgangskode (negativ) og en e-mailadresse pรฅ 300 tegn (grรฆnse).

En testcase beskriver trinnene og det forventede resultat af et enkelt scenario. Testdata er de specifikke inputvรฆrdier, der fรธres ind i disse trin. Hver testcase har brug for sit eget datasรฆt, der udfรธrer scenariet.

Nok data er data, der dรฆkker alle รฆkvivalensklasser, grรฆnser og risikovรฆgtede scenarier. Volumen alene er ikke lig med dรฆkning. Kortlรฆg data til testcases, og stop med at tilfรธje poster, nรฅr huller i dรฆkningen lukkes.

Kun efter maskering af fรธlsomme felter sรฅsom navne, kontonumre og helbredsoplysninger. Afmaskerede produktionsdata overtrรฆder regler som GDPR og HIPAA og skaber en reel risiko for brud, hvis testmiljรธet kompromitteres.

Almindelige kategorier er gyldige, ugyldige, grรฆnser, รฆkvivalenspartitioner, beslutningstabel, tilstandsovergange, brugsscenarier og ingen datasรฆt. Hver kategori er rettet mod en forskellig risiko i den applikation, der testes.

Opdater testdata efter hver skemaรฆndring, stรธrre udgivelse, lovgivningsmรฆssig opdatering eller nรฅr produktionsadfรฆrd รฆndrer sig. Forรฆldede datasรฆt mangler nye valideringsregler og producerer falske bestรฅelser under regressionstest.

AI-vรฆrktรธjer syntetiserer realistiske, varierede datasรฆt, der fรธlger forretningsregler, maskerer personlige oplysninger og afbalancerer positive og negative cases. De markerer ogsรฅ manglende scenarier ved at analysere krav og eksisterende testdรฆkning.

Nej. AI accelererer generering og validerer mรธnstre, men menneskelige korrekturlรฆsere skal vurdere forretningsrisici, edge cases og compliance-krav. De mest effektive teams kombinerer AI-genererede datasรฆt med ekspertkuratering.

Opsummer dette indlรฆg med: