Rámec pro automatizaci testování: Architextura a typy
⚡ Chytré shrnutí
Architektura Test Automation Framework definuje standardy kódování, zpracování testovacích dat a pravidla pro úložiště objektů, která automatizační skripty dodržují. Existuje pět zavedených typů, přičemž každý z nich vyvažuje úsilí o nastavení oproti opětovnému použití, nákladům na údržbu a dlouhodobé škálovatelnosti.

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 břišní svalytract, abyste měli představu o čem bude prezentace.
- 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 pokyny dodržovat, povede to k příznivému výsledku, jako je snížení počtu diváků.tracúčasti během přednášek, zvýšení míry udržení účastníků a pochopení probírané látky.
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.
Testovací automatizační rámec Architextura: Klíčové komponenty
Než porovnáte typy, je užitečné zjistit, co každý framework obsahuje. ArchiTektura popisuje, jak jsou tyto části vrstvené, aby změna v jedné vrstvě nenarušila ostatní.
- Vrstva testovacího skriptu: Obsahuje testovací případy. Skripty zůstávají krátké, protože volají opakovaně použitelné funkce místo opakování kroků navigace.
- Knihovna funkcí: Ukládá sdílené akce, jako je přihlášení, vyhledávání a odhlášení, takže změna pracovního postupu se provede pouze jednou.
- Úložiště objektů: Mapuje popisné názvy na lokátory prvků grafického uživatelského rozhraní. Při změně rozhraní se upraví pouze tato vrstva.
- Testovací datová vrstva: Uchovává vstupní a očekávané hodnoty v Excelu, CSV nebo databázových zdrojích, nikoli uvnitř kódu.
- Konfigurační vrstva: Obsahuje prostředí URLs, volby prohlížeče, časové limity a přihlašovací údaje.
- Vrstva reportingu: Vytváří zprávy o provedení, snímky obrazovky selhání a diagnostické protokoly.
- Prováděcí vrstva: Spouští sady ze serveru sestavení a propojuje automatizaci s průběžná integrace.
Níže uvedené typy frameworků se liší hlavně v tom, jak striktně tyto vrstvy oddělují.
Typy testovacích automatizačních rámců
Níže jsou uvedeny různé typy rámců automatického testování:
- Lineární skriptování
- Testovací knihovna Architecture Framework.
- Daty řízené Testování Rámec.
- Rámec pro testování řízené klíčovými slovy nebo tabulkami.
- Rámec pro hybridní testovací automatizaci.
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 se nachází v testovacích skriptech, testovací data jsou oddělena a uchovávána mimo testovací skripty. Testovací data se načítají z externích souborů (soubory aplikace Excel, textové soubory, soubory CSV, zdroje ODBC, objekty DAO, objekty ADO) a načítají se do proměnných uvnitř testovacího skriptu. Proměnné se používají jak pro vstupní hodnoty, tak pro ověřovací hodnoty. Samotné testovací skripty se připravují buď pomocí lineárního skriptování, nebo Test Library Framework. Tato technika je dále vysvětlena v... testování řízené daty výukový program.
Příklad: Developing Skript pro přihlášení k rezervaci 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
Jedno Řízeno klíčovými slovy nebo vývoj frameworku pro automatizaci řízenou 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.
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: Psaní Code ve formě komponentních funkcí.
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 v tomto případě zjistíte, že klíčová slova Sada, Kliknutí a Ověření zůstávají stejná a pro která jsou již vyvinuty odpovídající funkce komponenty, stačí změnit mapu aplikací.ping (Úložiště objektů) z dřívější rezervace letu do 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 : Třebaže OpenText UFT One (dříve Micro Focus UFT) se inzeruje jako framework řízený klíčovými slovy, s jeho použitím nelze dosáhnout úplné nezávislosti na testovacích nástrojích a aplikacích.
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říkladPoužívání akcí v QTP použití může 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.
Jak vybrat správný framework pro automatizaci testování
Žádný typ nevyhrává pokaždé. Správná volba závisí na dovednostech týmu, velikosti aplikace a na tom, jak dlouho musí sada přežít. Níže uvedená tabulka porovnává pět typů na základě faktorů, které rozhodují o výsledku.
| Typ rámce | Nastavení úsilí | Code Opakované použití | Náklady na údržbu | Nejvhodnější pro |
|---|---|---|---|---|
| Lineární skriptování | Velmi nízký | Velmi nízký | Velmi vysoko | Ukázky a jednorázové kontroly kouře |
| Testovací knihovna Architecture | Střední | Střední | Střední | Stabilní aplikace s opakovanými pracovními postupy |
| Data-Driven | Střední | Střední | Nízké | Formuláře a výpočty vyžadující mnoho vstupních sad |
| Řízeno klíčovými slovy | Vysoký | Velmi vysoko | Nízké | Velké apartmány udržované smíšenými technickými týmy |
| Hybridní | Vysoký | Velmi vysoko | Nízké | Dlouhodobě fungující podnikové programy |
Než se zavážete, zvažte tyto otázky:
- Jak dlouho bude apartmá žít? Roky údržby ospravedlňují vysokou počáteční investici do designu založeného na klíčových slovech nebo hybridního designu. Krátký projekt nikoli.
- Kdo píše testy? Pokud manuální testeři přispívají případy, tabulka klíčových slov jim umožňuje pracovat bez učení skriptovacího jazyka.
- Jak volatilní je rozhraní? Častá změna obrazovky vyžaduje samostatné úložiště objektů, jinak je nutné upravovat každý skript.
- Jak velká variabilita dat je potřeba? Mnoho vstupních kombinací přímo ukazuje na návrh řízený daty.
- Který nástroj se již používá? Rámec musí odpovídat zvolenému automatizační nástroj a jazyk, který tým ovládá, například Selenium s Java or Cucumber.
Většina týmů začíná s přístupem založeným na knihovnách nebo datech a poté se postupně rozvíjí směrem k hybridnímu modelu. regrese apartmá se rozšiřuje.
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í
