Okvir za automatizaciju testiranja: Architekstura i vrste
⚡ Pametni sažetak
Arhitektura okvira za automatizaciju testiranja definira standarde kodiranja, rukovanje testnim podacima i pravila repozitorija objekata kojih se pridržavaju skripte za automatizaciju. Postoji pet utvrđenih tipova, a svaki od njih trguje naporom postavljanja u odnosu na ponovnu upotrebu, troškove održavanja i dugoročnu skalabilnost.

Š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 trbušne mišićetract, tako da imate ideju o čemu će biti prezentacija.
- 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 pridržavajući se ovih smjernica?
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 poput smanjene nelagode kod publike.tracacija tijekom predavanja, povećano zadržavanje sudionika i razumijevanje teme.
Na temelju navedenog, a Okvir se može definirati kao skup smjernica koje, kada se slijede, daju korisne rezultate.
Test Automation Framework ArchiTektura: Ključne komponente
Prije usporedbe tipova, korisno je vidjeti što svaki okvir sadrži. ArchiTektura opisuje kako su ti dijelovi slojevito složeni tako da promjena u jednom sloju ne narušava ostale.
- Sloj testnog skripta: Sadrži testne slučajeve. Skripte ostaju kratke jer pozivaju funkcije za višekratnu upotrebu umjesto ponavljanja koraka navigacije.
- Biblioteka funkcija: Pohranjuje dijeljene radnje kao što su prijava, pretraživanje i odjava, tako da se promjena tijeka rada vrši jednom.
- Spremište objekata: Mapira prijateljska imena na lokatore elemenata grafičkog korisničkog sučelja. Kada se sučelje promijeni, uređuje se samo ovaj sloj.
- Testni sloj podataka: Čuva ulazne i očekivane vrijednosti u Excelu, CSV-u ili izvorima baze podataka, a ne unutar koda.
- Konfiguracijski sloj: Sadrži okruženje URLs, odabiri preglednika, vremenska ograničenja i vjerodajnice.
- Izvještajni sloj: Izrađuje izvješća o izvršenju, snimke zaslona o greškama i dijagnostičke zapisnike.
- Izvršni sloj: Pokreće pakete s poslužitelja za izgradnju, povezujući automatizaciju s kontinuirana integracija.
Tipovi okvira u nastavku razlikuju se uglavnom po tome koliko strogo odvajaju ove slojeve.
Vrste okvira za automatizaciju testiranja
Ispod su različite vrste okvira za automatsko testiranje:
- Linearno skriptiranje
- Testna knjižnica Architekturni okvir.
- Podaci-vođeni Ispitivanje Okvir.
- Okvir za testiranje vođeno ključnim riječima ili tablicama.
- Okvir za hibridnu automatizaciju 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. Sami testni skripti se pripremaju pomoću linearnog skriptiranja ili okvira testne knjižnice. Tehnika je detaljnije objašnjena u testiranje vođeno podacima udžbenik.
Primjer: Razvojping Skripta za prijavu na rezervaciju leta pomoću ove metode uključivat će 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
The Na temelju ključnih riječi ili razvoj okvira za automatizaciju vođenu tablicama zahtijeva tablice podataka 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.
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 Code 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 u ovom slučaju primijetite da ključne riječi Set, Click, Verify ostaju iste za koje su odgovarajuće funkcije komponenti već razvijene, sve što trebate učiniti je promijeniti mapu aplikacije.ping (Spremište objekata) iz ranije rezervacije leta za 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 : Mada OpenText UFT Jedan (ranije Micro Focus UFT) se reklamira kao okvir vođen ključnim riječima, ne možete postići potpunu neovisnost alata za testiranje i aplikacije pomoću njega.
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.
PrimjerKorištenje akcija u QTP korištenje 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.
Kako odabrati pravi okvir za automatizaciju testiranja
Niti jedna vrsta ne pobjeđuje uvijek. Ispravan izbor ovisi o vještini tima, veličini aplikacije i koliko dugo paket mora preživjeti. Tablica u nastavku uspoređuje pet vrsta na temelju čimbenika koji određuju ishod.
| Vrsta okvira | Napor pri postavljanju | Code ponovo upotrijebiti | Troškovi održavanja | Najbolje za |
|---|---|---|---|---|
| Linearno skriptiranje | Vrlo nisko | Vrlo nisko | Vrlo visoko | Demonstracije i jednokratne provjere dima |
| Knjižnica testova Architektura | Srednji | Srednji | Srednji | Stabilne aplikacije s ponavljajućim tijekovima rada |
| Na temelju podataka | Srednji | Srednji | Nizak | Obrasci i izračuni koji zahtijevaju mnogo ulaznih skupova |
| Na temelju ključnih riječi | visok | Vrlo visoko | Nizak | Velike apartmane održavaju mješoviti tehnički timovi |
| Hibrid | visok | Vrlo visoko | Nizak | Dugoročni poduzetnički programi |
Prije nego što se odlučite, riješite ova pitanja:
- Koliko će dugo apartman živjeti? Godine održavanja opravdavaju visoka početna ulaganja u dizajn vođen ključnim riječima ili hibridni dizajn. Kratak projekt to ne opravdava.
- Tko piše testove? Ako ručni testeri doprinose slučajevima, tablica ključnih riječi omogućuje im rad bez učenja skriptnog jezika.
- Koliko je sučelje nestabilno? Česta promjena ekrana čini zasebno spremište objekata neophodnim, inače je potrebno uređivati svaku skriptu.
- Kolika je potrebna varijacija podataka? Mnoge kombinacije ulaznih podataka izravno upućuju na dizajn vođen podacima.
- Koji se alat već koristi? Okvir mora odgovarati odabranom alat za automatizaciju i jezik koji tim zna, kao što je Selenium sa Java or Cucumber.
Većina timova započinje s pristupom vođenim bibliotekom ili podacima, a zatim se razvija prema hibridnom modelu kako regresija apartman se širi.
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
