qtp frameworks test automation frameworks keyword driven
=> Kliknite ovdje za seriju QTP Tutorials Training Tutorials
kako napisati test slučajeve u ručnom testiranju s primjerom
Što je Test Automation Framework i što je QTP Framework?
U kontekstu uspješne provedbe QTP za projekt testiranja softvera često nailazimo na koncept okvira. Okvir nije ništa drugo nego pristup kojeg dosljedno slijedimo tijekom postupka automatizacije - skup smjernica.
Osobno ne volim davati imena i govoriti da jedno djeluje bolje od drugog. Odabir određenog okvira nije početak projekta. Točno je obrnuto. U procesu osmišljavanja strategije testiranja gradite pravila koja su primjenjiva na trenutnu situaciju ispitivača i da je upravo tu vaš okvir.
Kad smo to već rekli, slijede neke od važnih točaka koje moramo uzeti u obzir:
- Ponovna upotrebljivost
- Jednostavno održavanje skripte
- Čitljivost skripti
- Dobra izvodljiva struktura mape za sva testna sredstva
- Nema tvrdih vrijednosti kodiranja
- Nema kaskade kvarova. (tj. ako jedan test ne uspije, ne bi trebao uzrokovati neuspjeh ili zaustavljanje ostalih)
Ovo je osnovni popis i na temelju zahtjeva može se dodati više.
Bilo koja strategija testiranja koja pokušava uključiti neke ili sve gore navedene točke je vaš okvir za automatizaciju ispitivanja.
Postoje različita imena i vrste okvira. Slijedi popis okvira prema meni:
Što ćete naučiti:
- Vrste okvira za automatizaciju: (odnosi se na QTP okvir)
- Linearni okvir
- Okvir vođen ključnim riječima
- Preporučena literatura
Vrste okvira za automatizaciju: (odnosi se na QTP okvir)
- Linearno - Najjednostavniji oblik izrade testa. Samo u slijedu napišite jedan pojedinačni program bez modularnosti
- Vođen ključnim riječima - Stvorite različite ključne riječi za različiti skup operacija, a u glavnoj skripti možemo se samo pozvati na te ključne riječi.
- Na temelju podataka - za pokretanje istog skupa operacija na više skupova podataka koji se čuvaju u odvojenim datotekama, uglavnom excel listovima.
- Hibrid - Kombinacijski okvir koji se može djelomično voditi podacima, a dijelom ključnim riječima
- BPT - To samo znači da se programi raščlanjuju na poslovne komponente i koriste s jednom ili drugom od gore navedenih vrsta okvira
Linearni okvir
Kao što je raspravljeno, ovaj pristup uključuje jednostavno pisanje koda dok bilježimo i nastavljamo dalje.
Na primjer, ako je operacija koju morate potvrditi stvaranje novog računa na Gmailu, sljedeći će koraci biti:
- Otvorite gmail.com
- Kliknite na 'Stvori račun'
- Unesite detalje
- Provjerite detalje
- Otvorite račun
'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
Gore navedeno je primjer kako izgleda program koji koristi linearnu metodu. U ovom trenutku je očito koje su prednosti i nedostaci ove metode.
Prednosti:
- Jednostavnost. Za programere početnike ova je metoda prikladna
- Vrijeme - Za izradu testa ne treba puno vremena
- Potrebno je vrlo malo planiranja
Mane:
- Uopće nema ponovne upotrebe
- Ako postoji druga skripta koja potvrđuje određeni aspekt stranice ‘Google računi’, morat ćete prepisati kôd da biste pokrenuli i stranicu gmail.com. Toliko ponavljanja.
- Svi su podaci izravno ugrađeni u kod. Tvrdo kodiranje ne dopušta upotrebu koda za bilo koji drugi skup podataka.
- Greška i održavanje je teško
Iako su slabosti veće od prednosti, ova se metoda može koristiti kada je vaš cilj strog za izvršavanje zadatka bez provjere valjanosti.
Komponente testnih sredstava u ovoj vrsti okvira su:
- Test skripta
- Spremište objekata (To se može izbjeći upotrebom opisnog programiranja ako je potrebno)
Okvir vođen ključnim riječima
Kako možemo poboljšati gornji linearni okvirni test? Kako možemo prevladati kontra?
koji je moj mrežni sigurnosni ključ za verizon hotspot
Očito nam je potrebna ponovna upotrebljivost, modularnost i čitljivost. Pokušaj inkorporiranja ovih značajki i postizanje optimalnog rješenja nije ništa drugo nego pokušaj stvaranja novog, poboljšanijeg okvira.
Koje su komponente za višekratnu upotrebu?
- Pokretanje Gmaila i dolazak na stranicu ‘Google računi’. Ovo je dato, jer provjera valjanosti ove stranice znači prvo doći ovdje. 'GoTo Google Account' - može se pretvoriti u zasebnu funkciju koja se može iznova i iznova pozivati.
- Unesite detalje i provjerite ih - to možete dalje rastaviti na pozitivne i negativne blokove kako biste uključili veću razinu modularnosti
- Otvaranje računa - konačna razina provjere valjanosti i izvršavanja zadanog zadatka
Nakon što stignete ovdje, ne samo da ste identificirali komponente koje se mogu iznova i iznova pozivati, već ste i svoj linearni program razlomili na module.
Funkcije:
Do sada u našoj seriji nismo se bavili funkcijama. Funkcije nisu ništa drugo do dio koda koji izvršava određene operacije. Prihvaća ulazne parametre programa koji ga poziva i vraća mu vrijednost.
Kao opća praksa, svi dijelovi koda za višekratnu upotrebu grupirani su u datoteku koja sadrži sve funkcije za ponovnu upotrebu. Ova je datoteka povezana s resursom vašeg QTP testa. Tipično knjižnica funkcija može biti datoteka tipa: .vbs, .txt ili .qfl
koja je faza analize u sdlc?
Vratimo se našem primjeru- Evo kako datoteka knjižnice funkcija može biti:
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
Sada će vaša stvarna skripta biti:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
Iz gornjeg programa sada je jasno da smo postigli čitljivost, modularnost i ako ga drugi program želi koristiti funkcijom prijave, možemo je sigurno ponovno upotrijebiti. Sve što morate učiniti je povezati knjižnicu funkcija s tim novim testom i spremni ste za početak.
Također možete vidjeti da u vašoj skripti imena funkcija funkcioniraju kao da jesu VBScript's ključne riječi i otuda naziv za ovaj okvir.
Komponente testnih sredstava u ovoj vrsti okvira su:
- Test skripte
- Dijeljeno ILI
- Biblioteka zajedničkih funkcija
Što bi još učinilo ovaj program još boljim? Kad bismo mogli napraviti funkciju EnterDetails () da uzima različite skupove podataka i stvara različite račune, a ne da se ograničimo na podatke koje smo teško kodirali u program. To je upravo sljedeći korak. Podaci koji pokreću vaše testove i pristup u kojem to radimo je okvir vođen podacima.
Raspravit ćemo Podaci vođeni i hibridni okviri detaljno u narednom vodiču.
=> Posjetite ovdje za seriju QTP Tutorials Training Tutorials
Ako imate bilo kakvih problema vezanih uz QTP okvir s kojima se suočavate, a koji nisu obrađeni u ovim člancima, javite nam. Svakako ćemo pokušati odgovoriti na vaša pitanja.
Preporučena literatura
- Najpopularniji okviri za automatizaciju ispitivanja s prednostima i nedostacima svakog - Selen Vodič br. 20
- Test automatizacija - radi li se o specijaliziranoj karijeri? Mogu li normalni testeri raditi i automatizaciju?
- Zašto nam je potreban okvir za automatizaciju ispitivanja?
- QTP vodič # 18 - Pokrenuti podacima i hibridni okviri objašnjeni s primjerima QTP-a
- Kako se razlikuje planiranje ispitivanja za ručne i automatizacijske projekte?
- Kako funkcionira testiranje na temelju podataka (primjeri QTP-a i selena)
- Kako odabrati najbolji alat za ispitivanje automatizacije (cjelovit vodič)
- Data Driven Framework u Selenium WebDriver koristeći Apache POI