Hvad er datadrevet test? Lær at skabe rammer

Datadrevet test

Datadrevet test er en softwaretestmetode, hvor testdata gemmes i tabel- eller regnearksformat. Datadrevet test giver testere mulighed for at indtaste et enkelt testscript, der kan udføre test for alle testdata fra en tabel og forvente testoutput i den samme tabel. Det kaldes også tabeldrevet test eller parameteriseret test.

Datadrevet rammeværk

Datadrevet rammeværk er en automatiseringstestramme, hvor inputværdier læses fra datafiler og lagres i variabler i testscripts. Det gør det muligt for testere at bygge både positive og negative testtilfælde i en enkelt test. Inputdata i datadrevet framework kan gemmes i enkelte eller flere datakilder som .xls, .xml, .csv og databaser.

Datadrevet testbillede

I denne tutorial lærer du

Hvorfor datadrevet test?

Datadrevet test er vigtigt, fordi testere ofte har flere datasæt til en enkelt test, og det kan være tidskrævende at oprette individuelle test for hvert datasæt. Datadrevet test hjælper med at holde data adskilt fra testscripts, og de samme testscripts kan udføres for forskellige kombinationer af inputtestdata, og testresultater kan genereres effektivt.

Eksempel:

For eksempel vil vi teste login-systemet med flere inputfelter med 1000 forskellige datasæt.

For at teste dette kan du tage following forskellige tilgange:

Fremgangsmåde 1) Opret 1000 scripts ét for hvert datasæt og kør hver test separat én efter én.

Fremgangsmåde 2) Skift værdien i testscriptet manuelt, og kør det flere gange.

Fremgangsmåde 3) Importer data fra excel-arket. Hent testdata fra excel-rækker én efter én, og kør scriptet.

I de givne tre scenarier er de to første besværlige og tidskrævende. Derfor er det ideelt at følge den tredje tilgang.

Den tredje tilgang er således intet andet end en datadrevet ramme.

Sådan opretter du et datadrevet automatiseringsrammeværk

Overvej, at du vil teste login-funktionaliteten af ​​en applikation.

Trin 1) Identificer testtilfældene

  • Indtast korrekt brugernavn og adgangskode – Login lykkedes
  • Indtast forkert brugernavn og korrekt adgangskode – Login fejl
  • Indtast korrekt brugernavn og forkert adgangskode – Login-fejl

Trin 2) Opret detaljerede testtrin for ovenstående 3 testcases

Test sag# Beskrivelse Test trin Testdata Forventede resultater
1 Tjek Login for gyldige legitimationsoplysninger
  1. Start applikationen
  2. Indtast brugernavn adgangskode
  3. Klik på Okay
  4. Tjek resultater
Brugernavn: gyldig adgangskode: gyldig Login succes
2 Tjek Login for ugyldige legitimationsoplysninger
  1. Start applikationen
  2. Indtast brugernavn adgangskode
  3. Klik på Okay
  4. Tjek resultater
Brugernavn: ugyldig adgangskode: gyldig Login mislykkedes
3 Tjek Login for ugyldige legitimationsoplysninger
  1. Start applikationen
  2. Indtast brugernavn adgangskode
  3. Klik på Okay
  4. Tjek resultater
Brugernavn: gyldig adgangskode: ugyldig Login mislykkedes

Trin 3) Opret testscript

Hvis du observerer testtrinene, forbliv fælles gennem de 3 testtrin. Du skal oprette et testscript for at udføre disse trin

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

Trin 4) Opret en excel/csv med inputtestdata

Trin 5) Trin Rediger scriptet til at sløjfe over inputtestdata. Indgangskommandoerne bør også parametreres

// 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
}

Ovenfor er kun 3 testcases. Testscriptet kan bruges til at loope over following testcases blot ved at tilføje testdataværdier til Excel

  • Indtast forkert brugernavn og forkert adgangskode – Login mislykkedes
  • Indtast korrekt brugernavn og adgangskode tom – Login mislykkedes
  • Indtast tomt brugernavn og blank adgangskode – Login mislykkedes

Og så videre

Bedste praksis for datadrevet test:

Nedenfor er anført bedste testpraksis for datadrevet test:

  • Det er ideelt at bruge realistisk information under den datadrevne testproces
  • Testflownavigation skal være kodet inde i testscriptet
  • Drive virtuelle API'er med meningsfulde data
  • Brug data til at drive dynamiske påstande
  • Test positive såvel som negative resultater
  • Genbrug datadrevne funktionstests for sikkerhed og ydeevne

Fordele ved datadrevet test

Datadrevet tilbyder mange fordele, nogle af dem er:

  1. Tillader at teste applikationer med flere sæt dataværdier under regressionstest
  2. Testdata og verifikationsdata kan organiseres i kun én fil, og den er adskilt fra testcase-logikken.
  3. Baseret på værktøjet er det muligt at have testscripts i et enkelt lager. Det gør teksterne nemme at forstå, vedligeholde og administrere.
  4. Handlinger og funktioner kan genbruges i forskellige tests.
  5. Nogle værktøjer genererer testdata automatisk. Dette er nyttigt, når store mængder tilfældige testdata er nødvendige, hvilket hjælper med at spare tid.
  6. Datadrevet test kan udføre enhver fase af udviklingen. En datadrevet test cares er generelt slået sammen i én proces. Det kan dog bruges i flere testsager.
  7. Tillader udviklere og testere at have en klar adskillelse af logikken i deres testcases/scripts fra testdataene.
  8. De samme testcases kan udføres flere gange, hvilket hjælper med at reducere testcases og scripts.
  9. Eventuelle ændringer i testscriptet påvirker ikke testdataene

Ulemper ved datadrevet test:

Nogle ulemper ved datadrevet automationstestmetode er:

  1. Kvaliteten af ​​testen afhænger af implementeringsteamets automatiseringsevner
  2. Datavalidering er en tidskrævende opgave, når man tester store mængder data.
  3. Vedligeholdelse er et stort problem, da der kræves en stor mængde kodning til datadrevet test.
  4. Der kræves tekniske færdigheder på højt niveau. En tester skal muligvis lære et helt nyt scriptsprog.
  5. Der kommer mere dokumentation. For det meste relateret til scripts management tests infrastruktur og testresultater.
  6. En teksteditor som Notesblok er påkrævet for at oprette og vedligeholde datafiler.

konklusion:

  • Datadrevet er en testautomatiseringsramme, som gemmer testdata i et tabel- eller regnearksformat.
  • I datadrevet testautomatiseringsramme kan inputdata gemmes i enkelte eller flere datakilder som xls, XML, csv og databaser.
  • At lave en individuel test for hvert datasæt er en lang og tidskrævende proces. Datadrevet testramme løser dette problem ved at holde dataene adskilt fra funktionelle tests.
  • I datadrevet test er det en ideel mulighed at bruge realistisk information
  • Det giver mulighed for at teste applikationer med flere sæt dataværdier under Regressionstest
  • Ulempen ved denne metode er, at den er afhængig af implementeringsteamets automatiseringsevner