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.
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 følgende 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# | Description | Test trin | Testdata | Forventede resultater |
---|---|---|---|---|
1 | Tjek Login for gyldige legitimationsoplysninger |
|
Brugernavn: gyldig adgangskode: gyldig | Login succes |
2 | Tjek Login for ugyldige legitimationsoplysninger |
|
Brugernavn: ugyldig adgangskode: gyldig | Login mislykkedes |
3 | Tjek Login for ugyldige legitimationsoplysninger |
|
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 gå over følgende testtilfælde 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 praksisser for datadrevet test
Nedenfor er 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:
- Tillader at teste applikationer med flere sæt dataværdier under regressionstest
- Testdata og verifikationsdata kan organiseres i kun én fil, og den er adskilt fra testcase-logikken.
- 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.
- Handlinger og funktioner kan genbruges i forskellige tests.
- 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.
- Datadrevet test kan udføre enhver fase af udviklingen. En data-drevet test plejer er generelt slået sammen i en enkelt proces. Det kan dog bruges i flere testsager.
- Tillader udviklere og testere at have en klar adskillelse af logikken i deres testcases/scripts fra testdataene.
- De samme testcases kan udføres flere gange, hvilket hjælper med at reducere testcases og scripts.
- Eventuelle ændringer i testscriptet påvirker ikke testdataene
Ulemper ved datadrevet test
Nogle ulemper ved datadrevet automationstestmetode er:
- Kvaliteten af testen afhænger af implementeringsteamets automatiseringsevner
- Datavalidering er en tidskrævende opgave, når man tester store mængder data.
- Vedligeholdelse er et stort problem, da der kræves en stor mængde kodning til datadrevet test.
- Der kræves tekniske færdigheder på højt niveau. En tester skal muligvis lære et helt nyt scriptsprog.
- Der kommer mere dokumentation. For det meste relateret til scripts management tests infrastruktur og testresultater.
- 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