Vad är datadriven testning? Lär dig skapa ramar
Datadriven testning
Datadriven testning är en mjukvarutestmetod där testdata lagras i tabell- eller kalkylbladsformat. Datadriven testning tillåter testare att mata in ett enda testskript som kan utföra tester för alla testdata från en tabell och förvänta sig testresultatet i samma tabell. Det kallas också för tabelldriven testning eller parametriserad testning.
Datadrivet ramverk
Datadrivet ramverk är ett ramverk för automatiseringstestning där indata läses från datafiler och lagras i variabler i testskript. Det gör det möjligt för testare att bygga både positiva och negativa testfall i ett enda test. Indata i datadrivet ramverk kan lagras i enstaka eller flera datakällor som .xls, .xml, .csv och databaser.
Varför datadriven testning?
Datadriven testning är viktigt eftersom testare ofta har flera datamängder för ett enda test och att skapa individuella tester för varje datamängd kan vara tidskrävande. Datadriven testning hjälper till att hålla data åtskilda från testskript och samma testskript kan köras för olika kombinationer av indatatestdata och testresultat kan genereras effektivt.
Exempelvis:
Vi vill till exempel testa inloggningssystemet med flera inmatningsfält med 1000 olika datamängder.
För att testa detta kan du använda följande olika tillvägagångssätt:
Tillvägagångssätt 1) Skapa 1000 skript ett för varje datamängd och kör varje test separat en efter en.
Tillvägagångssätt 2) Ändra värdet i testskriptet manuellt och kör det flera gånger.
Tillvägagångssätt 3) Importera data från excel-arket. Hämta testdata från excel-rader en efter en och kör skriptet.
I de givna tre scenarierna är de två första arbetskrävande och tidskrävande. Därför är det idealiskt att följa det tredje tillvägagångssättet.
Det tredje tillvägagångssättet är alltså inget annat än ett datadrivet ramverk.
Hur man skapar ett datadrivet automationsramverk
Överväg att du vill testa inloggningsfunktionen för en applikation.
Steg 1) Identifiera testfallen
- Ange korrekt användarnamn och lösenord – inloggning lyckad
- Ange felaktigt användarnamn och korrekt lösenord – Inloggningsfel
- Ange korrekt användarnamn och felaktigt lösenord – Inloggningsfel
Steg 2) Skapa detaljerade teststeg för ovanstående 3 testfall
Testfall# | Description | Teststeg | Testdata | Förväntade resultat |
---|---|---|---|---|
1 | Kontrollera Logga in för giltiga referenser |
|
Användarnamn: giltigt lösenord: giltigt | Logga in framgång |
2 | Kontrollera inloggning för ogiltiga autentiseringsuppgifter |
|
Användarnamn: ogiltigt lösenord: giltigt | Inloggning misslyckades |
3 | Kontrollera inloggning för ogiltiga autentiseringsuppgifter |
|
Användarnamn: giltigt lösenord: ogiltigt | Inloggning misslyckades |
Steg 3) Skapa testskript
Om du observerar teststegen, förbli gemensamma genom de 3 teststegen. Du måste skapa ett testskript för att utföra dessa steg
// 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
Steg 4) Skapa en excel/csv med indatatestdata
Steg 5) Steg Modifiera skriptet för att loopa över indatatestdata. Ingångskommandona bör också parametreras
// 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 }
Ovan är bara 3 testfall. Testskriptet kan användas för att loopa över följande testfall bara genom att lägga till testdatavärden till excel
- Ange felaktigt användarnamn och felaktigt lösenord – Inloggning misslyckades
- Ange korrekt användarnamn och lösenord tomt – Inloggning misslyckades
- Ange tomt användarnamn och tomt lösenord – Inloggning misslyckades
Och så vidare
Bästa metoder för datadriven testning
Nedan ges bästa testpraxis för datadriven testning:
- Det är idealiskt att använda realistisk information under den datadrivna testprocessen
- Testflödesnavigering bör kodas inuti testskriptet
- Kör virtuella API:er med meningsfull data
- Använd data för att driva dynamiska påståenden
- Testa positiva såväl som negativa utfall
- Återanvända datadrivna funktionstester för säkerhet och prestanda
Fördelar med datadrivna tester
Datadriven erbjuder många fördelar, några av dem är:
- Tillåter att testa applikationer med flera uppsättningar datavärden under regressionstestning
- Testdata och verifieringsdata kan organiseras i bara en fil, och den är skild från testfallslogiken.
- Baserat på verktyget är det möjligt att ha testskripten i ett enda arkiv. Detta gör texterna lätta att förstå, underhålla och hantera.
- Actions and Functions kan återanvändas i olika tester.
- Vissa verktyg genererar testdata automatiskt. Detta är användbart när stora volymer av slumpmässiga testdata är nödvändiga, vilket hjälper till att spara tid.
- Datadrivna tester kan utföra vilken fas som helst av utvecklingen. En datadriven testvård slås i allmänhet samman i en enda process. Det kan dock användas i flera testfall.
- Tillåter utvecklare och testare att ha en tydlig separation för logiken i deras testfall/skript från testdata.
- Samma testfall kan köras flera gånger vilket hjälper till att minska testfall och skript.
- Eventuella ändringar i testskriptet påverkar inte testdata
Nackdelar med datadriven testning
Några nackdelar med datadriven automationstestmetod är:
- Kvaliteten på testet beror på implementeringsteamets automatiseringsförmåga
- Datavalidering är en tidskrävande uppgift när man testar stora mängder data.
- Underhåll är ett stort problem eftersom stora mängder kodning behövs för datadrivna tester.
- Tekniska färdigheter på hög nivå krävs. En testare kan behöva lära sig ett helt nytt skriptspråk.
- Det kommer mer dokumentation. Mest relaterat till skripthantering testar infrastruktur och testresultat.
- En textredigerare som Anteckningar krävs för att skapa och underhålla datafiler.
Slutsats
- Datadriven är ett ramverk för testautomatisering som lagrar testdata i ett tabell- eller kalkylbladsformat.
- I datadrivet testautomationsramverk kan indata lagras i enstaka eller flera datakällor som xls, XML, csv och databaser.
- Att skapa ett individuellt test för varje datamängd är en lång och tidskrävande process. Datadriven testramverk löser det här problemet genom att hålla data åtskilda från funktionstester.
- I datadriven testning är det ett idealiskt alternativ att använda realistisk information
- Det tillåter testning av applikationer med flera uppsättningar datavärden under Regressionstestning
- Nackdelen med denna metod är att den är beroende av implementeringsteamets automatiseringsförmåga