Mis on andmepõhine testimine? Õppige raamistikku looma

Andmepõhine testimine

Andmepõhine testimine on tarkvara testimismeetod, mille puhul testiandmed salvestatakse tabeli- või arvutustabelivormingus. Andmepõhine testimine võimaldab testijatel sisestada ühe testskripti, mis suudab testida kõiki tabelis olevaid testandmeid ja oodata testiväljundit samas tabelis. Seda nimetatakse ka tabelipõhiseks testimiseks või parameetritega testimiseks.

Andmepõhine raamistik

Andmepõhine raamistik on automatiseerimise testimise raamistik, milles sisendväärtusi loetakse andmefailidest ja salvestatakse testskriptides muutujateks. See võimaldab testijatel ühendada nii positiivsed kui ka negatiivsed testijuhtumid üheks testiks. Andmepõhise raamistiku sisendandmeid saab salvestada ühte või mitmesse andmeallikasse, nagu .xls, .xml, .csv ja andmebaasid.

Andmepõhine raamistik

Miks andmepõhine testimine?

Andmepõhine testimine on oluline, kuna testijatel on sageli ühe testi jaoks mitu andmekogumit ja iga andmekogumi jaoks individuaalsete testide loomine võib olla aeganõudev. Andmepõhine testimine aitab hoida andmeid testskriptidest lahus ja samu testskripte saab käivitada erinevate sisendtestiandmete kombinatsioonide jaoks ning testitulemusi saab tõhusalt genereerida.

Näide:

Näiteks tahame testida sisselogimissüsteemi mitme sisestusväljaga 1000 erineva andmestikuga.

Selle testimiseks võite kasutada järgmisi erinevaid lähenemisviise:

Lähenemisviis 1) Looge iga andmestiku jaoks 1000 skripti ja käitage iga testi ükshaaval eraldi.

Lähenemisviis 2) Muutke testskripti väärtust käsitsi ja käivitage see mitu korda.

Lähenemisviis 3) Importige andmed Exceli lehelt. Tooge ükshaaval Exceli ridadest testiandmed ja käivitage skript.

Antud kolme stsenaariumi puhul on kaks esimest töömahukad ja aeganõudvad. Seetõttu on ideaalne järgida kolmandat lähenemisviisi.

Seega pole kolmas lähenemisviis midagi muud kui andmepõhine raamistik.

Kuidas luua andmepõhise automatiseerimise raamistikku

Andmepõhine automatiseerimise raamistik

Mõelge, et soovite testida rakenduse sisselogimisfunktsioone.

Step 1) Tuvastage testjuhtumid

  • Sisestage õige kasutajanimi ja parool – Sisselogimine õnnestus
  • Sisestage vale kasutajanimi ja õige parool – sisselogimistõrge
  • Sisestage õige kasutajanimi ja vale parool – sisselogimistõrge

Step 2) Looge ülaltoodud kolme katsejuhtumi jaoks üksikasjalikud testietapid

Testjuhtum# Kirjeldus Testi sammud Testi andmed oodatud tulemused
1 Kontrollige sisselogimist kehtivate mandaatide jaoks
  1. Käivitage rakendus
  2. Sisesta kasutajanime parool
  3. Klõpsake nuppu OK
  4. Kontrollige tulemusi
Kasutajanimi: kehtiv parool: kehtiv Sisselogimine õnnestus
2 Kontrollige, kas sisselogimisel on kehtetuid mandaate
  1. Käivitage rakendus
  2. Sisesta kasutajanime parool
  3. Klõpsake nuppu OK
  4. Kontrollige tulemusi
Kasutajanimi: kehtetu parool: kehtiv Sisselogimine ebaõnnestus
3 Kontrollige, kas sisselogimisel on kehtetuid mandaate
  1. Käivitage rakendus
  2. Sisesta kasutajanime parool
  3. Klõpsake nuppu OK
  4. Kontrollige tulemusi
Kasutajanimi: kehtiv parool: kehtetu Sisselogimine ebaõnnestus

Step 3) Loo testskript

Kui järgite katseetappe, jääge 3 katseetapi jooksul tavaliseks. Nende toimingute tegemiseks peate looma testskripti

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

Step 4) Looge sisendtestiandmetega Excel/csv

Andmepõhine automatiseerimise raamistik

