Cadrul de automatizare a testelor: ce este, Architectură și tipuri
Ce este Framework in Automation Testing?
A Testarea cadrului de automatizare este un set de linii directoare, cum ar fi standardele de codare, manipularea datelor de testare, tratarea depozitului de obiecte etc... care, atunci când sunt urmate în timpul scriptării automatizării, produce rezultate benefice, cum ar fi reutilizarea crescută a codului, portabilitate mai mare, costul redus de întreținere a scripturilor etc. Acestea sunt doar linii directoare și nu reguli; ele nu sunt obligatorii și puteți în continuare să scrieți scenarii fără a urma instrucțiunile. Dar veți pierde avantajele de a avea un cadru.
De ce ai nevoie de un cadru?
Să luăm în considerare un exemplu pentru a înțelege de ce aveți nevoie de un cadru.
Sunt sigur că ați participat la un seminar/prelecție/conferință la care participanții au fost rugați să respecte următoarele reguli:
- Participanții trebuie să-și ocupe locurile cu 5 minute înainte de începerea unei prelegeri.
- Luați cu voi un caiet și un stilou pentru a lua notițe.
- Citiți rezumatul, astfel încât să aveți o idee despre ce va fi prezentarea.
- Telefoanele mobile ar trebui să fie setate pe silentios.
- Utilizați porțile de ieșire de la capătul opus vorbitorului dacă doriți să plecați la mijlocul prelegerii.
- Întrebările vor fi luate la sfârșitul sesiunii.
Crezi că poți conduce un seminar FĂRĂ respectând aceste instrucțiuni👍
Răspunsul este mare DA! Cu siguranță, puteți desfășura un seminar/prelecție/conferință/demonstrație fără îndrumările de mai sus.. de fapt, unii dintre noi nu le vom respecta, chiar dacă sunt aranjate!
Dar dacă sunt respectate liniile directoare, va avea ca rezultat un rezultat benefic, cum ar fi reducerea distragerii audienței în timpul prelegerilor, reținerea crescută a participanților și înțelegerea subiectului.
Pe baza celor de mai sus, a Cadrul poate fi definit ca un set de linii directoare care, atunci când sunt respectate, produce rezultate benefice.
Tipuri de cadre de automatizare a testelor
Mai jos sunt diferitele tipuri de cadre de testare automată:
- 1) Scriptare liniară
- 2) Biblioteca de teste ArchiCadrul de tectură.
- 3) Sistemul bazat pe date Testarea Cadru.
- 4) Cadrul de testare bazat pe cuvinte cheie sau bazat pe tabel.
- 5) Cadrul de automatizare a testelor hibride.
Să le privim în detaliu -
1) Linear Scripting – Înregistrare și redare
Este cel mai simplu dintre toate cadrele de automatizare de testare și, de asemenea, cunoscut ca „Înregistrare și redare”. În acest Testarea automatizării Framework, Tester înregistrează manual fiecare pas (Navigație și intrări utilizator), Inserează puncte de control (Pași de validare) în prima rundă. Apoi , Redă scenariul înregistrat în rundele ulterioare.
Exemplu: Luați în considerare autentificarea Aplicație de rezervare a zborului și verificând dacă aplicația s-a încărcat la conectarea cu succes. Aici, testerul va înregistra pur și simplu pașii și va adăuga pașii de validare.
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")
Avantaje
- Cel mai rapid mod de a genera un script
- Expertiza în automatizare nu este necesară
- Cel mai simplu mod de a învăța caracteristicile Instrumentului de testare
Dezavantaje
- Puțină reutilizare a scripturilor
- Datele de testare sunt codificate în script
- Coșmar de întreținere
2) Biblioteca de teste ArchiCadrul de tectură
Este cunoscut și ca „Scriptare structurată” or „Descompunere funcțională”.
În acest cadru de testare a automatizării, scripturile de testare sunt inițial înregistrate de „Înregistrați și redați”Metoda. Later, sarcinile comune din interiorul scripturilor sunt identificate și grupate în Funcții. Aceste funcții sunt apelate de scriptul de testare principal numit Şofer în moduri diferite pentru a crea cazuri de testare.
Exemplu: Folosind același exemplu ca mai sus, funcția de autentificare la Rezervare zbor va arăta ca .
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
Acum, veți apela această funcție în scriptul principal, după cum urmează
Call Login() --------------------------- Other Function calls / Test Steps. ---------------------------
Avantaje
- Un nivel mai ridicat de reutilizare a codului este atins în Structured Scripting în comparație cu „Înregistrare și redare”
- Scripturile de automatizare sunt mai puțin costisitoare de dezvoltat datorită reutilizării mai mari a codului
- Întreținere mai ușoară a scriptului
Dezavantaje
- Expertiza tehnică este necesară pentru a scrie Scripturi folosind Test Library Framework
- Este nevoie de mai mult timp pentru planificarea și pregătirea scripturilor de testare.
- Datele de testare sunt codificate greu în scripturi
3) Cadrul de testare bazat pe date
În acest cadru, în timp ce Caz de testare logica rezidă în scripturile de testare, datele de testare sunt separate și păstrate în afara scripturilor de testare. Datele de testare sunt citite din fișierele externe (Fișiere Excel, Fișiere text, Fișiere CSV, Surse ODBC, Obiecte DAO, Obiecte ADO) și sunt încărcate în variabilele din interiorul Scriptului de testare. Variabilele sunt utilizate atât pentru valorile de intrare, cât și pentru valorile de verificare. Scripturile de testare în sine sunt pregătite fie folosind Scripturi liniare, fie Framework Library de testare.
Exemplu: Dezvoltarea scriptului de conectare pentru rezervarea zborului folosind această metodă va implica doi pași.
Pas 1) Creați un test - fișier de date care ar putea fi Excel , CSV sau orice altă sursă de bază de date.
| Numele agentului | Parolă |
|---|---|
| Jimmy | Mercury |
| Tina | MERCUR |
| Bill | Mercur |
Pas 2) Dezvoltați Scriptul de testare și faceți referințe la sursa dvs. de date de testare.
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.
Avantaje
- Modificările aduse scripturilor de testare nu afectează datele de testare
- Cazurile de testare pot fi executate cu mai multe seturi de date
- O varietate de scenarii de testare pot fi executate prin simpla modificare a datelor de testare din fișierul de date extern
Dezavantaje
- Este nevoie de mai mult timp pentru a planifica și pregăti atât scripturile de testare, cât și datele de testare
4) Cadrul de testare bazat pe cuvinte cheie sau bazat pe tabel
Dezvoltarea cadrului de automatizare bazată pe cuvinte cheie sau bazată pe tabele necesită tabele de date și cuvinte cheie, independent de instrument de testare automată folosit pentru a le executa. Testele pot fi proiectate cu sau fără Aplicație. Într-un test bazat pe cuvinte cheie, funcționalitatea aplicației în curs de testare este documentată într-un tabel, precum și în instrucțiuni pas cu pas pentru fiecare test.
Există 3 componente de bază ale unui cadru bazat pe cuvinte cheie și anume. Cuvânt cheie , Harta aplicației , Funcție componente.
Ce este un cuvânt cheie?
Cuvântul cheie este o acțiune care poate fi efectuată pe o componentă GUI. Ex. Pentru GUI Component Textbox, unele cuvinte cheie (Acțiune) ar fi InputText, VerifyValue, VerifyProperty și așa mai departe.
Ce este harta aplicației?
O hartă a aplicației oferă referințe denumite pentru componentele GUI. Hărțile aplicațiilor nu sunt altceva decât „Depozit de obiecte
Ce este Component Function?
Funcțiile componente sunt acele funcții care manipulează sau interoghează în mod activ componenta GUI. Un exemplu de funcție ar fi faceți clic pe butonul web cu toate gestionarea erorilor, introduceți datele într-o editare web cu toate gestionarea erorilor. Funcțiile componentelor pot fi dependente de aplicație sau independente.
Exemplu: Pentru a înțelege Vizualizarea cuvintelor cheie, să luăm același exemplu. Aceasta presupune 2 pași
Etapa 1: Crearea tabelului de date (diferit de tabelul de date de testare creat în Data Driven Framework). Acest tabel de date conține acțiuni care trebuie efectuate asupra obiectelor GUI și argumentele corespunzătoare, dacă există. Fiecare rând reprezintă un pas de testare.
| Obiect | Acțiune | |
|---|---|---|
| (HARTA aplicației) | (CUVINTE CHEIE) | Argument |
| WinEdit(Numele agentului) | set | Guru99 |
| WinEdit(parolă) | set | Mercury |
| WinButton(OK) | Clic | |
| Fereastra (rezervarea zborului) | Verifica | Exista |
Etapa 2: Scrierea codului sub formă de Funcții componente.
Odată ce ați creat tabelele de date, pur și simplu scrieți un program sau un set de scripturi care citește în fiecare pas, execută pasul pe baza cuvântului cheie conținut în câmpul Acțiune, efectuează verificarea erorilor și înregistrează orice informații relevante. Acest program sau set de scripturi ar arăta similar cu pseudocodul de mai jos:
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
Asta se referă la Cadrul bazat pe cuvinte cheie.
Avantajul cadrului bazat pe cuvinte cheie este că cuvintele cheie sunt reutilizabile. Pentru a înțelege acest lucru, considerați că doriți să verificați operațiunea de conectare pentru un site web, spune YAHOO MAIL. Tabelul va arăta așa -
| Obiect | Acțiune | |
|---|---|---|
| (HARTA APLICAȚILOR) | (CUVANT-CHEIE) | Argument |
| WebEdit(Nume utilizator) | set | abc@yahoo.com |
| WebEdit(parolă) | set | xxxxx |
| WebButton(OK) | Clic | |
| Fereastra (Yahoo Mail) | Verifica | Loturile |
Dacă observați în acest caz Setul de cuvinte cheie , Faceți clic , Verificați rămân aceleași pentru care sunt deja dezvoltate funcțiile componente corespunzătoare. Tot ce trebuie să faceți este să schimbați maparea aplicației (depozitul de obiecte) de la rezervarea de zbor anterioară la Yahoo Mail , cu o schimbare a valorilor argumentului și același script va funcționa!
Avantaje
- Oferă o reutilizare ridicată a codului
- Instrument de testare independent
- Independent de aplicația în curs de testare, același script funcționează pentru AUT (cu unele limitări)
- Testele pot fi proiectate cu sau fără AUT
Dezavantaje
- Investiția inițială fiind destul de mare, beneficiile acestui lucru pot fi realizate doar dacă aplicația este considerabil de mare și scripturile de testare urmează să fie menținute pentru câțiva ani.
- Este necesară o expertiză înaltă în automatizare pentru a crea cadrul bazat pe cuvinte cheie.
NOTA: Chiar dacă Micro Focus UFT se face reclamă ca KeyWord Driven Framework, nu puteți obține o independență completă a instrumentului de testare și a aplicației folosind HP UFT.
5) Cadrul de automatizare a testelor hibride
După cum sugerează și numele, acest cadru este o combinație a unuia sau mai multor cadre de automatizare discutate mai sus, trăgând din punctele lor forte și încercând să le atenueze punctele slabe. Cadrul hibrid de automatizare QA test este ceea ce majoritatea cadrelor de automatizare a testelor evoluează în timp și în mai multe proiecte. Maximum Industry folosește Keyword Framework într-o combinație de metoda de descompunere a funcției.
PS: Alte cadre de automatizare care merită menționate sunt
Testarea cadrului de modularitate
În acest cadru, o sarcină comună în scriptul de testare este grupată ca module.
Exemplu: Folosind Acțiuni în utilizarea QTP poate crea un Scripturi Modulare
Exemplu de script pentru autentificare
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
Acum puteți apela această acțiune în scriptul principal, după cum urmează -
RunAction ("Login[Argument]", oneIteration)
Testarea proceselor de afaceri (BPT)
Aceste cadre de automatizare descompun procesele mari de afaceri în Componente care pot fi reutilizate de mai multe ori în scripturi de testare identice sau diferite. De exemplu, procesul de afaceri de rezervare a unui zbor este împărțit în componente precum Conectare , Găsire zboruri , Rezervare , Plată și deconectare, care pot fi reutilizate în același proces de afaceri sau în procese diferite. De asemenea, BPT facilitează o coordonare mai strânsă între IMM-uri și inginerii de automatizare.
Beneficiile cadrului de automatizare a testelor Architectură
Următoarele sunt beneficiile arhitecturii cadru de automatizare a testelor:
- Un cadru de automatizare a testelor ajută la reducerea riscurilor și a costurilor
- Îmbunătățește eficiența testelor
- Ajută la reducerea costurilor de întreținere
- Permite reutilizarea codului
- Permite realizarea unei acoperiri maxime de testare
- Maximizează funcționalitatea aplicației
- Ajută la reducerea dublării cazurilor de testare
- Ajută la îmbunătățirea eficienței și performanței testului cu automatizarea testului
Rezumat
- Un cadru este un set de linii directoare, cum ar fi standardele de codare, manipularea datelor de testare, tratarea depozitului de obiecte etc... care, atunci când sunt urmate în timpul automatizării scripturilor, produce rezultate benefice cum ar fi reutilizarea crescută a codului, portabilitatea mai mare, costul redus de întreținere a scriptului etc.
- Linear Scripting este cel mai simplu dintre toate cadrele de automatizare și cunoscut și ca „Înregistrare și redare”.
- Biblioteca de teste ArchiFramework-ul este cunoscut și sub denumirea de „Structured Scripting” sau „Functional Decomposition”.
- În Data-Driven Testing Framework, logica cazului de testare se află în scripturile de testare, iar datele de testare sunt separate și păstrate în afara scripturilor de testare.
- Cadrul bazat pe cuvinte cheie sau bazat pe tabel necesită dezvoltarea tabelelor de date și a cuvintelor cheie, independent de instrumentul de automatizare a testelor utilizat pentru a le executa.
- Cadrul de automatizare hibridă este ceea ce majoritatea cadrelor de automatizare a testelor evoluează în timp și proiecte multiple.
