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.

Datadrevet rammeverk

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

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
  1. Start programmet
  2. Skriv inn brukernavn passord
  3. Klikk OK
  4. Sjekk resultater
Brukernavn: gyldig passord: gyldig Innloggingssuksess
2 Sjekk Login for ugyldig legitimasjon
  1. Start programmet
  2. Skriv inn brukernavn passord
  3. Klikk OK
  4. Sjekk resultater
Brukernavn: ugyldig passord: gyldig Pålogging mislyktes
3 Sjekk Login for ugyldig legitimasjon
  1. Start programmet
  2. Skriv inn brukernavn passord
  3. Klikk OK
  4. Sjekk resultater
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

Datadrevet automatiseringsrammeverk

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:

  1. Gjør det mulig å teste applikasjoner med flere sett med dataverdier under regresjonstesting
  2. Testdata og verifikasjonsdata kan organiseres i bare én fil, og den er atskilt fra testcase-logikken.
  3. Basert på verktøyet er det mulig å ha testskriptene i ett enkelt depot. Dette gjør tekstene enkle å forstå, vedlikeholde og administrere.
  4. Handlinger og funksjoner kan gjenbrukes i forskjellige tester.
  5. Noen verktøy genererer testdata automatisk. Dette er nyttig når store mengder tilfeldige testdata er nødvendig, noe som bidrar til å spare tid.
  6. 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.
  7. Lar utviklere og testere ha tydelig separasjon for logikken til testsakene/skriptene deres fra testdataene.
  8. De samme testsakene kan utføres flere ganger, noe som bidrar til å redusere testtilfeller og skript.
  9. Eventuelle endringer i testskriptet påvirker ikke testdataene

Ulemper med datadrevet testing

Noen ulemper med datadrevet automatiseringstestmetode er:

  1. Kvaliteten på testen er avhengig av automatiseringsferdighetene til implementeringsteamet
  2. Datavalidering er en tidkrevende oppgave når du tester store datamengder.
  3. Vedlikehold er et stort problem ettersom store mengder koding er nødvendig for datadrevet testing.
  4. Tekniske ferdigheter på høyt nivå kreves. En tester må kanskje lære et helt nytt skriptspråk.
  5. Det kommer mer dokumentasjon. For det meste relatert til script management tester infrastruktur og testresultater.
  6. 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