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.

  • 📐 Základní definice: Rámec je soubor pokynů, nikoli pravidel, které zajišťují opětovné použití, přenositelnost a nižší náklady na údržbu.
  • ⏺️ Lineární skriptování: Nahrávání a přehrávání je nejrychlejší na vytvoření a nejobtížnější na údržbu, protože data zůstávají pevně zakódována.
  • 🧱 Testovací knihovna Archistruktura: Běžné kroky se stávají opakovaně použitelnými funkcemi volanými skriptem ovladače, což zvyšuje opakované použití na úkor času plánování.
  • 📊 Na základě dat: Testovací logika zůstává ve skriptech, zatímco se data přesouvají do Excelu, CSV nebo databáze, což umožňuje mnoho scénářů na jeden skript.
  • 🔑 Řízeno klíčovými slovy: Akce jsou uloženy jako klíčová slova v tabulce, takže testy jsou nezávislé jak na nástroji, tak na aplikaci.
  • 🔀 Hybridní model: Většina vyspělých sad kombinuje tabulky klíčových slov s funkčním rozkladem, aby vyvážila úsilí a pokrytí.

Testovací automatizační rámec Architextura a typy

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í:

  1. Lineární skriptování
  2. Testovací knihovna Architecture Framework.
  3. Daty řízené Testování Rámec.
  4. Rámec pro testování řízené klíčovými slovy nebo tabulkami.
  5. 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:

  1. 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.
  2. 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.
  3. Jak volatilní je rozhraní? Častá změna obrazovky vyžaduje samostatné úložiště objektů, jinak je nutné upravovat každý skript.
  4. Jak velká variabilita dat je potřeba? Mnoho vstupních kombinací přímo ukazuje na návrh řízený daty.
  5. 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í

Nejčastější dotazy

Nástroj spouští příkazy pro aplikaci. Framework je soubor konvencí, struktury složek a opakovaně použitelných knihoven, které určují, jak jsou tyto příkazy zapsány, organizovány a spravovány.

Ne. Objektový model stránky (Page Object Model) je návrhový vzor pro vrstvu objektového repozitáře. Běžně se používá v rámci knihovních, datově řízených a hybridních frameworků, spíše než aby je nahrazoval.

Umělá inteligence přidává do vrstvy úložiště objektů samoopravné lokátory a vizuální porovnání. Vrstvená architektura zůstává stejná, ale skripty se méně často selhávají, když se uživatelské rozhraní mírně změní.

Ano. Asistenti s umělou inteligencí převádějí písemné kroky do řádků objektů, akcí a argumentů. Kontrolor musí i tak potvrdit, že názvy objektů odpovídají repozitáři, jinak vygenerované řádky za běhu selžou.

TracHodiny údržby skriptů k na vydání, procento nestabilních selhání a doba od sestavení k výsledku. Zdravý framework vykazuje klesající úsilí o údržbu, zatímco automatizované pokrytí neustále roste.

Shrňte tento příspěvek takto: