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.
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
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 |
|
Kasutajanimi: kehtiv parool: kehtiv | Sisselogimine õnnestus |
2 | Kontrollige, kas sisselogimisel on kehtetuid mandaate |
|
Kasutajanimi: kehtetu parool: kehtiv | Sisselogimine ebaõnnestus |
3 | Kontrollige, kas sisselogimisel on kehtetuid mandaate |
|
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
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:
- Võimaldab regressioonitestimise ajal testida rakendust mitme andmeväärtuste komplektiga
- Testi- ja kinnitusandmed saab korraldada vaid ühte faili ja see on testjuhtumi loogikast eraldiseisev.
- Tööriista põhjal on võimalik testskripte hoida ühes hoidlas. See muudab tekstid hõlpsasti mõistetavaks, hooldatavaks ja hallatavaks.
- Toiminguid ja funktsioone saab erinevates testides uuesti kasutada.
- Mõned tööriistad genereerivad testiandmeid automaatselt. See on kasulik, kui on vaja suuri koguseid juhuslikke katseandmeid, mis aitab säästa aega.
- 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.
- Võimaldab arendajatel ja testijatel oma testjuhtumite/skriptide loogikat testandmetest selgelt eraldada.
- Samu testjuhtumeid saab käivitada mitu korda, mis aitab vähendada testjuhtumit ja skripte.
- Kõik muudatused testskriptis ei mõjuta testi andmeid
Andmepõhise testimise puudused
Mõned andmepõhise automatiseerimise testimismeetodi puudused on järgmised:
- Testi kvaliteet sõltub rakendusmeeskonna automatiseerimisoskustest
- Andmete valideerimine on suure andmemahu testimisel aeganõudev ülesanne.
- Hooldus on suur probleem, kuna andmepõhise testimise jaoks on vaja palju kodeerimist.
- Vajalikud on kõrgetasemelised tehnilised oskused. Võimalik, et testija peab õppima täiesti uue skriptikeele.
- Dokumentatsiooni tuleb juurde. Enamasti seotud skriptide haldustestide infrastruktuuri ja testimistulemustega.
- 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