Hvad er testdata i softwaretest?

Som tester tรฆnker du mรฅske, at 'designe testcases er udfordrende nok, hvorfor sรฅ bekymre dig om noget sรฅ trivielt som testdata'. Formรฅlet med denne tutorial er at introducere dig til testdata, deres betydning og give praktiske tips og tricks til hurtigt at generere testdata. Sรฅ lad os begynde!

Hvad er testdata i softwaretest?

Testdata i softwaretest er input til et softwareprogram under testudfรธrelse. Det reprรฆsenterer data, der pรฅvirker eller pรฅvirkes af softwareudfรธrelse under test. Testdata bruges bรฅde til positiv test for at verificere, at funktioner giver forventede resultater for givne input, og til negative test for at teste softwares evne til at hรฅndtere usรฆdvanlige, exceptionelle eller uventede input.

Dรฅrligt designet testdata tester muligvis ikke alle mulige testscenarier, hvilket vil hรฆmme kvaliteten af โ€‹โ€‹softwaren.

Testdata i softwaretest

Hvad er testdatagenerering? Hvorfor skal testdata oprettes fรธr testudfรธrelse?

Alle ved, at test er en proces, der producerer og forbruger store mรฆngder data. Data brugt i test beskriver startbetingelserne for en test og reprรฆsenterer det medium, hvorigennem testeren pรฅvirker softwaren. Det er en afgรธrende del af de fleste Funktionelle test.

Afhรฆngigt af dit testmiljรธ skal du muligvis OPRETTE testdata (de fleste gange) eller i det mindste identificere passende testdata til dine testcases (er testdataene allerede oprettet).

Typisk oprettes testdata synkroniseret med test sag det er beregnet til at blive brugt til.

Testdata kan genereres -

  • Manuelt
  • Massekopi af data fra produktion til testmiljรธ
  • Massekopi af testdata fra รฆldre klientsystemer
  • Automatiserede testdatagenereringsvรฆrktรธjer

Typisk bรธr prรธvedata genereres, fรธr du begynder at udfรธre test, fordi det ellers er vanskeligt at hรฅndtere testdatahรฅndtering. Siden i mange testmiljรธer at oprette testdata krรฆver flere forhรฅndstrin eller meget tidskrรฆvende testmiljรธkonfigurationer. . Ogsรฅ hvis testdatagenerering er udfรธrt mens du er i testudfรธrelsesfasen, kan du overskride din testdeadline.

Nedenfor beskrives flere testtyper sammen med nogle forslag vedrรธrende deres behov for testdata.

Testdata for hvid Box Test

In Hvid Box Test, testdata Management er 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 programmets kildekode testes mindst รฉn gang
  • Stitest: alle stier i programmets kildekode testes mindst รฉn gang โ€“ testdataforberedelse kan udfรธres for at dรฆkke sรฅ mange tilfรฆlde som muligt
  • Negativ API-testning:
    • Testdata kan indeholde ugyldige parametertyper, der bruges til at kalde forskellige metoder
    • Testdata kan bestรฅ i ugyldige kombinationer af argumenter, som bruges til at kalde programmets metoder

Testdata til prรฆstationstestning

Test af ydeevne er den type test, der udfรธres for at bestemme, hvor hurtigt systemet reagerer under en bestemt arbejdsbelastning. Mรฅlet med denne type test er ikke at finde fejl, men at eliminere flaskehalse. Et vigtigt aspekt ved Performance Testing er, at det anvendte sรฆt af prรธvedata skal vรฆre meget tรฆt pรฅ 'rigtig' eller 'live' data, der bruges i produktionen. Fรธlgende spรธrgsmรฅl opstรฅr: 'Ok, det er godt at teste med rigtige 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 sรฆt data, kan de hjรฆlpe dig ved at give feedback om, hvordan de virkelige data kan se ud. Hvis du er i en vedligeholdelsestest projekt kunne du kopiere data fra produktionsmiljรธet ind i testlejet. Det er en god รธvelse at anonymisere (scramble) fรธlsomme kundedata som CPR-nummer, kreditkort Numbers, Bankoplysninger osv. mens kopien er lavet.

Testdata til sikkerhedstest

Sikkerhedstest er den proces, der afgรธr, om et informationssystem beskytter data mod ondsindet hensigt. Sรฆttet af data, der skal designes for fuldt ud at teste en softwaresikkerhed, skal dรฆkke fรธlgende emner:

  • Fortrolighed: Alle oplysninger fra kunderne holdes strengt fortrolige og deles ikke med nogen eksterne parter. Som et kort eksempel, hvis en applikation bruger SSL, kan du designe et sรฆt testdata, som verificerer, at krypteringen er udfรธrt korrekt.
  • Integrity: Kontroller, at oplysningerne fra systemet er korrekte. For at designe passende testdata kan du starte med at tage et dybdegรฅende kig 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.
  • Bemyndigelse: Fortรฆller hvilke rettigheder en bestemt bruger har. Testdata kan indeholde en anden kombination af brugere, roller og operationer for at kontrollere er det kun brugere med tilstrรฆkkelige privilegier, der er i stand til at udfรธre en bestemt handling.

Testdata for sort Box Test

I sort Box Test af koden er ikke synlig for testeren. Dine funktionelle testcases kan have testdata, der opfylder fรธlgende kriterier โ€“

  • Ingen data: Tjek systemsvar, nรฅr der ikke indsendes data
  • Gyldige data: Kontroller systemets svar, nรฅr gyldige testdata er indsendt
  • Ugyldige data: Tjek systemets respons nรฅr Ugyldig testdata indsendes
  • Ulovligt dataformat: Kontroller systemets respons, nรฅr testdata er i et ugyldigt format
  • Grรฆnsetilstandsdatasรฆt: Testdata, der opfylder grรฆnsevรฆrdibetingelser
  • Ekvivalenspartitionsdatasรฆt: Test data, der kvalificerer dine รฆkvivalenspartitioner.
  • Beslutningstabel Datasรฆt: Testdata, der kvalificerer din teststrategi for beslutningstabel
  • Tilstandsovergangstestdatasรฆt: Test data, der opfylder din teststrategi for tilstandsovergang
  • Brug Case Test Data: Test data synkroniseret med dine use cases.

Bemรฆrk: Afhรฆngigt af den softwareapplikation, der skal testes, kan du bruge nogle af eller alle ovenstรฅende testdataoprettelse

Automatiserede testdatagenereringsvรฆrktรธjer

For at generere forskellige sรฆt data kan du bruge en rรฆkke automatiserede testdatagenereringsvรฆrktรธjer. Nedenfor er nogle eksempler pรฅ sรฅdanne vรฆrktรธjer:

DTM Test data generator, er et fuldt tilpasseligt hjรฆlpeprogram, der genererer data, tabeller (visninger, procedurer osv.) til databasetest (ydelsestest, QA-test, belastningstest eller usability-test) formรฅl.

Datatect er en SQL datagenerator fra Banner Software, genererer en rรฆkke realistiske testdata i flade ASCII-filer eller genererer direkte testdata til RDBMS inklusive Oracle, Sybase, SQL Server og Informix.

Konklusion

Som konklusion giver veldesignede testdata dig mulighed for at identificere og rette alvorlige fejl i funktionaliteten. Valg af valgte testdata skal revurderes i hver fase af en flerfaset produktudviklingscyklus. Sรฅ hold altid รธje med det. For at lette denne proces, ved hjรฆlp af effektiv test vรฆrktรธjer til datagenerering kunne strรธmline din arbejdsgang betydeligt.

Opsummer dette indlรฆg med: