Test Automation Framework: Što je, Architekstura i vrste

Što je Framework u automatiziranom testiranju?

A Test Automation Framework je skup smjernica kao što su standardi kodiranja, rukovanje testnim podacima, tretman repozitorija objekata itd. koji kada se slijede tijekom automatizacije skriptiranja proizvode korisne rezultate kao što su povećana ponovna upotreba koda, veća prenosivost, smanjeni troškovi održavanja skripte itd. Ovo su samo smjernice, a ne pravila; oni nisu obvezni i još uvijek možete pisati skriptu bez pridržavanja smjernica. Ali propustit ćete prednosti posjedovanja Frameworka.

Zašto vam je potreban Framework?

Razmotrimo primjer da bismo razumjeli zašto vam je potreban Framework.

Siguran sam da ste prisustvovali seminaru/predavanju/konferenciji gdje su sudionici bili zamoljeni da se pridržavaju sljedećih smjernica –

  • Sudionici trebaju zauzeti svoja mjesta 5 minuta prije početka predavanja.
  • Ponesite sa sobom bilježnicu i olovku za bilježenje.
  • Pročitajte sažetak kako biste imali ideju o čemu će biti riječ u prezentaciji.
  • Mobilni telefoni trebaju biti postavljeni na nečujno.
  • Koristite izlazna vrata na suprotnom kraju od govornika ako želite otići usred predavanja.
  • Pitanja će se postavljati na kraju sesije.

Mislite li da možete voditi seminar BEZ poštujući ove smjernice👍

Odgovor je velik DA! Svakako, možete voditi seminar/predavanje/konferenciju/demonstraciju bez gornjih smjernica.. zapravo, neki od nas ih neće slijediti iako su postavljene!

Ali ako se slijede smjernice, to će rezultirati korisnim ishodom kao što je smanjeno ometanje publike tijekom predavanja, povećano zadržavanje sudionika i razumijevanje predmeta.

Na temelju navedenog, a Okvir se može definirati kao skup smjernica koje, kada se slijede, daju korisne rezultate.

Vrste okvira za automatizaciju testiranja

Ispod su različite vrste okvira za automatsko testiranje:

  • 1) Linearno skriptiranje
  • 2) Knjižnica testova Architekturni okvir.
  • 3) Upravljano podacima Ispitivanje Okvir.
  • 4) Okvir za testiranje na temelju ključne riječi ili tablice.
  • 5) Okvir za automatizaciju hibridnog testiranja.

Pogledajmo ih detaljnije –

1) Linearno skriptiranje – snimanje i reprodukcija

To je najjednostavniji od svih okvira za automatizaciju testiranja i također poznat kao “Snimanje i reprodukcija”. U ovom Testiranje automatizacije Framework, Tester ručno bilježi svaki korak (navigacija i korisnički unos), ubacuje kontrolne točke (koraci provjere) u prvom krugu. Zatim , Reproducira snimljeni scenarij u sljedećim rundama.

Primjer: Razmislite o prijavi Aplikacija za rezervaciju leta i provjera je li se aplikacija učitala nakon uspješne prijave. Ovdje će tester jednostavno zabilježiti korake i dodati korake provjere valjanosti.

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")

Prednosti

  • Najbrži način za generiranje skripte
  • Stručnost automatizacije nije potrebna
  • Najlakši način da naučite značajke alata za testiranje

Nedostaci

  • Mala ponovna upotreba skripti
  • Testni podaci su ukodirani u skriptu
  • Noćna mora održavanja

2) Knjižnica testova Architekturni okvir

Također je poznat kao "Strukturirano skriptiranje" or “Funkcionalna dekompozicija”.

U ovom okviru za automatizirano testiranje, testne skripte inicijalno bilježi "Snimanje i reprodukcija”Metoda. Later, uobičajeni zadaci unutar skripti su identificirani i grupirani u Funkcije. Ove funkcije poziva glavna testna skripta tzv vozač na različite načine za izradu testnih slučajeva.

Primjer: Koristeći isti primjer kao gore, funkcija za prijavu u Rezervaciju leta izgledat će ovako.

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

Sada ćete ovu funkciju pozvati u glavnoj skripti na sljedeći način

Call Login()
---------------------------
Other Function calls / Test Steps.
---------------------------

Prednosti

  • Viša razina ponovne upotrebe koda postiže se u Structured Scriptingu u usporedbi sa "Record & Playback"
  • Skripte za automatizaciju manje su skupe za razvoj zbog veće ponovne upotrebe koda
  • Lakše održavanje skripte

Nedostaci

  • Za pisanje skripti pomoću okvira knjižnice testova potrebna je tehnička stručnost
  • Potrebno je više vremena za planiranje i pripremu testnih skripti.
  • Testni podaci čvrsto su kodirani unutar skripti

3) Okvir za testiranje na temelju podataka

U ovom Okviru, dok Testni slučaj logika se nalazi u testnim skriptama, testni podaci su odvojeni i čuvaju se izvan testnih skripti. Testni podaci se čitaju iz vanjskih datoteka (Excel datoteke, tekstualne datoteke, CSV datoteke, ODBC izvori, DAO objekti, ADO objekti) i učitavaju se u varijable unutar testne skripte. Varijable se koriste i za ulazne vrijednosti i za vrijednosti provjere. Same testne skripte pripremaju se korištenjem Linear Scripting ili Test Library Framework.

Primjer: Razvoj skripte za prijavu rezervacije leta pomoću ove metode uključuje dva koraka.

Korak 1) Stvorite datoteku s podacima za testiranje koja može biti Excel, CSV ili bilo koji drugi izvor baze podataka.

Ime agenta Lozinka
Jimmy Mercury
Tina MERKUR
Bill Merkur

Korak 2) Razvijte testnu skriptu i napravite reference na svoj izvor testnih podataka.

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.

Prednosti

  • Promjene testnih skripti ne utječu na testne podatke
  • Testni slučajevi mogu se izvršiti s više skupova podataka
  • Razni testni scenariji mogu se izvršiti samo mijenjanjem testnih podataka u vanjskoj datoteci podataka

Nedostaci

  • Potrebno je više vremena za planiranje i pripremu testnih skripti i testnih podataka

4) Okvir za testiranje na temelju ključne riječi ili tablice

Razvoj okvira automatizacije vođen ključnim riječima ili tablicama zahtijeva podatkovne tablice i ključne riječi, neovisno od alat za automatizaciju ispitivanja koristio za njihovo pogubljenje. Testovi se mogu dizajnirati sa ili bez aplikacije. U testu temeljenom na ključnim riječima, funkcionalnost aplikacije koja se testira dokumentirana je u tablici kao i u uputama korak po korak za svaki test.

Postoje 3 osnovne komponente okvira vođenog ključnim riječima, tj. Ključna riječ, Mapa aplikacije, Funkcija komponente.

Što je ključna riječ?

Ključna riječ je radnja koja se može izvesti na GUI komponenti. npr. Za tekstualni okvir GUI komponenti neke ključne riječi (akcija) bile bi InputText, VerifyValue, VerifyProperty i tako dalje.

Što je mapa aplikacija?

Mapa aplikacije pruža imenovane reference za GUI komponente. Karte aplikacija nisu ništa drugo nego "Repozitorij objekata"

Što je funkcija komponente?

Funkcije komponente su one funkcije koje aktivno manipuliraju ili ispituju GUI komponentu. Primjer funkcije bio bi klik na web gumb sa svim obradama pogrešaka, unos podataka u Web Edit sa svim obradama pogrešaka. Funkcije komponente mogu biti ovisne ili neovisne o aplikaciji.

Primjer: Da bismo razumjeli prikaz ključnih riječi, uzmimo isti primjer. Uključuje 2 koraka

Korak 1: Stvaranje podatkovne tablice (Razlikuje se od testne podatkovne tablice stvorene u Data Driven Frameworku). Ova podatkovna tablica sadrži radnje koje treba izvršiti na GUI objektima i odgovarajuće argumente ako postoje. Svaki redak predstavlja jedan testni korak.

Objekt Akcijski
(KARTA aplikacije) (KLJUČNE RIJEČI) Argument
WinEdit (ime agenta) Postaviti Guru99
WinEdit (lozinka) Postaviti Mercury
WinButton (OK) Kliknite
Prozor (rezervacija leta) Provjeriti Postoji


Korak 2: Pisanje koda u obliku komponentnih funkcija.

Nakon što ste kreirali svoju podatkovnu tablicu(e), jednostavno napišete program ili skup skripti koje čitaju u svakom koraku, izvršavaju korak na temelju ključne riječi koja sadrži polje Action, provodi provjeru pogrešaka i bilježi sve relevantne informacije. Ovaj program ili skup skripti bi izgledao slično pseudo kodu ispod:

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 sve za Keyword Driven Framework.

Prednost Keyword Driven Frameworka je da se ključne riječi mogu ponovno koristiti. Da biste ovo razumjeli, uzmite u obzir da želite potvrditi operaciju prijave za web mjesto, recimo YAHOO MAIL. Tablica će izgledati ovako –

Objekt Akcijski
(KARTA APLIKACIJA) (KLJUČNA RIJEČ) Argument
WebEdit (korisničko ime) Postaviti abc@yahoo.com
WebEdit (lozinka) Postaviti xxxxx
WebButton (OK) Kliknite
Prozor (Yahoo Mail) Provjeriti hrpe

