Sunteți pe pagina 1din 7

Ministerul Educației, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică
Ingineria Software și Automatică

Raport
Disciplina: Calitatea Software

Tema: Introducere în automatizare

A efectuat: st. gr. TI-171 Teleatnic Alina


A verificat: Lungu Mihail

Chișinău 2020
Scopul:
1. Crearea unui test utilizând automation scripts.
2. Efectuare varianta 6: deschide 999.md, caută: „computer”, verifică că logoul este afișat.
Precondiții:
1. Instalare IDE IntelijIDEA

Specificații teoretice:
Framework-ul oferă baza automatizării testelor și simplifică efortul de automatizare. Avantajul
principal al unui framework care oferă suport pentru testarea automatizată a software-ului este costul
redus pentru întreținere . Dacă se schimbă orice caz de test, atunci doar fișierul de testare trebuie să fie
actualizat, iar scriptul de pornire va rămâne aceleași. În mod ideal, nu este necesară actualizarea
scripturilor în caz de modificări ale aplicației. Alegerea tehnicii corecte de scripturi ajută la menținerea
costurilor mai mici. Costurile asociate scripturilor de testare se datorează eforturilor de dezvoltare și
întreținere. Abordarea scripturilor utilizate în timpul automatizării testelor are efecte asupra costurilor.
Sunt utilizate în general diverse tehnici de cadru / script
1. Linear (cod procedural, posibil generat de instrumente precum cele care utilizează înregistrarea
și redarea)
2. Structurat (folosește structuri de control - de regulă 'if-else', 'switch', 'for', 'while' conditions /
statement)
3. Data-driven (datele sunt persistate în afara testelor într-o bază de date, o foaie de calcul sau un
alt mecanism)
4. Keyword-driven
5. Hibrid (două sau mai multe dintre modelele de mai sus sunt utilizate)
6. Framework Agile de automatizare
Framework-ul de testare este responsabil pentru: 
1. definirea formatului în care să vă exprimați așteptările
2. crearea unui mecanism pentru a conecta sau conduce aplicația testată
3. executarea testelor
4. raportarea rezultatelor
Beneficiile unui cadru de automatizare a testelor ar fi : utilizarea unui framework pentru testarea
automată va crește viteza și eficiența testelor unei echipe, va îmbunătăți precizia testului și va reduce
costurile de întreținere a testelor, precum și riscurile mai mici.

Suntesențiale pentru un proces de testare automatizat eficient din câteva motive cheie:
1. Eficiența testului îmbunătățită

2. Costuri de întreținere mai mici

3. Intervenție manuală minimă

4. Acoperirea maximă a testului

5. Reutilizabilitatea codului
O tendință comună de a minimiza riscul este de a testa mai devreme în Test Automation Framework.
Cu un framework liniar de automatizare a testelor, denumit și cadru de înregistrare și redare,
testerii nu trebuie să scrie cod pentru a crea funcții, iar etapele sunt scrise într-o ordine secvențială. În
acest proces, testerul înregistrează fiecare pas, cum ar fi navigația, intrarea utilizatorului sau punctele
de control, și apoi redă scriptul înapoi automat pentru a efectua testul.
Avantajele unui cadru linear ar fi : nu este necesară scrierea codului personalizat, deci
expertiza în automatizarea testelor nu este necesară, acesta este unul dintre cele mai rapide moduri de
a genera scripturi de test, deoarece acestea pot fi înregistrate cu ușurință într-un timp minim, fluxul de
lucru de testare este mai ușor de înțeles pentru orice parte implicată în testare, deoarece scripturile sunt
stabilite în mod secvențial, acesta este, de asemenea, cel mai simplu mod de a vă lansa și de a rula cu
testarea automată, în special cu un instrument nou. Cele mai multe instrumente de testare automate
astăzi vor oferi funcții de înregistrare și redare, astfel încât nu va trebui să planificați pe larg acest
cadru.
Dezavantaje ar fi: scripturile dezvoltate folosind acest cadru nu pot fi reutilizabile. Datele sunt codate
în scriptul de testare, ceea ce înseamnă că cazurile de testare nu pot fi reexecutate cu mai multe seturi
și vor trebui modificate dacă datele sunt modificate. Întreținerea este considerată o problemă, deoarece
orice modificare a aplicației va necesita multă reeditare. Acest model nu este deosebit de scalabil,
deoarece domeniul de testare se extinde.
Utilizarea unui framework bazat pe date separă datele de testare de logica scriptului, ceea ce
înseamnă că testerii pot stoca date extern. Foarte frecvent, testerii se găsesc într-o situație în care
trebuie să testeze aceeași caracteristică sau funcție a unei aplicații de mai multe ori cu seturi de date
diferite. În aceste cazuri, este esențial ca datele de test să nu fie codate în scriptul propriu-zis, ceea ce
se întâmplă cu un cadru de testare bazat pe linii sau modulare. Configurarea unui framework de testare
bazat pe date va permite testerului să stocheze și să treacă parametrii de intrare / ieșire pentru a testa
scripturile dintr-o sursă de date externă, cum ar fi foi de calcul Excel, fișiere text, fișiere CSV, tabele
SQL.[2]Scripturile de testare sunt conectate la sursa de date externă și li se spune să citească și să
populeze datele necesare atunci când este nevoie.
Avantajele unui cadru bazat pe date sunt : Testele pot fi executate cu mai multe seturi de date.
Scenariile multiple pot fi testate rapid prin modificarea datelor, reducând astfel numărul de scripturi
necesare. Pot fi evitate datele cu codare rapidă, astfel încât orice modificare a scripturilor de testare să
nu afecteze datele utilizate și invers. Veți economisi timp executând mai multe teste mai repede.
Dezavantajele ar fi după cum urmează: Veți avea nevoie de un tester cu experiență înaltă, priceput în
diferite limbaje de programare pentru a utiliza corect acest design de cadru. Acestea vor trebui să
identifice și să formateze sursele de date externe și să scrie cod (să creeze funcții) care conectează
testele la sursele de date externe fără probleme. Configurarea unui cadru bazat pe date necesită o
perioadă semnificativă de timp.
Într-un cadru bazat pe cuvinte cheie, fiecare funcție a aplicației testate este prezentată într-un
tabel cu o serie de instrucțiuni în ordine consecutivă pentru fiecare test care trebuie rulat. În mod
similar cadrului bazat pe date, datele de test și logica scriptului sunt separate într-un cadru bazat pe
cuvinte cheie, dar această abordare o face cu un pas mai departe.
Cu această abordare, cuvintele cheie sunt de asemenea stocate într-un tabel de date extern (de unde și
numele), ceea ce le face independente de instrumentul de testare automat utilizat pentru a executa
testele. Cuvintele cheie reprezintă partea unui script care reprezintă diferitele acțiuni efectuate pentru a
testa GUI-ul unei aplicații. Acestea pot fi etichetate ca simplu „clic”, sau „conectare” sau cu etichete
complexe precum „clic clic” sau „verificare”. În tabel, cuvintele cheie sunt stocate în mod pas cu pas
cu un obiect asociat sau cu partea de utilizare a utilizatorului pe care este efectuată acțiunea. Pentru ca
această abordare să funcționeze corect, este necesar un depozit de obiecte partajate pentru a mapa
obiectele cu acțiunile lor asociate.
La fel ca în majoritatea proceselor de testare astăzi, framework-urile de testare automate au
început să se integreze și să se suprapună între ele. După cum sugerează și denumirea de Hibrid, un
framework hibrid este o combinație a oricăruia dintre cadrele menționate anterior instituite pentru a
valorifica avantajele unora și pentru a atenua punctele slabe ale altora.
Selenium a fost inițial dezvoltat de Jason Huggins în 2004 ca instrument intern la ThoughtWorks .
Huggins i s-a alăturat ulterior și alți programatori și testeri de la ThoughtWorks, înainte ca Paul
Hammant să se alăture echipei și să conducă dezvoltarea celui de-al doilea mod de operare care va
deveni ulterior „Selenium Remote Control” (RC). Instrumentul a fost deschis în același an. Selenium
WebDriver este succesorul Selenium RC. Selenium WebDriver acceptă comenzi (trimise în Selenese
sau printr-o API-ul Client) și le trimite către un browser. Aceasta este implementată printr-un driver de
browser specific browserului, care trimite comenzi unui browser și recuperează rezultatele.
Majoritatea driverelor de browser lansează și accesează de fapt o aplicație de browser (cum ar fi
Firefox , Google Chrome , Internet Explorer , Safari sau Microsoft Edge ); există, de asemenea, un
driver de browser HtmlUnit , care simulează un browser folosind browserul fără cap HtmlUnit. Spre
deosebire de Selenium 1, unde serverul Selenium era necesar pentru a rula teste, Selenium WebDriver
nu are nevoie de un server special pentru a executa testele. În schimb, WebDriver pornește direct o
instanță de browser și o controlează.

Efectuarea lucrării:
Link repozitoriu: https://github.com/TeleatnicAlina/CS_5

Figura 1.1 Testul scris în Java

Figura 1.2 Inițializare driver

Figura 1.3 Application properties


Concluzii:
În lucrare dată a fost însușit lucurul cu Selenium, web selectore. A fost creat testul care accesează
pagina 99.md, se efectuează un search cu numele - computere, apoi se verifcă dacă este afișat logoul
999.md. Lucrarea a fost efectuată utilizând InteliJIDEA, Selenium.

Autoevaluare: 10

Bibliografia
1. https://test.io/blog/what-defines-a-software-bug/