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.
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.