Testovací automatizační rámec: Co je, Architecture & Types
Co je framework v automatizačním testování?
A Testovací automatizační rámec je soubor pokynů, jako jsou standardy kódování, manipulace s testovacími daty, zacházení s úložištěm objektů atd..., které při dodržení během automatizačního skriptování přináší příznivé výsledky, jako je zvýšené opětovné použití kódu, vyšší přenositelnost, snížené náklady na údržbu skriptů atd. Toto jsou pouze pokyny, nikoli pravidla; nejsou povinné a stále můžete skriptovat, aniž byste se řídili pokyny. Přijdete však o výhody, které přináší rámec.
Proč potřebujete rámec?
Podívejme se na příklad, abychom pochopili, proč potřebujete Framework.
Jsem si jistý, že jste se zúčastnili semináře/přednášky/konference, kde byli účastníci požádáni, aby dodržovali následující pokyny –
- Účastníci by měli obsadit svá místa 5 minut před začátkem přednášky.
- Na zapisování si vezměte sešit a pero.
- Přečtěte si abstrakt, ať máte představu, o čem prezentace bude.
- Mobilní telefony by měly být v tichém režimu.
- Použijte výstupní brány na opačném konci, než je řečník, pokud budete chtít odejít uprostřed přednášky.
- Otázky budou položeny na konci zasedání.
Myslíte si, že můžete vést seminář? BEZ dodržování těchto pokynů👍
Odpověď je velká ANO! Samozřejmě můžete uspořádat seminář/přednášku/konferenci/demonstraci bez výše uvedených pokynů. Ve skutečnosti je někteří z nás nebudou dodržovat, i když jsou stanoveny!
Pokud se však budou řídit pokyny, bude to mít za následek prospěšný výsledek, jako je snížené rozptýlení publika během přednášek, zvýšené udržení účastníků a porozumění předmětu.
Na základě výše uvedeného a Rámec lze definovat jako soubor pokynů, které při dodržení přináší příznivé výsledky.
Typy testovacích automatizačních rámců
Níže jsou uvedeny různé typy rámců automatického testování:
- 1) Lineární skriptování
- 2) Testovací knihovna Architecture Framework.
- 3) Data-Driven Testování Rámec.
- 4) Testovací rámec řízený klíčovými slovy nebo tabulkou.
- 5) Hybrid Test Automation Framework.
Podívejme se na ně podrobně –
1) Lineární skriptování – záznam a přehrávání
Je to nejjednodušší ze všech testovacích automatizačních rámců a také známý jako „Záznam a přehrávání“. V této Testování automatizace Framework, Tester ručně zaznamenává každý krok (Navigace a uživatelské vstupy), vkládá kontrolní body (Ověřovací kroky) v prvním kole. Poté přehraje nahraný scénář v následujících kolech.
Příklad: Zvažte přihlášení Aplikace pro rezervaci letu a kontrola, zda se aplikace načetla při úspěšném přihlášení. Zde tester jednoduše zaznamená kroky a přidá kroky ověření.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded after successful log-on Window("Flight Reservation").Check CheckPoint("Flight Reservation")
Výhody
- Nejrychlejší způsob generování skriptu
- Odbornost v oblasti automatizace není nutná
- Nejjednodušší způsob, jak se naučit funkce Testovacího nástroje
Nevýhody
- Malé opětovné použití skriptů
- Testovací data jsou pevně zakódována do skriptu
- Noční můra údržby
2) Testovací knihovna Architecture Framework
To je také známé jako "Strukturované skriptování" or "Funkční rozklad".
V tomto Automation Testing Framework jsou testovací skripty zpočátku zaznamenány pomocí „Nahrávání a přehrávání„Metoda. Later, běžné úkoly uvnitř skriptů jsou identifikovány a seskupeny do funkcí. Tyto funkce jsou volány hlavním testovacím skriptem Řidič různými způsoby vytvářet testovací případy.
Příklad: Pomocí stejného příkladu jako výše bude funkce pro přihlášení do rezervace letu vypadat takto .
Function Login() SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click End Function
Nyní tuto funkci zavoláte v hlavním skriptu následovně
Call Login() --------------------------- Other Function calls / Test Steps. ---------------------------
Výhody
- Vyšší úrovně opětovného použití kódu je dosaženo ve strukturovaném skriptování ve srovnání s „Záznam a přehrávání“
- Automatizační skripty jsou méně nákladné na vývoj kvůli vyššímu opětovnému použití kódu
- Snadnější údržba skriptů
Nevýhody
- K psaní skriptů pomocí Test Library Framework jsou nezbytné technické znalosti
- Na plánování a přípravu testovacích skriptů je potřeba více času.
- Testovací data jsou pevně zakódována ve skriptech
3) Data-Driven Testing Framework
V tomto rámci, zatímco Testovací případ logika je umístěna v testovacích skriptech, testovací data jsou oddělena a uchovávána mimo testovací skripty. Testovací data se čtou z externích souborů (soubory Excel, textové soubory, soubory CSV, zdroje ODBC, objekty DAO, objekty ADO) a načtou se do proměnných uvnitř testovacího skriptu. Proměnné se používají jak pro vstupní hodnoty, tak pro hodnoty ověření. Samotné testovací skripty se připravují buď pomocí lineárního skriptování nebo testovací knihovny.
Příklad: Vývoj přihlašovacího skriptu rezervace letu pomocí této metody bude zahrnovat dva kroky.
Krok 1) Vytvořte testovací – datový soubor, který může být Excel , CSV nebo jakýkoli jiný zdroj databáze.
Jméno agenta | Heslo |
---|---|
Paklíč | Mercury |
Tina | RTUŤ |
Bill | Rtuť |
Krok 2) Vyviňte testovací skript a vytvořte odkazy na zdroj testovacích dat.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded Window("Flight Reservation").Check CheckPoint("Flight Reservation") **Note "dtGlobalSheet" is the default excel sheet provided by QTP.
Výhody
- Změny testovacích skriptů nemají vliv na testovací data
- Testovací případy lze provádět s více sadami dat
- Pouhou změnou testovacích dat v externím datovém souboru lze spustit celou řadu testovacích scénářů
Nevýhody
- Na plánování a přípravu testovacích skriptů i testovacích dat je potřeba více času
4) Testovací rámec řízený klíčovými slovy nebo tabulkou
Vývoj automatizačního rámce řízeného klíčovými slovy nebo tabulkami vyžaduje datové tabulky a klíčová slova, nezávislý na testovací automatizační nástroj slouží k jejich popravě. Testy mohou být navrženy s aplikací nebo bez ní. V testu řízeném klíčovými slovy je funkčnost testované aplikace dokumentována v tabulce a také v podrobných pokynech pro každý test.
Rámec řízený klíčovými slovy má 3 základní součásti, viz. Klíčové slovo, aplikační mapa, komponentní funkce.
Co je klíčové slovo?
Klíčové slovo je akce, kterou lze provést na komponentě GUI. Př. Pro textové pole komponenty GUI by některá klíčová slova (Akce) byla InputText, VerifyValue, VerifyProperty a tak dále.
Co je aplikační mapa?
Mapa aplikací poskytuje pojmenované odkazy pro komponenty GUI. Aplikační mapy nejsou nic jiného než „Úložiště objektů"
Co je funkce komponenty?
Funkce komponent jsou funkce, které aktivně manipulují s komponentou GUI nebo se jí dotírají. Příkladem funkce může být kliknutí na tlačítko web se všemi chybami, zadání dat do Web Edit se všemi chybami. Funkce komponent mohou být závislé na aplikaci nebo nezávislé.
Příklad: Chcete-li porozumět zobrazení klíčových slov, vezměme si stejný příklad. Zahrnuje 2 kroky
Krok 1: Vytvoření tabulky dat (odlišné od tabulky Test-Data vytvořené v Data Driven Framework). Tato datová tabulka obsahuje akci, která má být provedena na objektech GUI, a případně odpovídající argumenty. Každý řádek představuje jeden testovací krok.
Objekt | Akce | |
---|---|---|
(MAPA aplikace) | (KEYWORDS) | Argument |
WinEdit (jméno agenta) | sada | Guru99 |
WinEdit (heslo) | sada | Mercury |
WinButton (OK) | klikněte | |
Okno (rezervace letu) | Ověřit si | Existuje |
Krok 2: Zápis kódu ve formě funkcí komponent.
Jakmile vytvoříte svou datovou tabulku (tabulky), jednoduše napíšete program nebo sadu skriptů, které čte v každém kroku, provede krok na základě klíčového slova obsaženého v poli Action, provede kontrolu chyb a zaznamená všechny relevantní informace. Tento program nebo sada skriptů bude vypadat podobně jako níže uvedený pseudo kód:
Function main() { Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table. while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table. { Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99). } } Call CloseConnection() //Function for Closing connection after all the operation has been performed. } //End of main
To je vše k Key Driven Framework.
Výhodou Keyword Driven Framework je, že klíčová slova jsou znovu použitelná. Abyste tomu porozuměli, zvažte, že chcete ověřit přihlašovací operaci pro webovou stránku, řekněte YAHOO MAIL. Tabulka bude vypadat takto -
Objekt | Akce | |
---|---|---|
(MAPA APLIKACE) | (KEYWORD) | Argument |
WebEdit (uživatelské jméno) | sada | abc@yahoo.com |
WebEdit (heslo) | sada | xxxxx |
WebButton (OK) | klikněte | |
Okno (Yahoo Mail) | Ověřit si | spousta |
Pokud si v tomto případě všimnete, že klíčová slova Set , Click , Verify zůstávají stejné, pro které jsou již vyvinuty odpovídající funkce komponent. Vše, co musíte udělat, je změnit Mapování aplikací (Object Repository) z dřívější rezervace letu na Yahoo Mail , se změnou hodnot argumentů a stejný skript bude fungovat!
Výhody
- Poskytuje vysokou znovupoužitelnost kódu
- Nezávislý testovací nástroj
- Nezávisle na testované aplikaci funguje stejný skript pro AUT (s určitými omezeními)
- Testy mohou být navrženy s nebo bez AUT
Nevýhody
- Počáteční investice jsou poměrně vysoké, výhody z toho lze realizovat pouze v případě, že je aplikace značně velká a testovací skripty mají být udržovány po dobu několika let.
- K vytvoření frameworku řízeného klíčovými slovy je vyžadována vysoká odbornost v oblasti automatizace.
POZNÁMKA : I když se Micro Focus UFT inzeruje jako KeyWord Driven Framework, pomocí HP UFT nemůžete dosáhnout úplné nezávislosti testovacích nástrojů a aplikací.
5) Hybrid Test Automation Framework
Jak název napovídá, tento rámec je kombinací jednoho nebo více výše uvedených automatizačních rámců, které čerpají ze svých silných stránek a snaží se zmírnit své slabé stránky. Hybridní testovací rámec automatizace QA je tím, v co se většina testovacích automatizačních rámců vyvíjí v průběhu času a více projektů. Maximum industry používá Keyword Framework v kombinaci s metodou rozkladu funkcí.
PS: Za zmínku stojí i další automatizační rámce
Testovací modulární rámec
V tomto rámci jsou společné úkoly v testovacím skriptu seskupeny jako moduly.
Příklad: Použitím akcí při použití QTP lze vytvořit modulární skripty
Ukázkový skript pro přihlášení
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'End of Script
Nyní můžete tuto akci nazvat v hlavním skriptu následovně –
RunAction ("Login[Argument]", oneIteration)
Testování obchodních procesů (BPT)
Tyto automatizační rámce rozdělují velké obchodní procesy na komponenty, které lze opakovaně použít ve stejných nebo různých testovacích skriptech. Například obchodní proces rezervace letu je rozdělen do komponent, jako je přihlášení , vyhledání letů , rezervace , platba a odhlášení, které lze znovu použít ve stejném obchodním procesu nebo v různých procesech. BPT také usnadňuje užší koordinaci mezi malými a středními podniky a automatizačními inženýry.
Výhody Test Automation Framework Architecture
Níže jsou uvedeny výhody architektury testovacího automatizačního rámce:
- Rámec automatizace testování pomáhá snížit rizika a náklady
- Zlepšuje efektivitu testů
- Pomáhá snižovat náklady na údržbu
- Umožňuje opětovné použití kódu
- Umožňuje dosáhnout maximálního pokrytí testem
- Maximalizuje funkčnost aplikace
- Pomáhá snížit duplicitu testovacích případů
- Pomáhá zlepšit efektivitu a výkon testu pomocí automatizace testování
Shrnutí
- Rámec je soubor pokynů, jako jsou standardy kódování, manipulace s testovacími daty, zacházení s úložištěm objektů atd..., které při dodržení během automatizačního skriptování přináší příznivé výsledky, jako je zvýšené opětovné použití kódu, vyšší přenositelnost, snížené náklady na údržbu skriptů atd.
- Lineární skriptování je nejjednodušší ze všech Automation Frameworks a také známé jako „Záznam a přehrávání“.
- Testovací knihovna Architecture Framework je také známý jako „Strukturované skriptování“ nebo „Funkční rozklad“.
- V Data-Driven Testing Framework je logika testovacího případu umístěna v testovacích skriptech a testovací data jsou oddělena a uchovávána mimo testovací skripty.
- Rámec založený na klíčových slovech nebo na základě tabulek vyžaduje vývoj datových tabulek a klíčových slov nezávisle na nástroji pro automatizaci testů, který se používá k jejich provádění.
- Hybrid Automation Framework je to, v co se většina testovacích automatizačních frameworků vyvíjí v průběhu času a více projektů.