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.

Datadrivet ramverk

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

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
  1. Starta programmet
  2. Ange användarnamn lösenord
  3. Klicka på Okej
  4. Kontrollera resultat
Användarnamn: giltigt lösenord: giltigt Logga in framgång
2 Kontrollera inloggning för ogiltiga autentiseringsuppgifter
  1. Starta programmet
  2. Ange användarnamn lösenord
  3. Klicka på Okej
  4. Kontrollera resultat
Användarnamn: ogiltigt lösenord: giltigt Inloggning misslyckades
3 Kontrollera inloggning för ogiltiga autentiseringsuppgifter
  1. Starta programmet
  2. Ange användarnamn lösenord
  3. Klicka på Okej
  4. Kontrollera resultat
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

Datadrivet automationsramverk

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:

  1. Tillåter att testa applikationer med flera uppsättningar datavärden under regressionstestning
  2. Testdata och verifieringsdata kan organiseras i bara en fil, och den är skild från testfallslogiken.
  3. 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.
  4. Actions and Functions kan återanvändas i olika tester.
  5. 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.
  6. 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.
  7. Tillåter utvecklare och testare att ha en tydlig separation för logiken i deras testfall/skript från testdata.
  8. Samma testfall kan köras flera gånger vilket hjälper till att minska testfall och skript.
  9. Eventuella ändringar i testskriptet påverkar inte testdata

Nackdelar med datadriven testning

Några nackdelar med datadriven automationstestmetod är:

  1. Kvaliteten på testet beror på implementeringsteamets automatiseringsförmåga
  2. Datavalidering är en tidskrävande uppgift när man testar stora mängder data.
  3. Underhåll är ett stort problem eftersom stora mängder kodning behövs för datadrivna tester.
  4. Tekniska färdigheter på hög nivå krävs. En testare kan behöva lära sig ett helt nytt skriptspråk.
  5. Det kommer mer dokumentation. Mest relaterat till skripthantering testar infrastruktur och testresultat.
  6. 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