Što je testiranje temeljeno na podacima? Naučite izraditi Framework
Testiranje temeljeno na podacima
Testiranje temeljeno na podacima je metoda testiranja softvera u kojoj se testni podaci pohranjuju u obliku tablice ili proračunske tablice. Testiranje vođeno podacima omogućuje testerima da unesu jednu testnu skriptu koja može izvršiti testove za sve testne podatke iz tablice i očekivati izlaz testa u istoj tablici. Naziva se i testiranjem upravljanim tablicom ili parametriziranim testiranjem.
Okvir vođen podacima
Okvir vođen podacima je okvir za automatizirano testiranje u kojem se ulazne vrijednosti čitaju iz podatkovnih datoteka i pohranjuju u varijable u testnim skriptama. Omogućuje ispitivačima da sagrade i pozitivne i negativne testove u jedan test. Ulazni podaci u okviru vođenom podacima mogu se pohraniti u jedan ili više izvora podataka kao što su .xls, .xml, .csv i baze podataka.
Zašto testiranje temeljeno na podacima?
Testiranje temeljeno na podacima je važno jer ispitivači često imaju više skupova podataka za jedan test, a izrada pojedinačnih testova za svaki skup podataka može biti dugotrajna. Testiranje vođeno podacima pomaže u održavanju podataka odvojenim od testnih skripti, a iste testne skripte mogu se izvršiti za različite kombinacije ulaznih testnih podataka i rezultati testa mogu se učinkovito generirati.
Primjer:
Na primjer, želimo testirati sustav prijave s više polja za unos s 1000 različitih skupova podataka.
Da biste to testirali, možete poduzeti sljedeće različite pristupe:
pristup 1) Napravite 1000 skripti po jednu za svaki skup podataka i svaki test izvodite zasebno jedan po jedan.
pristup 2) Ručno promijenite vrijednost u testnoj skripti i pokrenite je nekoliko puta.
pristup 3) Uvezite podatke iz excel tablice. Dohvatite testne podatke iz redaka programa Excel jedan po jedan i pokrenite skriptu.
U navedena tri scenarija prva dva su naporna i dugotrajna. Stoga je idealno slijediti treći pristup.
Prema tome, treći pristup nije ništa drugo nego okvir vođen podacima.
Kako stvoriti okvir za automatizaciju vođen podacima
Uzmite u obzir da želite testirati funkcionalnost aplikacije za prijavu.
Korak 1) Identificirajte testne slučajeve
- Unesite ispravno korisničko ime i lozinku – prijava je uspjela
- Unesite netočno korisničko ime i ispravnu lozinku – Prijava nije uspjela
- Unesite ispravno korisničko ime i netočnu lozinku – prijava nije uspjela
Korak 2) Napravite detaljne testne korake za gornja 3 testna slučaja
| Testni slučaj # | Description | Ispitni koraci | Podaci o ispitivanju | Očekivani rezultati |
|---|---|---|---|---|
| 1 | Provjerite prijavu za važeće vjerodajnice |
|
Korisničko ime: važeća lozinka: važeća | Uspješna prijava |
| 2 | Provjerite prijavu za nevažeće vjerodajnice |
|
Korisničko ime: nevažeća lozinka: važeća | Neuspješna prijava |
| 3 | Provjerite prijavu za nevažeće vjerodajnice |
|
Korisničko ime: važeća lozinka: nevažeća | Neuspješna prijava |
Korak 3) Stvorite testnu skriptu
Ako promatrate testne korake, ostanite uobičajeni kroz 3 testna koraka. Za izvođenje ovih koraka morate izraditi testnu skriptu
// 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
Korak 4) Stvorite excel/csv s ulaznim testnim podacima
Korak 5) Korak Izmijenite skriptu za petlju preko ulaznih testnih podataka. Ulazne naredbe bi također trebale biti parametrizirane
// 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
}
Gore su samo 3 testna slučaja. Testna skripta može se koristiti za prelazak preko sljedećih testnih slučajeva samo dodavanjem vrijednosti testnih podataka nadmašiti
- Unesite netočno korisničko ime i netočnu lozinku – prijava nije uspjela
- Unesite ispravno korisničko ime i lozinku u prazno – Prijava nije uspjela
- Unesite prazno korisničko ime i praznu lozinku– Prijava nije uspjela
I tako dalje
Najbolji alat za testiranje temeljeno na podacima
1) Test sigma
Test sigma je platforma za testiranje temeljena na podacima u oblaku koju sam smatrao neprocjenjivom za maksimiziranje pokrivenosti testiranjem odvajanjem logike testiranja od testnih podataka. Posebno je dizajnirana za timove koji trebaju validirati aplikacije u odnosu na različite skupove podataka, rubne slučajeve i poslovne scenarije bez stvaranja redundantnih testnih skripti, pojednostavljujući cijeli tijek rada testiranja temeljenog na podacima.
Tijekom mojih projekata testiranja temeljenih na podacima, iskoristio sam Testsigmine mogućnosti parametrizacije za izvršavanje identičnih testnih scenarija na više kombinacija podataka iz vanjskih izvora poput Excel i CSV datoteka. Sposobnost platforme da iterira kroz retke podataka automatski je značajno proširila pokrivenost mojim testiranjem, dok mi je detaljno izvještavanje o rezultatima na razini podataka pomoglo da brzo identificiram koje su specifične kombinacije ulaza izazvale kvarove na web, mobilnim i API slojevima.
Značajke:
- Integracija vanjskih izvora podataka: Ova značajka omogućuje izravne veze s Excel proračunskim tablicama, CSV datotekama i tablicama baze podataka za centralizirano upravljanje testnim podacima. Uklanja fiksno kodirane vrijednosti i omogućuje vam održavanje testnih podataka neovisno o testnoj logici. Možete ažurirati skupove podataka bez mijenjanja testnih skripti, osiguravajući fleksibilnost i održivost. Koristim ovo za učinkovito upravljanje stotinama varijacija podataka, a istovremeno održavam testne scenarije čistim i ponovno upotrebljivim.
- Automatizirana iteracija višerednih podataka: Testsigma automatski izvršava testne scenarije na više redaka podataka u jednom testiranju, dramatično proširujući pokrivenost. Možete validirati brojne kombinacije ulaza, granične uvjete i varijacije poslovnih pravila bez dupliciranja testnih slučajeva. Ova značajka transparentno obrađuje sekvenciranje podataka i logiku iteracije. Ovo sam otkrio posebno učinkovitim za sveobuhvatno regresijsko testiranje s minimalnim troškovima održavanja skripte.
- Parametrizacija koraka dinamičkog testiranja: Omogućuje vam zamjenu statičkih vrijednosti dinamičkim parametrima koji povlače podatke iz vanjskih izvora tijekom izvršavanja. Možete konfigurirati korake testiranja kako biste se prilagodili različitim ulazima, uvjetima i očekivanim rezultatima na temelju vrijednosti skupa podataka. Ova značajka podržava složene transformacije podataka i uvjetnu logiku. Oslanjam se na nju za izradu fleksibilnih scenarija testiranja koji odgovaraju različitim poslovnim zahtjevima i korisničkim tijekovima rada.
- Izvješćivanje o izvršenju na razini podataka: Platforma generira detaljna izvješća koja raščlanjuju rezultate testiranja prema pojedinačnim kombinacijama podataka, pokazujući točno koji su unosi prošli, a koji nisu. Možete analizirati obrasce, identificirati problematične raspone podataka i pratiti neuspjehe do određenih redaka skupa podataka. Ova značajka pruža vizualne nadzorne ploče i analitiku koju je moguće izvesti za komunikaciju s dionicima. Preporučujem korištenje ovih uvida za određivanje prioriteta poboljšanja kvalitete podataka i poboljšanje strategija testnih podataka.
- Podrška za više platformi temeljena na podacima: Testsigma proširuje mogućnosti upravljanja podacima na web, mobilno i API testiranje unutar objedinjenih tijekova rada. Možete primijeniti iste skupove podataka za validaciju konzistentnosti na različitim slojevima aplikacije i tehnologijama. Ova značajka osigurava sveobuhvatnu validaciju od početka do kraja s parametriziranim tokovima podataka. Koristio sam je za provjeru ispravno li se obrada podataka u pozadini odražava na frontend sučeljima na više platformi istovremeno.
Prozodija
Cons
Cijene:
- Cijena: Prilagođeno određivanje cijena s mogućnostima testiranja temeljenim na podacima uključeno je kao dio sveobuhvatnog plana pretplate
- Besplatna probna verzija: 14-dnevno besplatno probno razdoblje
14-dnevno besplatno probno razdoblje
Najbolji primjeri iz prakse testiranja temeljenog na podacima
U nastavku su navedene najbolje prakse testiranja za testiranje temeljeno na podacima:
- Idealno je koristiti realne informacije tijekom procesa testiranja temeljenog na podacima
- Navigacija testnog tijeka trebala bi biti kodirana unutar testne skripte
- Pokrenite virtualne API-je sa značajnim podacima
- Koristite podatke za poticanje dinamičkih tvrdnji
- Testovi pozitivni kao i negativni rezultati
- Prenamijenite funkcionalne testove vođene podacima za sigurnost i izvedbu
Prednosti testiranja vođenog podacima
Data-Driven nudi mnoge prednosti, a neke od njih su:
- Omogućuje testiranje aplikacije s više skupova vrijednosti podataka tijekom regresijskog testiranja
- Testni podaci i podaci o provjeri mogu se organizirati u samo jednoj datoteci i odvojeni su od logike testnog slučaja.
- Na temelju alata, moguće je imati testne skripte u jednom repozitoriju. To čini tekstove lakima za razumijevanje, održavanje i upravljanje.
- Akcije i funkcije mogu se ponovno koristiti u različitim testovima.
- Neki alati automatski generiraju testne podatke. Ovo je korisno kada su potrebne velike količine nasumičnih testnih podataka, što pomaže u uštedi vremena.
- Testiranje temeljeno na podacima može izvesti bilo koju fazu razvoja. Brige o testu vođenom podacima općenito su spojene u jedan proces. Međutim, može se koristiti u više testnih slučajeva.
- Omogućuje programerima i testerima jasno odvajanje logike njihovih testnih slučajeva/skripti od testnih podataka.
- Isti testni slučajevi mogu se izvršiti nekoliko puta što pomaže smanjiti testni slučaj i skripte.
- Sve promjene u testnoj skripti ne utječu na testne podatke
Nedostaci testiranja vođenog podacima
Neki nedostaci metode testiranja automatizacije vođene podacima su:
- Kvaliteta testa ovisi o vještinama automatizacije Implementacijskog tima
- Provjera valjanosti podataka je dugotrajan zadatak kada se testira velika količina podataka.
- Održavanje je veliki problem jer je potrebna velika količina kodiranja za testiranje temeljeno na podacima.
- Potrebne su visoke tehničke vještine. Tester će možda morati naučiti potpuno novi skriptni jezik.
- Bit će još dokumentacije. Uglavnom se odnosi na infrastrukturu testova za upravljanje skriptama i rezultate testiranja.
- Uređivač teksta poput Notepada potreban je za stvaranje i održavanje podatkovnih datoteka.
Zaključak
- Data-driven je okvir za automatizaciju testiranja koji pohranjuje testne podatke u obliku tablice ili proračunske tablice.
- U okviru za automatizaciju testiranja vođenog podacima, ulazni podaci mogu se pohraniti u jedan ili više izvora podataka kao što su xls, XML, csv i baze podataka.
- Izrada pojedinačnog testa za svaki skup podataka dugotrajan je i dugotrajan proces. Okvir testiranja vođenog podacima rješava ovaj problem držanjem podataka odvojenim od funkcionalnih testova.
- U testiranju vođenom podacima, idealna je opcija koristiti realne informacije
- Omogućuje testiranje aplikacije s više skupova vrijednosti podataka tijekom Regresijsko ispitivanje
- Nedostatak ove metode je što ovisi o vještinama automatizacije tima za implementaciju




