7 factors affecting test estimation selenium automation project selenium tutorial 32
U posljednjih nekoliko tutorijala o seleniju naučili smo o tome ispitivanje automatizacije pomoću alata Krastavac i Selen . Također smo razgovarali o integracija Selenium WebDriver s krastavcem .
U ovom uputstvu razgovarat ćemo o različitim čimbenici koji utječu na procjenu napora automatizacije selena .
Planiranje i procjena dva su najvažnija aspekta životnog ciklusa razvoja softvera.
Osobno smatram da ih u softverskoj industriji ima bez neprobojnih metoda bilo što učiniti. Budući da je svaki projekt ekskluzivan i ima različite skupove složenosti i čimbenika okoliša, provedba strategije procjene i planiranja trebala bi biti zajednički napor pojedinih timova uz odgovarajuće intervencije starijih osoba i upravljačke podrške.
Prije nego što započnete s procjenom bilo kojeg projekta, imperativ je razumjeti svaku fazu kroz koju će vaš projekt proći, tako da možete dati točnu i opravdanu procjenu.
Procjena se ne može izvršiti samo za postupak ručnog ispitivanja, već se u ovom razdoblju automatizacije tehnike procjene primjenjuju i na automatizaciju ispitivanja. Sada Selenium dobiva zamah i popularnost na tržištu, pokušavam napisati o nekim čimbenicima koje treba uzeti u obzir prilikom procjene projekta Selenium.
Počnimo!!
Pretpostavljam da inicijativu za automatizaciju pokrećemo od nule i da nemamo gotov okvir na raspolaganju.
Što ćete naučiti:
- Čimbenici koji utječu na procjenu automatizacije selena
- # 1 Opseg projekta
- # 2 Složenost aplikacije
- # 3 Korištenje pomoćnih alata / tehnologija
- # 4 Provedba okvira
- # 5 Učenje i trening
- # 6 Postavljanje okoliša
- # 7 Kodiranje / skriptiranje i pregled
- Zaključak:
- Preporučena literatura
Čimbenici koji utječu na procjenu automatizacije selena
U nastavku su objašnjeni različiti čimbenici koji utječu i koje biste trebali uzeti u obzir za procjenu specifičnog projekta „Selen“:
# 1 Opseg projekta
Opseg obično znači identificiranje ispravnih testnih slučajeva za automatizaciju. Primijenite strategiju 'Podijeli i vladaj' da biste je postigli. Razdijelite svoju aplikaciju na male dijelove ili module i analizirajte svaki od njih da biste pronašli odgovarajuće ispitne slučajeve za automatizaciju.
Koraci koji su obuhvaćeni su:
- Utvrdite različite čimbenike koji će biti osnova za identificiranje testnih slučajeva kandidata.
- Razbijte aplikaciju na manje module
- Analizirajte svaki modul kako biste identificirali test slučajeve kandidata
- Izračunajte ROI
Za više detalja o tome kako prepoznati ispravan testni slučaj, pogledajte moj prethodni rad: Izbor ispravnih test slučajeva za automatizaciju
# 2 Složenost aplikacije
Ovdje su uključeni sljedeći koraci:
- Odredite veličinu aplikacije na temelju broja testnih slučajeva koje treba automatizirati.
- Složenost veličine kroz Fibonaccijevu seriju.
- Odredite točku provjere i kontrolnu točku svakog test slučaja
Ovdje moramo uspostaviti definiciju velike / srednje i male aplikacije. Ova se definicija razlikuje od perspektive pojedinca / grupe. Način na koji klasificirate svoju aplikaciju ovisi također može ovisiti o broju testnih slučajeva.
Na primjer:
Ako vaša aplikacija ima 300 - 500 testnih slučajeva za automatizaciju, možete je smatrati aplikacijom male veličine. Ako su test slučajevi veći od 1500, mogu se klasificirati kao složeni. Ovaj se faktor može razlikovati za različite primjene. Za neke, 1500 test slučajeva za automatizaciju mogu se smatrati malim / srednjim razmjerama. Dakle, nakon što utvrdite točan broj testnih slučajeva, prilagodite ga na mali / srednji ili veliki. Vaša strategija za procjenu napora uvelike će ovisiti o tim kriterijima.
Također morate uzeti u obzir različite kontrolne točke i kontrolne točke za svoj testni slučaj. Testni slučaj može imati više od 1 kontrolne točke
ali imat će samo 1 točku provjere. U slučaju da imate više od 1 točke provjere, preporučuje se razdvajanje u zasebne test slučajeve. Ovo će također olakšati vaše održavanje i poboljšanje vašeg paketa za testiranje.
kako otvoriti .7z datoteke na mac
# 3 Korištenje pomoćnih alata / tehnologija
Ovdje su uključeni sljedeći koraci:
- Identificirajte okvir i potrebe za automatizacijom
- Na temelju potreba analizirajte i identificirajte alate koji će se koristiti.
- Utvrdite ovisnosti / implikacije korištenja alata.
Selen sam po sebi nije dovoljan za izgradnju okvira ili dovršenje automatizacije. Selenium (web upravljački program) skriptirat će samo testni slučaj, ali postoje i drugi zadaci, poput izvještavanja o rezultatu, praćenja dnevnika, snimanja zaslona itd.
Da biste ih postigli, trebaju vam zasebni alati koji će biti integrirani s vašim okvirom. Stoga je ovdje važno identificirati te pomoćne jedinice koje će najbolje odgovarati vašim zahtjevima i pomoći u postizanju pozitivnog ROI-a
# 4 Provedba okvira
Evo lukavog dijela J koji su uključeni koraci !!
- Utvrdite ulaz (obrazac u kojem se podaci unose u skriptu) i izlaz (izvješća / rezultati ispitivanja) vašeg kompleta za automatizaciju.
- Dizajnirajte svoje ulazne datoteke. To može varirati od jednostavne tekstualne datoteke do složene excel datoteke. U osnovi je datoteka koja će sadržavati vaše testne podatke.
- Dizajnirajte strukturu mape na temelju vaših ulaznih parametara i
- Implementirajte značajku izvještavanja (bilo u nekoj excel datoteci ili pomoću bilo kojeg alata poput ReportNG-a)
- Utvrdite / implementirajte logger u svom okviru
- Implementirajte alat za izgradnju u svoj okvir
- Provedite okvir za jedinstveno testiranje (Junit ili TestNG)
Postoje mnogi drugi zahtjevi, osim pukog skriptiranja u automatizaciji ispitivanja s Selenijem, poput čitanja podataka iz datoteke, izvještavanja / praćenja rezultata testa, praćenja dnevnika, pokretanja skripti na temelju ulaznih uvjeta i okruženja itd. Dakle, potrebna nam je struktura koja će se pobrinuti za sve ove skripte. Ova struktura nije ništa drugo do vaš okvir.
Web aplikacije su po svojoj prirodi složene jer uključuju puno pratećih alata i tehnologije za implementaciju. Na sličan je način primjena okvira u Seleniju također nezgodna (neću reći složena) jer uključuje druge alate za integraciju. Budući da znamo da Selenium NIJE alat, već zapravo zbirka / grupa jar datoteka, on je konfiguriran, a ne 'Instaliran', sam Selenium nije dovoljno jak za izgradnju složenog okvira. Zahtijeva popis alata nezavisnih proizvođača za izgradnju okvira.
Ovdje se moramo prisjetiti da u selenu ne postoji ništa 'Gotovo'. Za sve moramo kodirati, tako da bi trebale postojati odredbe u procjeni za guglanje pogrešaka i rješavanje problema.
Ovdje moramo shvatiti da je ta izgradnja okvira najvažniji aspekt vašeg napora u automatizaciji. Ako je vaš okvir čvrst, održavanje i poboljšanje postaju lakši, posebno u eri Agilea, ako je vaš okvir dobar, možete lako integrirati svoje testove u sve sprinteve.
Neću pogriješiti ako kažem da bi upravo taj čimbenik dizajniranja Okvira trebao biti najvažniji aspekt procjene. Ako je potrebno (kao u složenoj primjeni) ovaj čimbenik treba ponovno raščlaniti u zasebni WBS i provesti procjenu.
# 5 Učenje i trening
Učenje selena pomalo se razlikuje od učenja bilo kojeg drugog alata za automatizaciju. U osnovi uključuje učenje programskog jezika, a ne samo skriptnog jezika (iako jezik skripti pomaže pri izgradnji okvira kao što želite napisati skriptu koja bi pozvala vaše automatizirane skripte nakon promjene postavki okruženja).
U slučaju da kombiniramo WebDriver s javom, rekao bih da ako je dobro upućen u jezgru Java, u vrlo je dobrom stanju započeti s automatizacijom Selenium.
Uz učenje Java-a, trebaju postojati i odredbe za učenje drugih tehnologija poput ANT / Maven (za izgradnju), TestNG / jUnit (jedinstveni testni okvir), Log4J (za prijavu), izvještavanje (za izvještavanje) itd. Ovaj popis može rasti na temelju razina okvira. Što više ovaj popis raste, to bi trebalo više vremena.
Ako je uprava odlučila krenuti sa selenom, ove se aktivnosti učenja mogu raditi paralelno s planiranjem. Budući da učenje ograničenja nema ograničenja, predlaže se da tim ima pripremljen određeni plan (nastavni plan) kako bi mogao započeti svoj proces učenja u određenom smjeru i svi su na istoj stranici.
Praktično govoreći, mi testeri nismo baš previše zainteresirani za učenje punopravnog programskog jezika i osjećamo da je ovo torta za programere. Ali sada moramo promijeniti ovaj mentalitet i učenje programskog jezika trebali bismo smatrati jednako važnim kao i učenje novog procesa testiranja. To neće samo povećati znanje testera o jeziku i automatizaciji, već će pružiti priliku da shvati kako aplikacija interno djeluje, što može povećati njihov opseg za pronalaženje novih bugova.
# 6 Postavljanje okoliša
Okolina koja se bavi (bez ograničenja): -
- Postavljanje koda u testnom okruženju
- Postavljanje koda u proizvodnom okruženju
- Pisanje skripti za pokretanje automatiziranih testova.
- Razvijanje logike za izvještavanje
- Utvrđivanje učestalosti pokretanja skripti i razvijanje logike za njezinu provedbu
- Stvaranje tekstualnih / excel datoteka za unos test podataka i test slučajeva
- Stvaranje datoteka svojstava za praćenje okruženja i vjerodajnica
# 7 Kodiranje / skriptiranje i pregled
Prije nego što zapravo započnete pisati svoje testove, postoje 2 preduvjeta:
- Ispitni slučajevi kandidata trebali bi biti korisni
- Okvir je spreman
Prepoznajte različite radnje koje vaša web aplikacija radi. To mogu biti jednostavne radnje poput navigacije, klika, unosa teksta; ili složena radnja poput povezivanja s bazom podataka, rukovanja flashom ili Ajaxom. Uzmite jedan po jedan testni slučaj i utvrdite koje sve radnje taj određeni testni slučaj i prema tome procijenite sate po testnom slučaju. Zbroj svih sati za cijeli ispitni paket dat će vam točan broj.
Odredba bi trebala biti i za pregled. Recenzije su jednostavno preispitivanje koda koje može obaviti vršnjak ili programer. Programiranje u parovima najbolja je brza opcija, ali ako to nije moguće, na temelju dostupnih resursa ili strategije pregleda organizacija, za to treba odrediti sate.
Više detalja o svakom faktoru koji utječe na procjenu:
Faktor # 1: Opseg
Značenje : Identificiranje testnih slučajeva kandidata za automatizaciju putem ROI-a
Uključeni koraci:
- Utvrdite različite čimbenike koji će biti osnova za identificiranje testnih slučajeva kandidata.
- Razbijte aplikaciju na manje module
- Analizirajte svaki modul kako biste identificirali test slučajeve kandidata
- Izračunajte ROI
Isporučivo: Popis testnih slučajeva koje treba automatizirati.
Opaske: Važno je zamrznuti svoj opseg nakon što nastavite s drugim koracima procjene.
Faktor 2: Složenost
Značenje: Uspostavite definiciju izravne i male veličine primjene.
Uključeni koraci:
- Programirajte aplikaciju na temelju broja testnih slučajeva koje treba automatizirati.
- Složenost veličine kroz Fibonaccijevu seriju.
- Odredite točku provjere i kontrolnu točku svakog test slučaja.
Isporučivo: Veličina aplikacije - mala, srednja ili velika.
Brojni ispitni slučajevi i odgovarajuće kontrolne točke i točke provjere.
Opaske : Preporučeno - Testni slučaj može imati više kontrolnih točaka, ali samo 1 kontrolnu točku. Ako testni slučaj ima više od 1 točke provjere, trebao bi se podijeliti u zasebni testni slučaj.
Čimbenik 3: Alati za podršku
Značenje: Selen sam po sebi nije dovoljno jak za izgradnju složenog okvira. Zahtijeva popis okvirnih alata za izgradnju okvira.
Uključeni koraci:
- Finalizirani IDE
- Završni alat za jedinstveno testiranje
- Finalizirani drvosječa
- Finalizirani alat za izvještavanje
- Finalizirani alat za izgradnju
Isporučivo: Popis alata potrebnih za stvaranje okvira.
Opaske:
Primjeri:
- Eclipse / RAD - kao IDE
- Ant / Maven - Kao alat za izgradnju
- jUnit / TestNG - kao okvir za jedinično testiranje
- Log4j - kao drvosječa
- ReportiNG - kao alat za izvještavanje
- Tekstualne datoteke - za praćenje okruženja / vjerodajnica
- Excel datoteke - za praćenje test podataka
- Perl / Python - za postavljanje okruženja i pokretanje testnih skripti.
Čimbenik 4: Provedbeni okvir
Značenje: Stvaranje strukture
Uključeni koraci:
- Dizajnirajte svoje ulazne datoteke.
- Dizajnirajte strukturu mape
- Utvrdite / primijenite logger u svom okviru
- Implementirajte alat za izgradnju u svoj okvir
- Provedite okvir za jedinstveno testiranje
Isporučivo:
- Struktura okvira i mapa stvorena u IDE-u.
- Excel listovi koji sadrže vaše ulazne podatke
- Datoteke svojstava koje sadrže podatke i vjerodajnice povezane s okolišem.
Opaske: Ovo je najvažniji korak. Preporučljivo je uključiti malo vremena međuspremnika tijekom procjene jer rješavanje problema s vremenom traje više vremena nego što se očekivalo.
Čimbenik 5: Uspostavljeno okruženje
Značenje: Bavi se postavljanjem koda i preuzimanjem / pripremom za implementaciju koda
Uključeni koraci:
- Pripremite ulaznu datoteku i izvještavanje
- Stvorite skriptu za aktiviranje
Isporučivo: Okruženje spremno
Opaske: Trebali bismo pokušati izgraditi svoj okvir na takav način da se naš kod s najmanje gnjavaže rasporedi u spomenuto okruženje / okvir.
Ne bih trebao pogriješiti ako kažem da s minimalnim unosima u naše tekstualne datoteke (koje imaju URL i vjerodajnice) naš kôd treba biti spreman za pokretanje i ROCK!
Čimbenik 6: Učenje i trening
Značenje: Učenje programskog jezika i ostalih pratećih tehnologija
Uključeni koraci: Pripremite plan prema vašim potrebama za automatizacijom i podijelite ga s timom i potaknite ih da uče i nastave prema nastavnom programu.
Isporučivo: Plan treninga i njegov program za praćenje koji će pratiti napredak tima.
Opaske: Naglasak bi trebao biti na izgradnji logike, a ne na sintaksi učenja.
Faktor 7: Kodiranje / skriptiranje i pregled
Značenje: Pisanje stvarnih skripti za test i njihovo pregledavanje
Uključeni koraci:
- Test slučajevi i okvir je spreman.
- Uzmite / podijelite test slučajeve i pretvorite ih u automatizirane skripte i pratite svoj napredak
Isporučivo: Automatizirane testne skripte
Primjedbe: Cijeli tim trebao bi sudjelovati u pisanju testnih skripti koristeći implementirani okvir. Dakle, prilikom procjene treba uzeti u obzir napore cijelog tima.
Zaključak :
Nakon što ste rekli o svim tim točkama, ne zaboravite uključiti režijske troškove upravljanja i malo vremena međuspremnika u vašu konačnu procjenu automatizacije selena. Najbolji i provjereni način za bilo kakvu procjenu je slijediti mehanizam WBS (Work Breakdown Structure). To je ravno naprijed i služi u svrhu provedbe potreba za procjenom automatizacije.
Gore navedeni čimbenici temelje se na mom iskustvu, ali mogu biti i drugi subjekti koji bi mogli utjecati na strategiju.
Ovdje je pravilo palca „Utvrdite određene kriterije, podijelite svoje module ili test na tim kriterijima; i skalirajte ga ”. Na temelju vaše skalirane brojke - možete doći do točne procjene.
Sljedeći vodič # 33 : Završit ćemo svoje najopsežnija serija besplatnih vodiča za mrežni trening Selenium sa zadnjim uputstvom, tj. ' Pitanja za intervju za ispitivanje selena s odgovorima '.
Javite nam ako imate još savjeta za procjenu napora Selenium projekata.
Preporučena literatura
- Uvod u Selenium WebDriver - Vodič za selen br. 8
- Učinkoviti scenariji za skriptiranje i rješavanje problema sa selenijem - Vodič za selenij br. 27
- Otklanjanje pogrešaka u skriptama za selen sa zapisnicima (Vodič za Log4j) - Vodič za selen # 26
- 30+ najboljih vodiča za selen: naučite selen na stvarnim primjerima
- Vodič za krastavac selenij: Integracija Java Selenium WebDriver krastavaca
- Kako locirati elemente u preglednicima Chrome i IE za izgradnju skripti za selen - Vodič za selen br. 7
- Najpopularniji okviri za automatizaciju ispitivanja s prednostima i nedostacima svakog - Selen Tutorial # 20
- Implementacija naše prve skripte WebDriver - Vodič br. 10 za Selenium WebDriver