Step 5) Samm Muutke skripti sisendtestiandmete loopimiseks. Sisendkäsud tuleks samuti parameetriseerida

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

Ülaltoodud on vaid 3 testjuhtumit. Testskripti saab kasutada järgmiste testjuhtumite loomiseks, lisades lihtsalt testandmete väärtused Excel

  • Sisestage vale kasutajanimi ja vale parool – sisselogimine ebaõnnestus
  • Sisestage õige kasutajanimi ja parool tühjaks – sisselogimine ebaõnnestus
  • Sisestage tühi kasutajanimi ja tühi parool – sisselogimine ebaõnnestus

Ja nii edasi

Andmepõhise testimise parimad tavad

Allpool on toodud andmepõhise testimise parimad testimistavad.

  • Ideaalne on andmepõhise testimise käigus kasutada realistlikku teavet
  • Testivoo navigeerimine peaks olema testskriptis kodeeritud
  • Juhtige sisukate andmetega virtuaalseid API-sid
  • Kasutage andmeid dünaamiliste väidete esitamiseks
  • Testige nii positiivseid kui ka negatiivseid tulemusi
  • Andmepõhised funktsionaalsed testid turvalisuse ja jõudluse tagamiseks taaskasutage

Andmepõhise testimise eelised

Andmepõhine pakub palju eeliseid, millest mõned on järgmised:

  1. Võimaldab regressioonitestimise ajal testida rakendust mitme andmeväärtuste komplektiga
  2. Testi- ja kinnitusandmed saab korraldada vaid ühte faili ja see on testjuhtumi loogikast eraldiseisev.
  3. Tööriista põhjal on võimalik testskripte hoida ühes hoidlas. See muudab tekstid hõlpsasti mõistetavaks, hooldatavaks ja hallatavaks.
  4. Toiminguid ja funktsioone saab erinevates testides uuesti kasutada.
  5. Mõned tööriistad genereerivad testiandmeid automaatselt. See on kasulik, kui on vaja suuri koguseid juhuslikke katseandmeid, mis aitab säästa aega.
  6. Andmepõhine testimine võib läbi viia arenduse mis tahes etapi. Andmepõhised testhooldused liidetakse üldiselt ühte protsessi. Siiski saab seda kasutada mitmel katsejuhul.
  7. Võimaldab arendajatel ja testijatel oma testjuhtumite/skriptide loogikat testandmetest selgelt eraldada.
  8. Samu testjuhtumeid saab käivitada mitu korda, mis aitab vähendada testjuhtumit ja skripte.
  9. Kõik muudatused testskriptis ei mõjuta testi andmeid

Andmepõhise testimise puudused

Mõned andmepõhise automatiseerimise testimismeetodi puudused on järgmised:

  1. Testi kvaliteet sõltub rakendusmeeskonna automatiseerimisoskustest
  2. Andmete valideerimine on suure andmemahu testimisel aeganõudev ülesanne.
  3. Hooldus on suur probleem, kuna andmepõhise testimise jaoks on vaja palju kodeerimist.
  4. Vajalikud on kõrgetasemelised tehnilised oskused. Võimalik, et testija peab õppima täiesti uue skriptikeele.
  5. Dokumentatsiooni tuleb juurde. Enamasti seotud skriptide haldustestide infrastruktuuri ja testimistulemustega.
  6. Andmefailide loomiseks ja haldamiseks on vaja tekstiredaktorit, nagu Notepad.

Järeldus

  • Andmepõhine on testimise automatiseerimise raamistik, mis salvestab testandmed tabeli- või arvutustabelivormingus.
  • Andmepõhise testimise automatiseerimise raamistikus saab sisendandmeid salvestada ühte või mitmesse andmeallikasse, nagu xls, XML, csv ja andmebaasid.
  • Iga andmekogumi jaoks individuaalse testi loomine on pikk ja aeganõudev protsess. Andmepõhise testimise raamistik lahendab selle probleemi, hoides andmed funktsionaalsetest testidest eraldi.
  • Andmepõhise testimise puhul on see ideaalne võimalus kasutada realistlikku teavet
  • See võimaldab testida rakendusi mitme andmeväärtuste komplektiga Regressioonitestimine
  • Selle meetodi puuduseks on see, et see sõltub rakendusmeeskonna automatiseerimisoskustest