Hva er testdata i programvaretesting?
Som tester tenker du kanskje at "Å designe testcases er utfordrende nok, hvorfor bry deg om noe så trivielt som testdata". Formålet med denne opplæringen er å introdusere deg til testdata, deres betydning og gi praktiske tips og triks for å generere testdata raskt. Så la oss begynne!
Hva er testdata i programvaretesting?
Testdata i programvaretesting er inngangen som gis til et program under testkjøring. Det representerer data som påvirker eller påvirkes av programvarekjøring under testing. Testdata brukes både til positiv testing for å bekrefte at funksjoner gir forventede resultater for gitte innganger og for negativ testing for å teste programvarens evne til å håndtere uvanlige, eksepsjonelle eller uventede input.
Dårlig utformede testdata vil kanskje ikke teste alle mulige testscenarier som vil hemme kvaliteten på programvaren.
Hva er generering av testdata? Hvorfor bør testdata opprettes før testutførelse?
Alle vet at testing er en prosess som produserer og forbruker store mengder data. Data brukt i testing beskriver startbetingelsene for en test og representerer mediet som testeren påvirker programvaren gjennom. Det er en avgjørende del av de fleste Funksjonelle tester.
Avhengig av testmiljøet ditt må du kanskje LAGE testdata (de fleste ganger) eller i det minste identifisere passende testdata for testtilfellene dine (er testdataene allerede opprettet).
Vanligvis opprettes testdata synkronisert med testforsøk den er ment å brukes til.
Testdata kan genereres –
- Manuelt
- Massekopi av data fra produksjon til testmiljø
- Massekopi av testdata fra eldre klientsystemer
- Automatiserte verktøy for generering av testdata
Vanligvis bør eksempeldata genereres før du begynner testkjøring fordi det ellers er vanskelig å håndtere testdatabehandling. Siden i mange testmiljøer å lage testdata krever flere forhåndstrinn eller svært tidkrevende konfigurasjoner av testmiljø. . Også hvis generering av testdata er utført mens du er i testgjennomføringsfasen, kan du overskride testfristen.
Nedenfor beskrives flere testtyper sammen med noen forslag angående deres behov for testdata.
Testdata for hvit Box Testing
In Hvit Box Testing, testdata Management er avledet fra direkte undersøkelse av koden som skal testes. Testdata kan velges ved å ta hensyn til følgende ting:
- Det er ønskelig å dekke så mange grener som mulig; testdata kan genereres slik at alle grener i programmets kildekode testes minst én gang
- Banetesting: alle stier i programmets kildekode testes minst én gang – testdataforberedelse kan gjøres for å dekke så mange tilfeller som mulig
- Negativ API-testing:
- Testdata kan inneholde ugyldige parametertyper som brukes til å kalle forskjellige metoder
- Testdata kan bestå av ugyldige kombinasjoner av argumenter som brukes til å kalle programmets metoder
Testdata for ytelsestesting
Ytelsestesting er typen testing som utføres for å bestemme hvor raskt systemet reagerer under en bestemt arbeidsbelastning. Målet med denne typen testing er ikke å finne feil, men å eliminere flaskehalser. Et viktig aspekt ved ytelsestesting er at settet med eksempeldata som brukes må være svært nærme "ekte" eller "live" data som brukes i produksjonen. Følgende spørsmål oppstår: 'Ok, det er greit å teste med ekte data, men hvordan får jeg tak i disse dataene?' Svaret er ganske enkelt: fra folk som vet best – kundene. De kan være i stand til å gi noen data de allerede har, eller, hvis de ikke har et eksisterende sett med data, kan de hjelpe deg ved å gi tilbakemelding om hvordan de virkelige dataene kan se ut. I tilfelle du er i en vedlikeholdstesting prosjektet kan du kopiere data fra produksjonsmiljøet inn i testområdet. Det er en god praksis å anonym (kryptere) sensitive kundedata som personnummer, kredittkort Numbers, Bankdetaljer osv. mens kopien lages.
Testdata for sikkerhetstesting
Sikkerhetstesting er prosessen som avgjør om et informasjonssystem beskytter data mot ondsinnet hensikt. Settet med data som må utformes for å fullt ut teste en programvaresikkerhet, må dekke følgende emner:
- Konfidensialitet: All informasjon gitt av klienter holdes strengt konfidensielt og deles ikke med noen eksterne parter. Som et kort eksempel, hvis en applikasjon bruker SSL, kan du designe et sett med testdata som bekrefter at krypteringen er riktig utført.
- Integrity: Kontroller at informasjonen fra systemet er korrekt. For å designe passende testdata kan du starte med å ta en grundig titt på design, kode, databaser og filstrukturer.
- Autentisering: Representerer prosessen med å etablere identiteten til en bruker. Testdata kan utformes som en annen kombinasjon av brukernavn og passord, og formålet er å kontrollere at kun autoriserte personer har tilgang til programvaresystemet.
- Autorisasjon: Forteller hva som er rettighetene til en bestemt bruker. Testdata kan inneholde en annen kombinasjon av brukere, roller og operasjoner for å sjekke er det bare brukere med tilstrekkelige rettigheter som kan utføre en bestemt operasjon.
Testdata for svart Box Testing
I svart Box Testing av koden er ikke synlig for testeren. Dine funksjonelle testtilfeller kan ha testdata som oppfyller følgende kriterier –
- Ingen data: Sjekk systemrespons når ingen data sendes inn
- Gyldige data: Sjekk systemrespons når gyldige testdata sendes inn
- Ugyldig data: Sjekk systemets respons når Ugyldig testdata sendes inn
- Ulovlig dataformat: Sjekk systemrespons når testdata er i et ugyldig format
- Datasett for grensetilstand: Testdata som oppfyller grenseverdibetingelser
- Ekvivalenspartisjonsdatasett: Testdata som kvalifiserer ekvivalenspartisjonene dine.
- Beslutningstabell Datasett: Testdata som kvalifiserer teststrategien din for beslutningstabell
- State Transition Test Data Set: Testdata som oppfyller teststrategien din for tilstandsovergang
- Bruk Case Test Data: Testdata synkronisert med brukstilfellene dine.
Merknader: Avhengig av programvaren som skal testes, kan du bruke noen av eller alle testdataene ovenfor
Automatiserte verktøy for generering av testdata
For å generere ulike sett med data kan du bruke en rekke automatiserte verktøy for generering av testdata. Nedenfor er noen eksempler på slike verktøy:
DTM Test Data generator, er et fullt tilpassbart verktøy som genererer data, tabeller (visninger, prosedyrer osv.) for databasetesting (ytelsestesting, QA-testing, lasttesting eller brukervennlighetstesting).
Datatect er en SQL datagenerator fra Banner Software, genererer en rekke realistiske testdata i flate ASCII-filer eller genererer direkte testdata for RDBMS inkludert Oracle, Sybase, SQL Server og Informix.
Konklusjon
Avslutningsvis lar godt utformede testdata deg identifisere og korrigere alvorlige funksjonsfeil. Valg av testdata som er valgt må revurderes i hver fase av en flerfaset produktutviklingssyklus. Så hold alltid et øye med det. For å lette denne prosessen, ved hjelp av effektiv teste datagenereringsverktøy kan effektivisere arbeidsflyten din betydelig.