Generering af testdata: Hvad er, hvordan, eksempel, værktøjer

Indholdsfortegnelse:

Anonim

Som tester kan du måske tro, at 'Design af testsager er udfordrende nok, hvorfor så gider noget så trivielt som testdata' '. Formålet med denne tutorial er at introducere dig til testdata, dets betydning og give praktiske tip og tricks til hurtigt at generere testdata. Så lad os begynde!

Hvad er testdata i softwaretest?

Testdata i softwaretestning er det input, der gives til et softwareprogram under testudførelse. Det repræsenterer data, der påvirker eller påvirkes af softwareudførelse under test. Testdata bruges til både positiv test for at verificere, at funktioner producerer forventede resultater for givne input og til negativ test for at teste softwares evne til at håndtere usædvanlige, usædvanlige eller uventede input.

Dårligt designede testdata tester muligvis ikke alle mulige testscenarier, som hæmmer softwarens kvalitet.

Hvad er generering af testdata? Hvorfor skal der oprettes testdata inden testudførelse?

Alle ved, at test er en proces, der producerer og forbruger store mængder data. Data anvendt til test beskriver de indledende betingelser for en test og repræsenterer mediet, gennem hvilket testeren påvirker softwaren. Det er en vigtig del af de fleste funktionelle tests.

Afhængigt af dit testmiljø kan det være nødvendigt at OPRETTE testdata (oftest) eller i det mindste identificere passende testdata til dine testsager (hvis testdataene allerede er oprettet).

Typisk oprettes testdata synkroniseret med den testcase, den er beregnet til at blive brugt til.

Testdata kan genereres -

  • Manuelt
  • Massekopi af data fra produktion til testmiljø
  • Massekopi af testdata fra ældre klientsystemer
  • Automatiske værktøjer til generering af testdata

Typisk skal der genereres stikprøvedata, før du begynder at udføre test, fordi det ellers er vanskeligt at håndtere testdatastyring. Da oprettelse af testdata i mange testmiljøer tager flere forudgående trin eller meget tidskrævende testmiljøkonfigurationer. . Også hvis der genereres testdata, mens du er i testudførelsesfase, kan du muligvis overskride din testfrist.

Nedenfor er beskrevet flere testtyper sammen med nogle forslag vedrørende deres testdatabehov.

Testdata til White Box-test

I White Box Testing er testdata Management afledt af direkte undersøgelse af den kode, der skal testes. Testdata kan vælges ved at tage hensyn til følgende ting:

  • Det er ønskeligt at dække så mange grene som muligt; testdata kan genereres således, at alle grene i programkildekoden testes mindst én gang
  • Sti-test: alle stier i programkildekoden testes mindst én gang - forberedelse af testdata kan udføres for at dække så mange tilfælde som muligt
  • Negativ API-test:
    • Testdata kan indeholde ugyldige parametertyper, der bruges til at kalde forskellige metoder
    • Testdata kan bestå af ugyldige kombinationer af argumenter, der bruges til at kalde programmets metoder

Testdata til præstationstest

Performance Testing er den type test, der udføres for at bestemme, hvor hurtigt systemet reagerer under en bestemt arbejdsbyrde. Målet med denne type test er ikke at finde fejl, men at fjerne flaskehalse. Et vigtigt aspekt af Performance Testing er, at det anvendte sæt af eksempeldata skal være meget tæt på 'ægte' eller 'live' data, der bruges til produktion. Følgende spørgsmål opstår: 'Ok, det er godt at teste med ægte data, men hvordan får jeg disse data?' Svaret er ret ligetil: fra de mennesker, der ved bedst - kunderne . De kan muligvis levere nogle data, de allerede har, eller hvis de ikke har et eksisterende datasæt, kan de hjælpe dig ved at give feedback om, hvordan de virkelige data kan se ud. Hvis du er i envedligeholdelsestestprojekt , du kunne kopiere data fra produktionsmiljøet til testbedet. Det er en god praksis at anonymisere (kryptere) følsomme kundedata som socialsikringsnummer, kreditkortnumre, bankoplysninger osv., Mens kopien er lavet.

Testdata til sikkerhedstest

Sikkerhedstest er den proces, der bestemmer, om et informationssystem beskytter data mod ondsindet hensigt. Datasættet, der skal designes for fuldt ud at teste en softwaresikkerhed, skal dække følgende emner:

  • Fortrolighed: Alle oplysninger, der gives af klienter, holdes i den strengeste fortrolighed og deles ikke med nogen eksterne parter. Som et kort eksempel, hvis en applikation bruger SSL, kan du designe et sæt testdata, der verificerer, at krypteringen udføres korrekt.
  • Integritet: Bestem, at de oplysninger, der leveres af systemet, er korrekte. For at designe egnede testdata kan du starte med at se nærmere på design, kode, databaser og filstrukturer.
  • Godkendelse: Repræsenterer processen med at etablere en brugers identitet. Testdata kan designes som en anden kombination af brugernavne og adgangskoder, og formålet er at kontrollere, at kun de autoriserede personer har adgang til softwaresystemet.
  • Autorisation: Fortæller, hvad en bestemt brugers rettigheder har. Testdata kan indeholde en anden kombination af brugere, roller og operationer for kun at kontrollere, at brugere med tilstrækkelige privilegier er i stand til at udføre en bestemt operation.

Testdata til Black Box-test

Ved Black Box Testing er koden ikke synlig for testeren. Dine funktionelle testsager kan have testdata, der opfylder følgende kriterier -

  • Ingen data : Kontroller systemets reaktion, når der ikke er indsendt nogen data
  • Gyldige data : Kontroller systemets respons, når gyldige testdata indsendes
  • Ugyldige data : Kontroller systemsvar, når InValid-testdata indsendes
  • Ulovligt dataformat : Kontroller systemets reaktion, når testdata er i et ugyldigt format
  • Datasæt for randbetingelser: Testdata, der opfylder betingelser for grænseværdier
  • Equivalence Partition Data Set : Testdata, der kvalificerer dine ækvivalenspartitioner.
  • Beslutningstabel datasæt : Testdata, der kvalificerer din testtabelstrategi for beslutningstabel
  • Testdatasæt for tilstandstransition: Testdata, der opfylder din teststrategi for statsovergangstest
  • Brug sagstestdata : Testdata synkroniseres med dine brugssager.

Bemærk : Afhængigt af den softwareapplikation, der skal testes, kan du bruge nogle eller alle ovenstående oprettelse af testdata

Automatiske værktøjer til generering af testdata

For at generere forskellige datasæt kan du bruge et spektrum af automatiserede testdata-genereringsværktøjer. Nedenfor er nogle eksempler på sådanne værktøjer:

DTM Test Data generator, er et fuldt tilpasset værktøj, der genererer data, tabeller (visninger, procedurer osv.) Til databasetest (performance testing, QA testing, load testing eller usability testing) formål.
Datatect er en SQL-datagenerator fra Banner Software, genererer en række realistiske testdata i ASCII-flade filer eller genererer direkte testdata til RDBMS inklusive Oracle, Sybase, SQL Server og Informix.

Konklusion

Afslutningsvis giver veldesignede testdata dig mulighed for at identificere og rette alvorlige mangler i funktionalitet. Valg af valgte testdata skal revurderes i hver fase af en flerfaseproduktudviklingscyklus. Så hold altid øje med det.