7 factors affecting test estimation selenium automation project selenium tutorial 32
V posledních několika selenových cvičeních jsme se dozvěděli o automatizované testování pomocí nástroje Okurka a selen . Diskutovali jsme také o integrace selenového WebDriveru s okurkou .
V tomto tutoriálu probereme různé faktory ovlivňující odhad úsilí automatizace selenu .
Plánování a odhad jsou dva nejdůležitější aspekty životního cyklu vývoje softwaru.
Osobně mám pocit, že v softwarovém průmyslu existují žádné neprůstřelné metody dělat cokoli. Vzhledem k tomu, že každý projekt je exkluzivní a má různé sady faktorů složitosti a prostředí, mělo by být provádění strategie odhadu a plánování společným úsilím jednotlivých týmů se správnými zásahy seniorů a podporou managementu.
Než začnete s odhadováním jakéhokoli projektu, je imperiální porozumět každé fázi, kterou váš projekt projde, abyste mohli poskytnout správný a oprávněný odhad.
Odhad lze provést nejen pro proces ručního testování, ale v této době automatizace se techniky odhadu používají i pro automatizaci testování. Nyní selen získává na trhu dynamiku a popularitu, snažím se psát o některých faktorech, které by měly být brány v úvahu při odhadování projektu selenu.
Začněme!!
Předpokládám, že iniciativu Automation zahajujeme od nuly a že nemáme k dispozici žádný připravený rámec.
Co se naučíte:
- Faktory ovlivňující odhad automatizace selenu
- # 1 Rozsah projektu
- # 2 Složitost aplikace
- # 3 Použití podpůrných nástrojů / technologií
- # 4 Provádění rámce
- # 5 Učení a školení
- # 6 Nastavení prostředí
- # 7 Kódování / skriptování a kontrola
- Závěr:
- Doporučené čtení
Faktory ovlivňující odhad automatizace selenu
Níže jsou vysvětleny různé faktory, které ovlivňují a které byste měli vzít v úvahu pro odhad konkrétního projektu „Selenium“:
# 1 Rozsah projektu
Rozsah obvykle znamená identifikaci správných testovacích případů pro automatizaci. K dosažení tohoto cíle použijte strategii „Rozděl a panuj“. Rozdělte svou aplikaci do malých bloků nebo modulů a analyzujte každý z nich, abyste přišli s příslušnými testovacími případy pro automatizaci.
normalizace v databázi s ukázkovými tabulkami
Jedná se o tyto kroky:
- Určete různé faktory, které budou základem pro identifikaci případných testovacích případů.
- Rozdělte aplikaci na menší moduly
- Analyzujte každý modul a identifikujte kandidáty testovacích případů
- Vypočítejte ROI
Další podrobnosti o tom, jak identifikovat správný testovací případ, najdete v mém předchozím článku: Výběr správných testovacích případů pro automatizaci
# 2 Složitost aplikace
Jedná se o tyto kroky:
- Určete velikost aplikace na základě počtu testovacích případů, které je třeba automatizovat.
- Složitost velikosti prostřednictvím řady Fibonacci.
- Identifikujte ověřovací bod a kontrolní bod každého testovacího případu
Zde musíme stanovit definici velké / střední a malé aplikace. Tato definice se liší od individuální / skupinové perspektivy. To, jak svou aplikaci klasifikujete, závisí také na počtu testovacích případů.
Například:
Pokud má vaše aplikace automatizaci 300 - 500 testovacích případů, můžete ji považovat za malou aplikaci. Pokud je testovacích případů více než 1 500, lze jej klasifikovat jako komplexní. Tento faktor se může u různých aplikací lišit. U některých lze 1500 automatických testovacích případů považovat za malé / střední měřítko. Jakmile tedy zjistíte přesný počet testovacích případů, změňte jej na malý / střední nebo velký. Vaše strategie odhadu úsilí bude do značné míry záviset na těchto kritériích.
Musíte také vzít v úvahu různé kontrolní body a ověřovací body pro váš testovací případ. Testovací případ může mít více než 1 kontrolní bod
ale bude mít pouze 1 ověřovací bod. V případě, že máte více než 1 ověřovací bod, doporučujeme rozdělit se na samostatné testovací případy. To také usnadní vaši údržbu a vylepšení vaší testovací sady.
# 3 Použití podpůrných nástrojů / technologií
Jedná se o tyto kroky:
- Určete potřeby rámce a automatizace
- Na základě potřeb analyzujte a identifikujte nástroje, které mají být použity.
- Identifikujte závislosti / důsledky používání nástroje.
Samotný selen nestačí k vytvoření rámce nebo dokončení automatizace. Selen (webový ovladač) skriptuje pouze testovací případ, ale existují i další úkoly, jako je hlášení výsledku, sledování protokolů, pořizování snímků obrazovky atd.
K dosažení těchto cílů potřebujete samostatné nástroje, které budou integrovány do vašeho rámce. Zde je tedy důležité určit tyto podpůrné entity, které budou nejlépe vyhovovat vašim požadavkům a pomohou získat pozitivní návratnost investic
# 4 Provádění rámce
Zde přichází ošemetná část J, kterých se to týká !!
- Určete vstup (vzor, ve kterém jsou data vkládána do skriptu) a výstup (zprávy / výsledky testů) vaší automatizační sady.
- Navrhněte své vstupní soubory. To se může pohybovat od jednoduchého textového souboru až po komplexní soubor aplikace Excel. Je to v podstatě soubor, který bude obsahovat vaše testovací data.
- Navrhněte strukturu složek na základě vašich vstupních parametrů a
- Implementujte funkci hlášení (buď v nějakém souboru aplikace Excel, nebo pomocí jakéhokoli nástroje, jako je ReportNG)
- Určete / implementujte záznamník ve vašem rámci
- Implementujte nástroj pro sestavení ve svém rámci
- Implementujte rámec testování jednotek (Junit nebo TestNG)
Existuje mnoho dalších požadavků, kromě pouhého skriptování v automatizaci testů se selenem, jako je čtení dat ze souboru, hlášení / sledování výsledků testů, sledování protokolů, spouštění skriptů na základě vstupních podmínek a prostředí atd. Takže potřebujeme strukturu který se postará o všechny tyto skripty. Tato struktura není nic jiného než váš rámec.
Webové aplikace jsou ze své podstaty složité, protože jejich implementace zahrnuje mnoho podpůrných nástrojů a technologií. Podobným způsobem je implementace rámce v selenu také složitá (neřeknu složitou), protože zahrnuje další nástroje k integraci. Jelikož víme, že Selenium NENÍ nástrojem, ale ve skutečnosti souborem / skupinou souborů jar, je konfigurován a není „Nainstalován“, samotný Selenium není dostatečně silný na to, aby vytvořil komplexní rámec. Vyžaduje seznam nástrojů třetích stran pro vytváření rámce.
Musíme si zde pamatovat, že v selenu není nic „připraveného“. Všechno musíme kódovat, takže by měla existovat ustanovení v odhadu pro googlování chyb a řešení problémů.
Tady musíme pochopit, že vytváření rámců je nejdůležitějším aspektem vašeho úsilí v automatizaci. Pokud je váš framework pevný jako skála, údržba a vylepšení se usnadní zejména v éře Agile, pokud je váš framework dobrý, můžete své testy snadno integrovat do všech sprintů.
Nebudu se mýlit, když řeknu, že tento konkrétní faktor návrhu Rámece by měl být nejdůležitějším aspektem odhadu. V případě potřeby (jako ve složité aplikaci) by měl být tento faktor znovu rozdělen na samostatnou ŠPP a měl by být proveden odhad.
# 5 Učení a školení
Učení selenu je trochu jiné než učení jakéhokoli jiného automatizačního nástroje. V podstatě to zahrnuje naučit se programovací jazyk než jen skriptovací jazyk (ačkoli skriptovací jazyk pomáhá při vytváření rámce, jako byste chtěli napsat skript, který by po provedení změn nastavení prostředí vyvolal vaše automatické skripty).
V případě, že kombinujeme WebDriver s Java, řekl bych, že pokud je člověk dobře obeznámen s jádrem Java, jsou ve velmi dobré kondici, aby mohli začít se selenovou automatizací.
Spolu s učením java by měla existovat ustanovení pro učení dalších technologií, jako je ANT / Maven (pro budování), TestNG / jUnit (rámec pro testování jednotek), Log4J (pro protokolování), reporting (pro podávání zpráv) atd. úroveň rámce. Čím více tento seznam roste, tím více času zabere.
Pokud se vedení rozhodlo jít se selenem, lze tyto výukové aktivity provádět souběžně s plánovací činností. Protože učení se těmto technologiím není nijak omezeno, navrhuje se mít pro tým připravený určitý plán (osnovy), aby mohl zahájit proces učení určitým směrem a všichni byli na stejné stránce.
Prakticky řečeno, my testeři nemáme moc zájem učit se plnohodnotnému programovacímu jazyku a cítíme, že je to hračka pro vývojáře. Nyní však musíme tuto mentalitu změnit a měli bychom považovat učení programovacího jazyka za stejně důležité jako učení se novému procesu testování. To nejen zvýší znalosti testeru o jazyku a automatizaci, ale také dá šanci pochopit, jak aplikace funguje interně, což může zvýšit jejich rozsah při hledání nových chyb.
# 6 Nastavení prostředí
Dohody o nastavení prostředí (nejen): -
- Nastavení kódu v testovacím prostředí
- Nastavení kódu v produkčním prostředí
- Psaní skriptů pro spuštění automatických testů.
- Rozvoj logiky pro podávání zpráv
- Stanovení frekvence spouštění skriptů a vývoj logiky pro jeho implementaci
- Vytváření textových / excelových souborů pro zadávání testovacích dat a testovacích případů
- Vytváření souborů vlastností pro sledování prostředí a pověření
# 7 Kódování / skriptování a kontrola
Než začnete skutečně psát své testy, existují 2 předpoklady:
- Testovací případy kandidátů by měly být užitečné
- Rámec je připraven
Určete různé akce, které vaše webová aplikace provádí. Může to být jednoduchá akce, jako je navigace, kliknutí, zadávání textu; nebo složitá akce, jako je připojení k databázi, zpracování flash nebo Ajax. Vezměte jeden testovací případ najednou a zjistěte, jaké jsou všechny akce, které konkrétní testovací případ dělá, a podle toho odhadněte počet hodin na testovací případ. Součet všech hodin celé testovací sady vám poskytne přesné číslo.
Mělo by tam být také ustanovení o kontrole. Recenze jsou jednoduše kontrolou kódu, kterou může provést peer nebo vývojář. Párové programování je nejlepší volbou, která je rychlá, ale pokud to není možné, na základě dostupných zdrojů nebo strategie kontroly organizací by pro ni měly být přiděleny hodiny.
Další podrobnosti o každém faktoru ovlivňujícím odhad:
Faktor č. 1: Rozsah
Význam : Identifikace možných testovacích případů pro automatizaci prostřednictvím návratnosti investic
Zapojené kroky:
- Určete různé faktory, které budou základem pro identifikaci případných testovacích případů.
- Rozdělte aplikaci na menší moduly
- Analyzujte každý modul a identifikujte kandidáty testovacích případů
- Vypočítejte ROI
Doručitelný: Seznam testovacích případů, které je třeba automatizovat.
Poznámky: Jakmile provedete další kroky odhadu, je důležité zmrazit váš rozsah.
jak spustit swf v chromu
Faktor č. 2: Složitost
Význam: Stanovte definici jednoduché a malé aplikace.
Zapojené kroky:
- Velikost aplikace na základě počtu testovacích případů, které je třeba automatizovat.
- Složitost velikosti prostřednictvím řady Fibonacci.
- Identifikujte ověřovací bod a kontrolní bod každého testovacího případu.
Doručitelný: Velikost aplikace - malá, střední nebo velká.
Řada testovacích případů a jejich odpovídající kontrolní a ověřovací bod.
Poznámky : Doporučeno - Testovací případ může mít více kontrolních bodů, ale pouze 1 ověřovací bod. Pokud má testovací případ více než 1 ověřovací bod, měl by být rozdvojen do samostatného testovacího případu.
Faktor č. 3: Podpůrné nástroje
Význam: Selen samotný není dostatečně silný na to, aby vytvořil komplexní rámec. Vyžaduje seznam rámcových nástrojů pro vytváření rámce.
Zapojené kroky:
- Dokončené IDE
- Dokončený testovací nástroj jednotky
- Dokončený záznamník
- Dokončený nástroj pro podávání zpráv
- Dokončený nástroj pro sestavení
Doručitelný: Seznam nástrojů potřebných k vytvoření rámce.
Poznámky:
Příklady:
- Eclipse / RAD - jako IDE
- Ant / Maven - jako nástroj pro sestavení
- jUnit / TestNG - jako rámec testování jednotek
- Log4j - jako záznamník
- ReportiNG - jako reportovací nástroj
- Textové soubory - pro sledování prostředí / pověření
- Soubory Excel - pro sledování testovacích dat
- Perl / Python - pro nastavení prostředí a spuštění testovacích skriptů.
Faktor č. 4: Implementační rámec
Význam: Vytvoření struktury
Zapojené kroky:
- Navrhněte své vstupní soubory.
- Navrhněte strukturu složek
- Určete / implementujte záznamník v práci s rámcem
- Implementujte nástroj pro sestavení ve svém rámci
- Implementujte rámec testování jednotek
Doručitelný:
otázky ohledně pohovoru pro testování softwaru pro zkušené kandidáty
- Rámec a struktura složek vytvořená v IDE.
- Excel listy obsahující vaše vstupní data
- Soubory vlastností obsahující data a pověření související s prostředím.
Poznámky: Toto je nejdůležitější krok. Doporučuje se při odhadu zahrnout nějaký čas vyrovnávací paměti, protože řešení potíží s určitým časem trvá déle, než se očekávalo.
Faktor č. 5: Nastavení prostředí
Význam: Zabývá se nastavením kódu a stahováním / přípravou na nasazení kódu
Zapojené kroky:
- Připravte vstupní soubor a hlášení
- Vytvořte spouštěcí skript
Doručitelný: Prostředí připraveno
Poznámky: Měli bychom se pokusit sestavit náš framework takovým způsobem, aby byl náš kód nasazen do uvedeného prostředí / krabice s minimem potíží.
Neměl bych se mýlit, když říkám, že s minimálními vstupy do našich textových souborů (které mají URL a pověření) by náš kód měl být připraven ke spuštění a ROCK!
Faktor č. 6: Učení a školení
Význam: Učení programovacího jazyka a dalších podpůrných technologií
Zapojené kroky: Připravte plán podle svých automatizačních potřeb a sdílejte jej s týmem a povzbuďte je, aby se učili a postupovali podle osnov.
Doručitelný: Tréninkový plán a jeho tracker, který bude sledovat pokrok týmu.
Poznámky: Důraz by měl být kladen na budování logiky, spíše na učení syntaxe.
Faktor č. 7: Kódování / skriptování a kontrola
Význam: Psaní skutečných testovacích skriptů a jejich kontrola
Zapojené kroky:
- Testovací případy a rámec je připraven.
- Vezměte / rozdělte testovací případy a převeďte je na automatizované skripty a sledujte svůj pokrok
Doručitelný: Automatizované testovací skripty
Poznámky: Celý tým by se měl podílet na psaní testovacích skriptů pomocí implementovaného rámce. Při odhadování by tedy mělo být bráno v úvahu úsilí celého týmu.
Závěr :
Po všech těchto bodech nezapomeňte do konečného odhadu automatizace selenu zahrnout režii správy a nějaký čas vyrovnávací paměti. Nejlepším a osvědčeným způsobem, jak provést jakýkoli odhad, je postupovat podle mechanismu WBS (Work Break down Structure). To je přímočaré a slouží účelu implementace potřeb pro odhad automatizace.
Faktory uvedené výše jsou faktory založené na mých zkušenostech, ale mohou existovat i jiné entity, které by mohly ovlivnit strategii.
Pravidlo palce je zde 'Určete určitá kritéria, rozdělte své moduly nebo testovací případ podle těchto kritérií; a škálovat to “. Na základě vaší zmenšené postavy - můžete dojít k přesnému odhadu.
Další výuka č. 33 : Budeme uzavírat naše nejkomplexnější Selenium online školení zdarma výukové série s posledním tutoriálem, tj. „ Otázky k selenovému pohovoru s odpověďmi “.
Dejte nám vědět, pokud máte nějaké další tipy pro odhad úsilí selenových projektů.
Doporučené čtení
- Úvod do selenu WebDriver - Selenium Tutorial # 8
- Efektivní scénáře selenu a řešení potíží - Scénář selenu č. 27
- Ladění selenových skriptů pomocí protokolů (výuka Log4j) - výuka selenu č. 26
- 30+ nejlepších návodů na selen: Naučte se selen se skutečnými příklady
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Jak najít prvky v prohlížečích Chrome a IE pro vytváření skriptů selenu - výuka selenu č. 7
- Nejoblíbenější rámce automatizace testů s klady a zápory každého z nich - výuka selenu č. 20
- Implementace našeho prvního skriptu WebDriver - výuka selenu WebDriver # 10