Ako promatrate da u ovom slučaju ključne riječi Set , Click , Verify ostaju iste za koje su odgovarajuće funkcije komponente već razvijene. Sve što trebate učiniti je promijeniti Mapiranje aplikacije (Repozitorij objekata) iz prethodne Rezervacije leta na Yahoo Mail , uz promjenu vrijednosti argumenata i ista skripta će raditi!

Prednosti

  • Omogućuje visoku mogućnost ponovne upotrebe koda
  • Neovisni alat za testiranje
  • Neovisno o aplikaciji koja se testira, ista skripta radi za AUT (uz neka ograničenja)
  • Testovi se mogu dizajnirati sa ili bez AUT

Nedostaci

  • Budući da je početno ulaganje prilično veliko, prednosti ovoga mogu se ostvariti samo ako je aplikacija znatno velika i ako se testne skripte moraju održavati nekoliko godina.
  • Za izradu okvira vođenog ključnim riječima potrebna je visoka stručnost u automatizaciji.

BILJEŠKA : Iako se Micro Focus UFT reklamira kao KeyWord Driven Framework, ne možete postići potpunu neovisnost alata za testiranje i aplikacije koristeći HP UFT.

5) Okvir za automatizaciju hibridnog testiranja

Kao što naziv sugerira, ovaj je okvir kombinacija jednog ili više okvira za automatizaciju o kojima je bilo riječi u prethodnom tekstu, koji se oslanjaju na njihove prednosti i pokušavaju ublažiti njihove slabosti. Okvir za automatizaciju hibridnog testiranja je ono u što se većina okvira za automatizaciju testiranja razvija tijekom vremena i više projekata. Maximum industrija koristi okvir ključnih riječi u kombinaciji metode dekompozicije funkcije.

PS: Ostali okviri za automatizaciju vrijedni spomena su

Test Modularity Framework

U ovom okviru, uobičajeni zadatak u testnoj skripti grupiran je zajedno kao moduli.

Primjer: Korištenje radnji u QTP upotrebi može stvoriti modularne skripte

Primjer skripte za prijavu

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

Sada možete pozvati ovu radnju u glavnoj skripti na sljedeći način –

RunAction ("Login[Argument]", oneIteration)

Testiranje poslovnih procesa (BPT)

Ovi automatizacijski okviri rastavljaju velike poslovne procese na komponente koje se mogu ponovno koristiti više puta u istim ili različitim testnim skriptama. Na primjer, poslovni proces rezervacije leta podijeljen je na komponente kao što su prijava, pronalaženje letova, rezervacija, plaćanje i odjava koje se mogu ponovno koristiti u istom poslovnom procesu ili različitim procesima. Također, BPT olakšava bližu koordinaciju između malih i srednjih poduzeća i inženjera automatizacije.

Prednosti okvira za automatizaciju testiranja Architektura

Slijede prednosti arhitekture okvira automatizacije testiranja:

  • Okvir za automatizaciju testiranja pomaže u smanjenju rizika i troškova
  • Poboljšava učinkovitost testova
  • Pomaže smanjiti troškove održavanja
  • Omogućuje ponovnu upotrebu koda
  • Omogućuje postizanje maksimalne pokrivenosti testom
  • Maksimalno povećava funkcionalnost aplikacije
  • Pomaže smanjiti dupliciranje testnih slučajeva
  • Pomaže u poboljšanju učinkovitosti i izvedbe testa s automatizacijom testa

rezime

  • Okvir je skup smjernica kao što su standardi kodiranja, rukovanje testnim podacima, tretman repozitorija objekata itd... koji kada se slijede tijekom automatizacije skriptiranja proizvode korisne rezultate kao što su povećana ponovna upotreba koda, veća prenosivost, smanjeni troškovi održavanja skripte itd.
  • Linearno skriptiranje je najjednostavniji od svih automatiziranih okvira i također je poznato kao "Snimanje i reprodukcija".
  • Knjižnica testova Architecture Framework također je poznat kao "Structured Scripting" ili "Functional Decomposition".
  • U Data-Driven Testing Frameworku logika testnog slučaja nalazi se u testnim skriptama, a testni podaci su odvojeni i čuvaju se izvan testnih skripti.
  • Okvir vođen ključnim riječima ili tablicama zahtijeva razvoj podatkovnih tablica i ključnih riječi, neovisno o alatu za automatizaciju testiranja koji se koristi za njihovo izvršenje.
  • Hibridni okvir za automatizaciju je ono u što se većina okvira za automatizaciju testiranja razvija tijekom vremena i više projekata.