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# Tekniske beskrivelser 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 datadrevne testverktøy

1) Test sigma

Test sigma er en skybasert datadrevet testplattform som jeg har funnet uvurderlig for å maksimere testdekningen ved å koble testlogikk fra testdata. Den er spesielt utviklet for team som trenger å validere applikasjoner mot ulike datasett, kanttilfeller og forretningsscenarier uten å lage overflødige testskript, noe som effektiviserer hele den datadrevne testarbeidsflyten.

Under mine datadrevne testprosjekter utnyttet jeg Testsigmas parameteriseringsmuligheter for å utføre identiske testscenarier mot flere datakombinasjoner fra eksterne kilder som Excel og CSV-filer. Plattformens evne til å iterere gjennom datarader utvidet automatisk testdekningen min betydelig, mens detaljert rapportering av resultater på datanivå hjalp meg raskt å identifisere hvilke spesifikke inputkombinasjoner som utløste feil på tvers av web-, mobil- og API-lag.

Test sigma

Egenskaper:

  • Integrering av eksterne datakilder: Denne funksjonen muliggjør direkte tilkoblinger til Excel-regneark, CSV-filer og databasetabeller for sentralisert administrasjon av testdata. Den eliminerer hardkodede verdier og lar deg vedlikeholde testdata uavhengig av testlogikk. Du kan oppdatere datasett uten å endre testskript, noe som sikrer fleksibilitet og vedlikeholdbarhet. Jeg bruker dette til å administrere hundrevis av datavariasjoner effektivt samtidig som jeg holder testscenariene rene og gjenbrukbare.
  • Automatisert iterasjon av data med flere rader: Testsigma kjører automatisk testscenarier på tvers av flere datarader i én testkjøring, noe som utvider dekningen dramatisk. Du kan validere en rekke inputkombinasjoner, grensebetingelser og variasjoner i forretningsregler uten å duplisere testtilfeller. Denne funksjonen håndterer datasekvensering og iterasjonslogikk transparent. Jeg syntes dette var spesielt effektivt for omfattende regresjonstesting med minimalt med vedlikehold av skript.
  • Dynamisk testtrinnparameterisering: Den lar deg erstatte statiske verdier med dynamiske parametere som henter data fra eksterne kilder under utførelse. Du kan konfigurere testtrinn for å tilpasse seg varierende inndata, betingelser og forventede resultater basert på datasettverdier. Denne funksjonen støtter komplekse datatransformasjoner og betinget logikk. Jeg bruker den til å bygge fleksible testscenarier som imøtekommer ulike forretningskrav og brukerarbeidsflyter.
  • Rapportering av utførelse på datanivå: Plattformen genererer detaljerte rapporter som bryter ned testresultater etter individuelle datakombinasjoner, og viser nøyaktig hvilke inndata som ble bestått eller ikke. Du kan analysere mønstre, identifisere problematiske dataområder og spore feil til spesifikke datasettrader. Denne funksjonen gir visuelle dashbord og eksporterbare analyser for interessentkommunikasjon. Jeg anbefaler å bruke denne innsikten til å prioritere forbedringer av datakvaliteten og forbedre testdatastrategier.
  • Datadrevet støtte på tvers av plattformer: Testsigma utvider datadrevne funksjoner på tvers av web-, mobil- og API-testing innenfor enhetlige arbeidsflyter. Du kan bruke de samme datasettene for å validere konsistens på tvers av ulike applikasjonslag og teknologier. Denne funksjonen sikrer omfattende ende-til-ende-validering med parameteriserte dataflyter. Jeg har brukt den til å bekrefte at backend-databehandling gjenspeiles riktig i frontend-grensesnitt på tvers av flere plattformer samtidig.

Pros

  • Jeg opplevde bredere testdekning uten å øke det totale antallet utførte testtilfeller dramatisk
  • Tilkobling til vanlige datakilder føles enkelt og reduserer oppsetttiden for daglige testarbeidsflyter
  • Detaljert rapportering på datanivå gjør det enklere å raskt identifisere nøyaktig hvilke kombinasjoner som feiler

Ulemper

  • Jeg måtte håndtere datasett nøye fordi store volumer raskt kan bli forvirrende.

Priser:

  • Pris: Tilpasset prising med datadrevne testfunksjoner inkludert som en del av det omfattende abonnementet
  • Gratis prøveperiode: 14-dagers gratis prøveperiode

Besøk Testsigma >>

14-dagers gratis prøveperiode

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.

Konklusjon

  • 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

Oppsummer dette innlegget med: