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.

  • 📐 Osnovna definicija: Okvir je skup smjernica, a ne pravila, koji omogućuju ponovnu upotrebu, prenosivost i niže troškove održavanja.
  • ⏺️ Linearno skriptiranje: Snimanje i reprodukcija su najbrži za izgradnju, a najteži za održavanje, jer podaci ostaju fiksno kodirani.
  • 🧱 Knjižnica testova Architekstura: Uobičajeni koraci postaju funkcije za višekratnu upotrebu koje poziva skripta upravljačkog programa, što povećava ponovnu upotrebu nauštrb vremena planiranja.
  • 📊 Upravljano podacima: Logika testiranja ostaje u skriptama dok se podaci premještaju u Excel, CSV ili bazu podataka, što omogućuje više scenarija po skripti.
  • 🔑 Vođeno ključnim riječima: Akcije se pohranjuju kao ključne riječi u tablici, što testove čini neovisnima i o alatu i o aplikaciji.
  • 🔀 Hibridni model: Većina zrelijih paketa kombinira tablice ključnih riječi s funkcionalnom dekompozicijom kako bi uravnotežili trud i pokrivenost.

Test Automation Framework 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 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:

  1. Linearno skriptiranje
  2. Testna knjižnica Architekturni okvir.
  3. Podaci-vođeni Ispitivanje Okvir.
  4. Okvir za testiranje vođeno ključnim riječima ili tablicama.
  5. 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:

  1. 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.
  2. 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.
  3. Koliko je sučelje nestabilno? Česta promjena ekrana čini zasebno spremište objekata neophodnim, inače je potrebno uređivati ​​svaku skriptu.
  4. Kolika je potrebna varijacija podataka? Mnoge kombinacije ulaznih podataka izravno upućuju na dizajn vođen podacima.
  5. 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

Pitanja i odgovori

Alat izvršava naredbe za aplikaciju. Okvir je skup konvencija, strukture mapa i biblioteka za višekratnu upotrebu koje određuju kako se te naredbe pišu, organiziraju i održavaju.

Ne. Model objekta stranice je obrazac dizajna za sloj repozitorija objekata. Obično se koristi unutar bibliotečkih, podatkovno vođenih i hibridnih okvira, umjesto da ih zamjenjuje.

Umjetna inteligencija dodaje lokatore za samoobnavljanje i vizualnu usporedbu sloju spremišta objekata. Slojevita arhitektura ostaje ista, ali skripte se rjeđe kvare kada se korisničko sučelje malo promijeni.

Da. AI asistenti pretvaraju pisane korake u retke objekata, radnji i argumenata. Pregledatelj i dalje mora potvrditi da se nazivi objekata podudaraju s repozitorijem, inače generirani retci neće uspjeti tijekom izvođenja.

Track sati održavanja skripte po izdanju, postotak nestabilnih kvarova i vrijeme od izrade do rezultata. Zdrav okvir pokazuje pad napora održavanja dok automatizirana pokrivenost nastavlja rasti.

Sažmite ovu objavu uz: