Hva er testdata i programvaretesting?
โก Smart oppsummering
Testdata i programvaretesting er inputen som mates inn i et program under testkjรธring. Godt utformede data driver positive, negative, ytelses- og sikkerhetskontroller, sรฅ de mรฅ genereres, anonymiseres og oppdateres gjennom hele produktets livssyklus.

Som tester kan du tenke at det รฅ designe testtilfeller er utfordrende nok โ sรฅ hvorfor bry seg med noe sรฅ rutinepreget som testdata? Denne veiledningen introduserer testdata, forklarer hvorfor de er viktige og deler praktiske tips for รฅ generere dem raskt.
Hva er testdata i programvaretesting?
Testdata i programvaretesting er inputen som gis til et program under testkjรธring. Den representerer data som enten pรฅvirker eller pรฅvirkes av programvaren under testing. Testdata brukes i positiv testing โ for รฅ bekrefte at funksjoner gir forventede resultater for gitte input โ og i negativ testing for รฅ sjekke hvordan programvaren hรฅndterer uvanlige, eksepsjonelle eller ugyldige input.
Dรฅrlig utformede testdata dekker ikke alle mulige scenarier, noe som direkte hemmer programvarekvaliteten.
Hva er generering av testdata, og hvorfor bรธr testdata opprettes fรธr testkjรธring?
Testing er en prosess som produserer og forbruker store mengder data. Dataene som brukes i testing beskriver startbetingelsene for en test og er mediet som testeren samhandler med programvaren gjennom. Det er derfor en avgjรธrende del av de fleste funksjonelle tester.
Avhengig av testmiljรธet ditt, kan det hende du mรฅ skape test data fra bunnen av, eller i det minste identifiser et passende eksisterende datasett for din test tilfellerTestdata opprettes vanligvis synkronisert med testtilfellet den stรธtter.
Testdata kan genereres pรฅ fire vanlige mรฅter:
- Manuelt, av en tester eller forretningsanalytiker.
- Massekopiering av data fra et produksjonsmiljรธ til testmiljรธet.
- Massekopiering av testdata fra eldre klientsystemer.
- Automatiserte verktรธy for generering av testdata.
Eksempeldata bรธr genereres fรธr du Testkjรธringen starter, fordi det er vanskelig รฅ administrere รฅ opprette den senere. Mange testmiljรธer krever flere forhรฅndstrinn eller tidkrevende konfigurasjon fรธr data kan lastes inn. Hvis datagenerering skjer i lรธpet av utfรธrelsesfasen, risikerer du รฅ gรฅ glipp av testfristen.
Avsnittene nedenfor beskriver flere testtyper sammen med forslag til deres testdatabehov.
Testdata for hvit Box Testing
In Hvit Box Testing, testdatahรฅndtering er avledet fra direkte undersรธkelse av koden som testes. Utvalgskriteriene inkluderer vanligvis:
- Dekning av filialer: generere data slik at hver gren i kildekoden testes minst รฉn gang.
- Stitesting: hรฅndverksdata slik at hver bane utรธves minst รฉn gang.
- Negativ API-testing: bruk ugyldige parametertyper eller ugyldige argumentkombinasjoner til รฅ kalle interne metoder.
Testdata for ytelsestesting
Ytelsestesting mรฅler hvor raskt et system reagerer under en bestemt arbeidsbelastning. Mรฅlet er ikke รฅ finne funksjonelle feil, men รฅ identifisere flaskehalser. Eksempeldatasettet mรฅ vรฆre svรฆrt nรฆr ekte eller levende produksjonsdata for at resultatene skal vรฆre meningsfulle.
Hvordan fรฅr du tak i slike data? Den mest pรฅlitelige kilden er kunder seg selv. De kan enten tilby et eksisterende datasett eller beskrive hvordan data fra den virkelige verden ser ut, slik at du kan modellere det. I en vedlikeholdstesting prosjektet, kan du kopiere data fra produksjonen til testomrรฅdet. Det er god praksis รฅ anonym (forvrenge) sensitive felt โ personnummer, kredittkortnummer, bankopplysninger โ fรธr det lages noen kopi.
Testdata for sikkerhetstesting
Sikkerhetstesting bekrefter at et informasjonssystem beskytter data mot ondsinnede hensikter. Datasett mรฅ dekke fire sรธyler:
- Konfidensialitet: Informasjon fra klienter behandles strengt konfidensielt og deles ikke med eksterne parter. Hvis applikasjonen bruker SSL, mรฅ du designe data som beviser at krypteringen er korrekt.
- Integrity: informasjonen som returneres av systemet er korrekt. Bygg data ved รฅ gjennomgรฅ design, kode, databaseskjemaer og filstrukturer.
- Autentisering: prosessen med รฅ etablere brukeridentitet. Bruk forskjellige kombinasjoner av brukernavn og passord for รฅ bekrefte at bare autoriserte personer fรฅr tilgang.
- Autorisasjon: rettighetene som er gitt til en bestemt bruker. Kombiner brukere, roller og operasjoner for รฅ bekrefte at bare brukere med tilstrekkelige rettigheter kan utfรธre en bestemt operasjon.
Testdata for svart Box Testing
I svart Box Testing av koden er ikke synlig for testeren. Funksjonelle testtilfeller bรธr inneholde data som oppfyller fรธlgende kriterier:
- Ingen data: sjekk svaret nรฅr ingenting er sendt inn.
- Gyldige data: sjekk svaret med korrekte testdata.
- Ugyldige data: sjekk svaret med feil testdata.
- Ulovlig dataformat: Sjekk svaret nรฅr dataene er i et format som ikke stรธttes.
- Datasett for grensebetingelser: data som sitter pรฅ minimums-, maksimums- og like utenfor grenseverdier.
- Ekvivalenspartisjonsdatasett: data som representerer hver ekvivalensklasse.
- Datasett for beslutningstabell: data som utรธver alle regler i en beslutningstabell.
- Datasett for tilstandsovergang: data som driver systemet gjennom hver definerte tilstandsovergang.
- Brukstilfelle-testdata: data samkjรธrt med ende-til-ende-brukstilfeller.
OBS: Avhengig av applikasjonen som testes, kan du bruke noen eller alle kategoriene ovenfor.
Automatiserte verktรธy for generering av testdata
Automatiserte verktรธy genererer store, varierte datasett raskere enn noen manuell prosess. To etablerte eksempler er:
- DTM-testdata Generator โ et tilpassbart verktรธy som produserer data, tabeller, visninger og prosedyrer for databasetestingsscenarier, inkludert ytelse, kvalitetssikring, last og brukervennlighet.
- Datatect - en SQL datagenerator fra Banner Software som lager realistiske testdata i ASCII flatfiler eller direkte inn i RDBMS-systemer som Oracle, Sybase, SQL Server og Informix.
For en evaluert, oppdatert kortliste, se 10 beste testdata Generator verktรธy.
Beste praksis for hรฅndtering av testdata
Pรฅlitelige testdata avhenger av disiplinert hushjelppingFรธlg disse fremgangsmรฅtene for รฅ holde datasettene i god stand pรฅ tvers av utgivelser:
- Versjon av dataene dine: lagre datasett i et repositorium sammen med testtilfellene som bruker dem, slik at endringer kan revideres.
- Maskefรธlsomme felt: anonymiser personlige, รธkonomiske og helsemessige data fรธr kopiering fra produksjon.
- Oppdater regelmessig: gjenoppbygge datasett ved hver utgivelse for รฅ holde tritt med endringer i skjemaer og forretningsregler.
- Dokumenter forventede resultater: Koble hvert datasett med det forventede resultatet, slik at feil blir enkle รฅ sortere.
- Automatiser sรฅing: Bruk skript eller fixturer til รฅ laste inn data i starten av hver testkjรธring, noe som sikrer repeterbarhet.

