Hva er datadrevet testing? Lær å lage rammeverk
Datadrevet testing
Datadrevet testing er en programvaretestmetode der testdata lagres i tabell- eller regnearkformat. Datadrevet testing lar testere legge inn et enkelt testskript som kan utføre tester for alle testdata fra en tabell og forvente testutdata i samme tabell. Det kalles også tabelldrevet testing eller parameterisert testing.
Datadrevet rammeverk
Datadrevet rammeverk er et rammeverk for automatiseringstesting der inngangsverdier leses fra datafiler og lagres i variabler i testskript. Det gjør det mulig for testere å bygge både positive og negative testtilfeller i en enkelt test. Inndata i datadrevet rammeverk kan lagres i én eller flere datakilder som .xls, .xml, .csv og databaser.
Hvorfor datadrevet testing?
Datadrevet testing er viktig fordi testere ofte har flere datasett for en enkelt test, og det kan være tidkrevende å lage individuelle tester for hvert datasett. Datadrevet testing hjelper til med å holde data atskilt fra testskript, og de samme testskriptene kan utføres for forskjellige kombinasjoner av inputtestdata og testresultater kan genereres effektivt.
Eksempel:
For eksempel ønsker vi å teste innloggingssystemet med flere inndatafelt med 1000 forskjellige datasett.
For å teste dette kan du bruke følgende forskjellige tilnærminger:
Tilnærming 1) Lag 1000 skript ett for hvert datasett og kjør hver test separat en etter en.
Tilnærming 2) Endre verdien i testskriptet manuelt og kjør det flere ganger.
Tilnærming 3) Importer dataene fra excel-arket. Hent testdata fra excel-rader én etter én og utfør skriptet.
I de gitte tre scenariene er de to første arbeidskrevende og tidkrevende. Derfor er det ideelt å følge den tredje tilnærmingen.
Dermed er den tredje tilnærmingen ikke annet enn et datadrevet rammeverk.
Hvordan lage et datadrevet automatiseringsrammeverk
Vurder at du vil teste påloggingsfunksjonaliteten til en applikasjon.
Trinn 1) Identifiser testtilfellene
- Skriv inn riktig brukernavn og passord – pålogging vellykket
- Skriv inn feil brukernavn og riktig passord – Påloggingsfeil
- Skriv inn riktig brukernavn og feil passord – Påloggingsfeil
Trinn 2) Lag detaljerte testtrinn for de tre testtilfellene ovenfor
Testtilfelle# | Description | Teststrinn | Testdata | forventede resultater |
---|---|---|---|---|
1 | Sjekk Login for gyldig legitimasjon |
|
Brukernavn: gyldig passord: gyldig | Innloggingssuksess |
2 | Sjekk Login for ugyldig legitimasjon |
|
Brukernavn: ugyldig passord: gyldig | Pålogging mislyktes |
3 | Sjekk Login for ugyldig legitimasjon |
|
Brukernavn: gyldig passord: ugyldig | Pålogging mislyktes |
Trinn 3) Lag testskript
Hvis du observerer testtrinnene, forbli felles gjennom de 3 testtrinnene. Du må lage et testskript for å utføre disse trinnene
// This is Pseudo Code // Test Step 1: Launch Application driver.get("URL of the Application"); // Test Step 2: Enter Username txtbox_username.sendKeys("valid"); // Test Step 3: Enter Password txtbox_password.sendKeys("invalid"); // Test Step 4: Check Results If (Next Screen) print success else Fail
Trinn 4) Lag en excel/csv med Input Test Data
Trinn 5) Trinn Endre skriftet for å sløyfe over inputtestdata. Inngangskommandoene bør også parameteriseres
// This is Pseudo Code // Loop 3 Times for (i = 0; i & lt; = 3; i++) { // Read data from Excel and store into variables int input_1 = ReadExcel(i, 0); int input_2 = ReadExcel(i, 1); // Test Step 1: Launch Application driver.get("URL of the Application"); // Test Step 2: Enter Username txtbox_username.sendKeys(input_1); // Test Step 3: Enter Password txtbox_password.sendKeys(input_2); // Test Step 4: Check Results If(Next Screen) print success else Fail }
Over er bare 3 testtilfeller. Testskriptet kan brukes til å gå over følgende testtilfeller bare ved å legge til testdataverdier Excel
- Skriv inn feil brukernavn og feil passord – Pålogging mislyktes
- Skriv inn riktig brukernavn og passord tomt – Pålogging mislyktes
- Skriv inn tomt brukernavn og tomt passord – Pålogging mislyktes
Og så videre
Beste praksis for datadrevet testing
Nedenfor er de beste testpraksisene for datadrevet testing:
- Det er ideelt å bruke realistisk informasjon under den datadrevne testprosessen
- Testflytnavigasjon skal være kodet inne i testskriptet
- Drive virtuelle APIer med meningsfulle data
- Bruk data til å drive dynamiske påstander
- Test positive så vel som negative utfall
- Gjenbruk datadrevne funksjonstester for sikkerhet og ytelse
Fordeler med datadrevet testing
Datadrevet gir mange fordeler, noen av dem er:
- Gjør det mulig å teste applikasjoner med flere sett med dataverdier under regresjonstesting
- Testdata og verifikasjonsdata kan organiseres i bare én fil, og den er atskilt fra testcase-logikken.
- Basert på verktøyet er det mulig å ha testskriptene i ett enkelt depot. Dette gjør tekstene enkle å forstå, vedlikeholde og administrere.
- Handlinger og funksjoner kan gjenbrukes i forskjellige tester.
- Noen verktøy genererer testdata automatisk. Dette er nyttig når store mengder tilfeldige testdata er nødvendig, noe som bidrar til å spare tid.
- Datadrevet testing kan utføre enhver fase av utviklingen. En datadrevet testomsorg er vanligvis slått sammen i én prosess. Imidlertid kan den brukes i flere testtilfeller.
- Lar utviklere og testere ha tydelig separasjon for logikken til testsakene/skriptene deres fra testdataene.
- De samme testsakene kan utføres flere ganger, noe som bidrar til å redusere testtilfeller og skript.
- Eventuelle endringer i testskriptet påvirker ikke testdataene
Ulemper med datadrevet testing
Noen ulemper med datadrevet automatiseringstestmetode er:
- Kvaliteten på testen er avhengig av automatiseringsferdighetene til implementeringsteamet
- Datavalidering er en tidkrevende oppgave når du tester store datamengder.
- Vedlikehold er et stort problem ettersom store mengder koding er nødvendig for datadrevet testing.
- Tekniske ferdigheter på høyt nivå kreves. En tester må kanskje lære et helt nytt skriptspråk.
- Det kommer mer dokumentasjon. For det meste relatert til script management tester infrastruktur og testresultater.
- Et tekstredigeringsprogram som Notisblokk er nødvendig for å opprette og vedlikeholde datafiler.
konklusjonen
- Datadrevet er et testautomatiseringsrammeverk som lagrer testdata i et tabell- eller regnearkformat.
- I datadrevet testautomatiseringsrammeverk kan inndata lagres i én eller flere datakilder som xls, XML, csv og databaser.
- Å lage en individuell test for hvert datasett er en lang og tidkrevende prosess. Datadrevet testing-rammeverk løser dette problemet ved å holde dataene atskilt fra funksjonstester.
- I datadrevet testing er det et ideelt alternativ å bruke realistisk informasjon
- Det tillater testing av applikasjoner med flere sett med dataverdier under Regresjonstesting
- Ulempen med denne metoden er at den er avhengig av automatiseringsferdighetene til implementeringsteamet