7 factors affecting test estimation selenium automation project selenium tutorial 32
V posledných pár selénových tutoriáloch sme sa dozvedeli niečo o automatizované testovanie pomocou nástroja Okurka a selén . Diskutovali sme aj o integrácia selénového WebDriveru s uhorkou .
V tomto návode si rozoberieme rôzne faktory ovplyvňujúce odhad úsilia automatizácie selénu .
Plánovanie a odhad sú dva najdôležitejšie aspekty životného cyklu vývoja softvéru.
Ja osobne mám pocit, že v softvérovom priemysle existujú žiadne nepriestrelné metódy robiť čokoľvek. Pretože každý projekt je exkluzívny a má rôzne súbory faktorov zložitosti a prostredia, implementácia stratégie odhadu a plánovania by mala byť spoločným úsilím jednotlivých tímov s náležitými zásahmi seniorov a podporou riadenia.
Predtým, ako začnete s odhadovaním ľubovoľného projektu, je nevyhnutné pochopiť každú fázu, ktorou váš projekt prejde, aby ste mohli poskytnúť správny a oprávnený odhad.
Odhad je možné vykonať nielen pri procese manuálneho testovania, ale v tejto dobe automatizácie sa techniky odhadu používajú aj pri automatizácii testov. Teraz získava selén na trhu dynamiku a popularitu, snažím sa písať o niektorých faktoroch, ktoré by sa mali brať do úvahy pri odhadovaní selénového projektu.
Začnime!!
Predpokladám, že iniciatívu Automation začíname od nuly a že nemáme k dispozícii žiadny pripravený rámec.
Čo sa dozviete:
- Faktory ovplyvňujúce odhad automatizácie selénu
- # 1 Rozsah projektu
- # 2 Zložitosť aplikácie
- # 3 Používanie podporných nástrojov / technológií
- # 4 Implementácia rámca
- # 5 Učenie a školenie
- # 6 Nastavenie prostredia
- # 7 Kódovanie, skriptovanie a kontrola
- Záver:
- Odporúčané čítanie
Faktory ovplyvňujúce odhad automatizácie selénu
Ďalej sú vysvetlené rôzne faktory, ktoré ovplyvňujú a ktoré by ste mali brať do úvahy pri odhadovaní špecifického projektu „Selén“:
# 1 Rozsah projektu
Rozsah zvyčajne znamená identifikáciu správnych testovacích prípadov pre automatizáciu. Aby ste to dosiahli, použite stratégiu „Rozdeľ a panuj“. Zlomte svoju aplikáciu v malých blokoch alebo moduloch a analyzujte každý z nich, aby ste našli vhodné testovacie prípady pre automatizáciu.
Jedná sa o tieto kroky:
- Identifikujte rôzne faktory, ktoré budú tvoriť základ identifikácie kandidátov na testovacie prípady.
- Aplikáciu rozdeľte na menšie moduly
- Analyzujte každý modul a identifikujte kandidátske testovacie prípady
- Vypočítajte NI
Viac podrobností o tom, ako identifikovať správny testovací prípad, nájdete v mojom predchádzajúcom príspevku: Výber správnych testovacích prípadov pre automatizáciu
# 2 Zložitosť aplikácie
Jedná sa o tieto kroky:
- Určte veľkosť aplikácie na základe počtu testovacích prípadov, ktoré je potrebné automatizovať.
- Zložitosť veľkosti prostredníctvom série Fibonacci.
- Identifikujte overovací bod a kontrolný bod každého testovacieho prípadu
Tu musíme ustanoviť definíciu veľkej / strednej a malej aplikácie. Táto definícia sa líši od individuálnej / skupinovej perspektívy. To, ako klasifikujete svoju žiadosť, závisí tiež od počtu testovacích prípadov.
Napríklad:
Ak má vaša aplikácia automatizáciu 300 - 500 testovacích prípadov, môžete ju považovať za aplikáciu malej veľkosti. Ak je testovacích prípadov viac ako 1 500, možno ho klasifikovať ako zložitý. Tento faktor sa môže líšiť pre rôzne aplikácie. Pre niektorých je 1500 automatizovaných testovacích prípadov považovaných za malé / stredné. Akonáhle teda zistíte presný počet testovacích prípadov, zväčšite ho na malý / stredný alebo veľký. Vaša stratégia odhadu úsilia bude veľmi závisieť od týchto kritérií.
Musíte tiež vziať do úvahy rôzne kontrolné body a overovacie body pre váš testovací prípad. Testovací prípad môže mať viac ako 1 kontrolný bod
ale bude mať iba 1 overovací bod. V prípade, že máte viac ako 1 bod overenia, odporúča sa rozdeliť do samostatných testovacích prípadov. To tiež uľahčí vašu údržbu a vylepšenie testovacej sady.
# 3 Používanie podporných nástrojov / technológií
Jedná sa o tieto kroky:
- Identifikujte potreby rámca a automatizácie
- Na základe potrieb analyzujte a identifikujte nástroje, ktoré sa majú použiť.
- Identifikujte závislosti / dôsledky používania nástroja.
Samotný selén nie je dostatočný na vytvorenie rámca alebo dokončenie automatizácie. Selén (webový ovládač) skriptuje iba testovací prípad, existujú však aj ďalšie úlohy, ako je hlásenie výsledku, sledovanie protokolov, vytváranie snímok obrazovky atď.
Aby ste ich dosiahli, potrebujete samostatné nástroje, ktoré budú integrované do vášho rámca. Preto je dôležité tu identifikovať tieto podporné subjekty, ktoré budú najlepšie vyhovovať vašim požiadavkám a pomôžu dosiahnuť pozitívnu návratnosť investícií
# 4 Implementácia rámca
Prichádza zložitá časť J, do ktorej sú zapojené kroky !!
- Identifikujte vstup (vzor, v ktorom sa údaje vkladajú do skriptu) a výstup (správy / výsledky testov) vašej automatizačnej sady.
- Navrhnite svoje vstupné súbory. Môže sa pohybovať od jednoduchého textového súboru po zložitý súbor programu Excel. V zásade je to súbor, ktorý bude obsahovať vaše testovacie údaje.
- Navrhnite štruktúru priečinkov na základe vašich vstupných parametrov a
- Implementujte funkciu vykazovania (buď v nejakom súbore programu Excel, alebo pomocou ľubovoľného nástroja, napríklad ReportNG)
- Určite / implementujte záznamník vo vašom rámci
- Implementujte nástroj na zostavenie vo svojom rámci
- Implementujte rámec testovania jednotiek (Junit alebo TestNG)
Existuje mnoho ďalších požiadaviek, okrem iba skriptovania v automatizácii testov so selénom, ako je čítanie údajov zo súboru, nahlasovanie / sledovanie výsledkov testov, sledovanie protokolov, spúšťanie skriptov na základe vstupných podmienok a prostredia atď. Potrebujeme teda štruktúru ktoré sa postarajú o všetky tieto skripty. Táto štruktúra nie je nič iné ako váš rámec.
Webové aplikácie sú svojou povahou zložité, pretože ich implementácia zahŕňa množstvo podporných nástrojov a technológií. Podobným spôsobom je implementácia rámca v seléne tiež zložitá (nepoviem zložitá), pretože zahŕňa ďalšie nástroje na integráciu. Pretože vieme, že selén NIE JE nástroj, ale v skutočnosti kolekcia / skupina súborov jar, je nakonfigurovaný a nie „nainštalovaný“, samotné selén nie je dosť silný na to, aby vytvoril komplexný rámec. Vyžaduje si zoznam nástrojov tretích strán na vytvorenie rámca.
Musíme si tu uvedomiť, že v seléne nie je nič „pripravené“. Všetko musíme kódovať, takže v odhade by mali byť rezervy na googlenie chýb a riešenie problémov.
Tu musíme pochopiť, že vytváranie rámcov je najdôležitejším aspektom vášho úsilia v oblasti automatizácie. Ak je váš rámec skalopevný, údržba a vylepšovanie sú jednoduchšie, najmä v ére spoločnosti Agile, ak je váš rámec dobrý, môžete svoje testy ľahko integrovať do všetkých šprintov.
Nebudem sa mýliť, ak poviem, že tento konkrétny faktor návrhu rámca by mal byť najdôležitejším aspektom odhadu. Ak je to potrebné (ako v zložitých aplikáciách), tento faktor by sa mal opäť rozdeliť na samostatný ŠPP a mal by sa urobiť odhad.
# 5 Učenie a školenie
Učenie selénu je trochu iné ako učenie sa iného automatizačného nástroja. V zásade to spočíva v osvojení si programovacieho jazyka, nielen skriptovacieho jazyka (hoci skriptovací jazyk pomáha pri vytváraní rámca, ako by ste chceli napísať skript, ktorý by po vykonaní zmien v nastaveniach prostredia vyvolal vaše automatické skripty).
Ako otvorím súbor XML
V prípade, že kombinujeme WebDriver s javou, povedal by som, že ak sa ovláda dobre s jadrom java, je vo veľmi dobrej kondícii, aby začal s automatizáciou selénom.
Spolu s učením v Jave by mali existovať ustanovenia pre osvojenie ďalších technológií, ako sú ANT / Maven (pre budovy), TestNG / jUnit (rámec pre testovanie jednotiek), Log4J (pre protokolovanie), správy (pre správy) atď. úrovni rámca. Čím viac bude tento zoznam narastať, tým viac času bude trvať.
Ak sa vedenie rozhodlo pre selén, tieto vzdelávacie aktivity je možné vykonávať paralelne s plánovacou činnosťou. Pretože učeniu sa týchto technológií nie je dané nijaké obmedzenie, navrhuje sa mať pre tím pripravený konkrétny plán (študijný program), aby mohol zahájiť proces učenia sa určitým smerom a aby všetci boli na rovnakej stránke.
Prakticky povedané, my testeri nemáme veľmi záujem učiť sa plnohodnotný programovací jazyk a máme pocit, že je to vývojársky kúsok. Teraz však musíme zmeniť túto mentalitu a mali by sme považovať učenie programovacieho jazyka za rovnako dôležité ako učenie sa nového procesu testovania. To nielen zvýši vedomosti testera o jazyku a automatizácii, ale tiež dá šancu pochopiť, ako aplikácia interne funguje, čo môže zvýšiť ich rozsah pri hľadaní nových chýb.
# 6 Nastavenie prostredia
Založené na prostredí (nielen): -
- Nastavenie kódu v testovacom prostredí
- Nastavenie kódu v produkčnom prostredí
- Písanie skriptov na spustenie automatizovaných testov.
- Rozvíjanie logiky podávania správ
- Stanovenie frekvencie spúšťania skriptov a vývoj logiky pre jeho implementáciu
- Vytváranie textových / excelových súborov na zadávanie testovacích údajov a testovacích prípadov
- Vytváranie súborov vlastností na sledovanie prostredí a poverení
# 7 Kódovanie, skriptovanie a kontrola
Skôr ako začnete s písaním testov, musíte splniť dva predpoklady:
- Testovacie prípady pre kandidátov by mali byť užitočné
- Rámec je pripravený
Identifikujte rôzne akcie, ktoré vaša webová aplikácia robí. Môžu to byť jednoduché akcie, ako je navigácia, klikanie, zadávanie textu; alebo zložitá akcia, ako je pripojenie k databáze, spracovanie Flash alebo Ajax. Vezmite naraz jeden testovací prípad, identifikujte, čo všetko daný konkrétny testovací prípad robí, a podľa toho odhadnite hodiny. Súčet všetkých hodín za celú testovaciu jednotku vám poskytne presné číslo.
Malo by existovať ustanovenie aj pre preskúmanie. Recenzie sú jednoducho kontrolou kódu, ktorú môže vykonať buď peer, alebo vývojár. Párové programovanie je najlepšia voľba, ktorá je rýchla, ale ak to nie je možné, na základe dostupných zdrojov alebo stratégie kontroly organizácií by sa pre ňu mali prideliť hodiny.
Ďalšie podrobnosti o jednotlivých faktoroch ovplyvňujúcich odhad:
Faktor č. 1: Rozsah
Význam : Identifikácia možných testovacích prípadov automatizácie prostredníctvom návratnosti investícií
Zapojené kroky:
- Identifikujte rôzne faktory, ktoré budú tvoriť základ identifikácie kandidátov na testovacie prípady.
- Aplikáciu rozdeľte na menšie moduly
- Analyzujte každý modul a identifikujte kandidátske testovacie prípady
- Vypočítajte NI
Doručiteľný: Zoznam testovacích prípadov, ktoré je potrebné automatizovať.
Poznámky: Keď budete pokračovať v ďalších krokoch odhadu, je dôležité zmraziť váš rozsah.
Faktor č. 2: Zložitosť
Význam: Stanovte definíciu priamej a malej aplikácie.
Zapojené kroky:
- Veľkosť aplikácie závisí od počtu testovacích prípadov, ktoré je potrebné automatizovať.
- Zložitosť veľkosti prostredníctvom série Fibonacci.
- Identifikujte overovací bod a kontrolný bod každého testovacieho prípadu.
Doručiteľný: Veľkosť aplikácie - malá, stredná alebo veľká.
Niekoľko testovacích prípadov a ich príslušné kontrolné a overovacie body.
Poznámky : Odporúčané - Testovací prípad môže mať viac kontrolných bodov, ale iba 1 overovací bod. Ak má testovací prípad viac ako 1 overovací bod, mal by sa rozdvojiť do samostatného testovacieho prípadu.
Faktor č. 3: Podporné nástroje
Význam: Samotný selén nie je dosť silný na to, aby vytvoril komplexný rámec. Vyžaduje si zoznam rámcových nástrojov na vytvorenie rámca.
Zapojené kroky:
Ako otvoríte súbor JSON
- Finalizované IDE
- Dokončený nástroj na testovanie jednotky
- Dokončený záznamník
- Nástroj na dokončenie podávania správ
- Dokončený nástroj na zostavenie
Doručiteľný: Zoznam nástrojov potrebných na vytvorenie rámca.
Poznámky:
Príklady:
- Eclipse / RAD - ako IDE
- Ant / Maven - nástroj na vytváranie
- jUnit / TestNG - ako rámec testovania jednotiek
- Log4j - ako Logger
- ReportiNG - ako reportovací nástroj
- Textové súbory - na sledovanie prostredí / poverení
- Súbory Excel - na sledovanie údajov o teste
- Perl / Python - na nastavenie prostredia a spustenie testovacích skriptov.
Faktor č. 4: Implementačný rámec
Význam: Vytvorenie štruktúry
Zapojené kroky:
- Navrhnite svoje vstupné súbory.
- Navrhnite štruktúru priečinkov
- Určte / implementujte záznamník do svojej práce s rámcami
- Implementujte nástroj na zostavenie vo svojom rámci
- Implementovať rámec testovania jednotiek
Doručiteľný:
- Rámec a štruktúra priečinkov vytvorená v IDE.
- Hárky programu Excel obsahujúce vaše vstupné údaje
- Súbory vlastností obsahujúce údaje a poverenia súvisiace s prostredím.
Poznámky: Toto je najdôležitejší krok. Pri odhadovaní je vhodné zahrnúť určitý čas medzipamäte, pretože riešenie problémov s časom niekedy trvá dlhšie, ako sa očakávalo.
Faktor č. 5: Nastavenie prostredia
Význam: Zaoberá sa nastavením a sťahovaním / prípravou na nasadenie kódu
Zapojené kroky:
- Pripravte vstupný súbor a prehľady
- Vytvorte spúšťací skript
Doručiteľný: Prostredie pripravené
Poznámky: Mali by sme sa pokúsiť zostaviť náš rámec takým spôsobom, aby bol náš kód nasadený do uvedeného prostredia / skrinky s najmenšími problémami.
Nemal by som sa mýliť, ak poviem, že pri minimálnych vstupoch do našich textových súborov (ktoré majú adresu URL a poverenia) by mal byť náš kód pripravený na spustenie a ROCK!
Faktor č. 6: Učenie a školenie
Význam: Učenie programovacieho jazyka a ďalšie podporné technológie
Zapojené kroky: Pripravte plán podľa vašich automatizačných potrieb a zdieľajte ho s tímom. Povzbuďte ich, aby sa učili a postupovali podľa učebných plánov.
Doručiteľný: Tréningový plán a jeho tracker, ktorý bude sledovať pokrok tímu.
Poznámky: Dôraz by sa mal klásť na budovanie logiky, skôr na učenie sa syntaxe.
Faktor č. 7: Kódovanie, skriptovanie a kontrola
Význam: Písanie skutočných testovacích skriptov a ich kontrola
Zapojené kroky:
- Testovacie prípady a rámec sú pripravené.
- Vezmite / rozdeľte testovacie prípady a prevádzajte ich do automatizovaných skriptov a sledujte svoj pokrok
Doručiteľný: Automatizované testovacie skripty
Poznámky: Celý tím by sa mal podieľať na písaní testovacích skriptov pomocou implementovaného rámca. Pri odhadovaní by sa teda malo brať do úvahy úsilie celého tímu.
Záver :
Po všetkých týchto bodoch nezabudnite do konečného odhadu automatizácie selénu zahrnúť réžiu správy a čas potrebný na vyrovnanie. Najlepším a osvedčeným spôsobom, ako urobiť akýkoľvek odhad, je postupovať podľa mechanizmu WBS (Work Break down Structure). Toto je priame riešenie a slúži na účel implementácie potrieb odhadu automatizácie.
Vyššie uvedené faktory sú faktory založené na mojich skúsenostiach, ale môžu existovať aj iné subjekty, ktoré by mohli ovplyvniť stratégiu.
Tu platí pravidlo palca „Určte určité kritériá, rozdeľte svoje moduly alebo testovací prípad podľa týchto kritérií; a škálovať to “. Na základe vašej zmenšenej postavy - môžete prísť k presnému odhadu.
Nasledujúci návod č. 33 : Budeme uzatvárať naše najkomplexnejšia online školenie série Selenium zadarmo tutoriály s posledným tutoriálom, tj. „ Otázky rozhovoru so selénom s otázkami a odpoveďami “.
Dajte nám vedieť, ak máte ďalšie tipy na odhad úsilia selénových projektov.
Odporúčané čítanie
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Efektívne scenáre selénu a riešenie problémov - scenáre selénu # 27
- Ladenie selénových skriptov pomocou denníkov (výučba Log4j) - výučba selénu č. 26
- 30+ najlepších návodov na selén: Naučte sa selén na skutočných príkladoch
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Ako nájsť prvky v prehliadačoch Chrome a IE na vytváranie skriptov selénu - selénový tutoriál # 7
- Najobľúbenejšie rámce automatizácie testov s výhodami a nevýhodami každého z nich - selén, návod č. 20
- Implementácia nášho prvého skriptu WebDriver - výučba selénu WebDriver č. 10