qtp frameworks test automation frameworks keyword driven
=> Klepnutím sem zobrazíte sérii výukových programů QTP
nejlepší špionážní software pro iPhone 5
Co je to Test Automation Framework a co je QTP Framework?
V kontextu úspěšné implementace QTP pro projekt testování softwaru se často setkáváme s konceptem rámců. Rámec není nic jiného než přístup, který důsledně dodržujeme během procesu automatizace - soubor pokynů.
Osobně nerad dávám jména a říkám, že jedno funguje lépe než druhé. Výběr určitého rámce není počátkem projektu. Je to naopak, co je pravda. V procesu vytváření strategie testování vytvoříte pravidla, která jsou použitelná pro aktuální situaci testera a že právě tam je váš rámec.
Níže jsou uvedeny některé z důležitých bodů, které musíme vzít v úvahu:
- Opakovaná použitelnost
- Snadná údržba skriptu
- Čitelnost skriptů
- Dobrá funkční struktura složek pro všechna testovaná aktiva
- Žádné hodnoty pevného kódování
- Žádná kaskáda poruch. (tj. pokud jeden test selže, neměl by způsobit selhání nebo zastavení ostatních)
Toto je základní seznam a na základě požadavku lze přidat další.
Jakákoli testovací strategie, která se pokusí začlenit některé nebo všechny tyto výše uvedené body, je váš Test Automation Framework.
Existují různé názvy a typy rámců. Následuje seznam rámců podle mě:
Co se naučíte:
- Typy automatizačních rámců: (Platí pro QTP Framework)
- Lineární rámec
- Rámec na základě klíčových slov
- Doporučené čtení
Typy automatizačních rámců: (Platí pro QTP Framework)
- Lineární - Nejjednodušší forma vytvoření testu. Stačí napsat jeden jediný program bez modularity v postupných krocích
- Na základě klíčových slov - Vytvořte různá klíčová slova pro jinou sadu operací a v hlavním skriptu na tato klíčová slova můžeme jen odkazovat.
- Na základě dat - Chcete-li spustit stejnou sadu operací s více sadami dat, které jsou uchovávány v samostatných souborech, většinou listy aplikace Excel.
- Hybridní - Kombinovaný rámec, který může být částečně založen na datech a částečně na klíčových slovech
- BPT - To jen znamená, že programy jsou rozděleny na obchodní komponenty a jsou používány s jedním nebo druhým z výše uvedených typů rámců
Lineární rámec
Jak již bylo řečeno, tento přístup zahrnuje jednoduše psaní kódu, jak nahráváme a pokračujeme.
Například, pokud je operací, kterou musíte ověřit, vytvoření nového účtu v Gmailu, budou následující kroky:
- Otevřete gmail.com
- Klikněte na „Vytvořit účet“
- Zadejte podrobnosti
- Ověřte podrobnosti
- Vytvořte si účet
'Open GMail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click
Výše uvedený příklad je příkladem toho, jak vypadá program využívající lineární metodu. V tomto okamžiku je zřejmé, jaké jsou výhody a nevýhody této metody.
Výhody:
- Jednoduchost. Pro začínajícího programátora je tato metoda trefná
- Čas - Vytvoření testu nezabere mnoho času
- Vyžaduje se velmi malé plánování
Nevýhody:
- Žádné opětovné použití vůbec
- Pokud existuje jiný skript, který ověřuje určitý aspekt stránky „Účty Google“, budete muset přepsat kód, aby se také spustila stránka gmail.com. Tolik opakování.
- Všechna data jsou přímo vložena do kódu. Hardcoding neumožňuje použít kód pro jakoukoli jinou sadu dat.
- Chybné a údržba je obtížná
I když nevýhody převažují nad klady, lze tuto metodu použít, když je váš cíl přísný k provedení úkolu bez ověření.
Součásti testovacích aktiv v tomto druhu rámců jsou:
- Testovací skript
- Úložiště objektů (Tomu lze zabránit pomocí popisného programování, je-li to potřeba)
Rámec na základě klíčových slov
Jak můžeme vylepšit výše uvedený test lineárního rámce? Jak můžeme překonat nevýhody?
qa nebo ba, což je lepší
Je zřejmé, že potřebujeme opětovnou použitelnost, modularitu a čitelnost. Pokus o začlenění těchto funkcí a dosažení optimálního řešení není nic jiného než pokus o vytvoření nového, vylepšeného rámce.
Co jsou opakovaně použitelné komponenty?
- Spuštění služby Gmail a přechod na stránku „Účty Google“. To je samozřejmost, protože ověření této stránky znamená nejprve se sem dostat. „GoTo účet Google“ - lze vytvořit samostatnou funkci, na kterou lze opakovaně volat.
- Zadejte podrobnosti a ověřte je - Můžete je dále rozdělit na kladné a záporné bloky, aby zahrnovaly větší úroveň modularity
- Vytvoření účtu - konečná úroveň ověření a splnění úkolu
Jakmile jste sem dorazili, nejen že jste identifikovali komponenty, které lze opakovaně volat, ale také jste rozdělili svůj lineární program na moduly.
Funkce:
char * na int c ++
Doposud jsme se v naší sérii nezabývali funkcemi. Funkce nejsou nic jiného než kus kódu, který provádí určité operace. Přijímá vstupní parametry z programu, který jej volá, a vrací mu hodnotu.
Obecně platí, že všechny opakovaně použitelné části kódu jsou seskupeny do souboru, který obsahuje všechny opakovaně použitelné funkce. Tento soubor je přidružen k prostředku k vašemu testu QTP. Typicky funkční knihovna může být soubor typu: .vbs, .txt nebo .qfl
Zpět k našemu příkladu- Takto může být soubor knihovny funkcí:
Function gotoGoogleAccount() 'Open Gmail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details End Function Function EnterDetails() Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details End Function Function SubmitToCreate() ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click End Function
Váš skutečný skript bude nyní:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
Z výše uvedeného programu je nyní jasné, že jsme dosáhli čitelnosti, modularity, a pokud v případě, že jiný program bude chtít použít funkci přihlášení, můžeme ji určitě znovu použít. Jediné, co musíte udělat, je přidružit knihovnu funkcí k tomuto novému testu a máte dobré jít.
Můžete také vidět, že ve vašem skriptu fungují názvy funkcí, jako by byly VBScript klíčová slova a odtud název tohoto rámce.
Součásti testovacích aktiv v tomto druhu rámců jsou:
- Testovací skripty
- Sdílené NEBO
- Sdílená knihovna funkcí
Co jiného by tento program ještě vylepšilo? Pokud bychom mohli provést funkci EnterDetails (), aby brala různé sady dat a vytvářela různé účty a neomezovala se pouze na data, která jsme pevně zakódovali do programu. To je přesně další krok. Data pohánějící vaše testy a přístup, kde to děláme, je rámec založený na datech.
Prodiskutujeme Hybridní rámce založené na datech podrobně v nadcházejícím tutoriálu.
=> Navštivte zde sérii školení QTP Training Tutorials
Pokud máte nějaké problémy související s rámcem QTP, kterým čelíte a které nejsou v těchto článcích popsány, dejte nám vědět. Rozhodně se pokusíme odpovědět na vaše otázky.
Doporučené čtení
- Nejoblíbenější rámce automatizace testů s klady a zápory každého z nich - výuka selenu č. 20
- Automatizace testů - je to specializovaná kariéra? Mohou normální testeři provádět také automatizaci?
- Proč potřebujeme rámec pro automatizaci testů?
- Výukový program QTP č. 18 - Data řízená a hybridní rozhraní vysvětlena na příkladech QTP
- Jak se liší plánování testů pro ruční a automatizované projekty?
- Jak funguje testování založené na datech (příklady QTP a selenu)
- Jak si vybrat nejlepší nástroj pro testování automatizace (kompletní průvodce)
- Rámec řízený daty v selenu WebDriver pomocí POI Apache