Documente Academic
Documente Profesional
Documente Cultură
Burleai Daria
Autor:
masterand gr. MI-141m,
Admis la susinere
ef catedr:
Burleai Daria
Conductor tiinific:
________________________
_________________20__
CHIINU 2016
Daria Burleai
Contents
Lista abrevierilor..................................................................................................... 5
2
Introducere.............................................................................................................. 6
CAPITOLUL I. Scopul testrii automate a produselor software.......................7
1.1 Obiectivele testrii automate a produselor software.............................7
1.2 Tipuri de testare. Comparaie dintre testarea manual i cea
automat
11
1.3 Etapele ciclului de via a testrii automate........................................16
CAPITOLUL II. Metode si tehnici de testare automat....................................19
2.1 Descrierea procesului de testare ENR.....................................................19
2.2Tehnici utilizate n cadrul testrii..............................................................25
2.3Instrumente de testare
30
2.4 Infrastructura ENR ......................................................................33
CAPITOLUL III. Analiza i evaluarea rezultatelor n cadrul procesului de
testare automat.................................................................................................. 51
3.1Evaluarea eficienei economice.................................................................51
3.2 Factorii de returnare a investiiilor..........................................................55
3.3 Calcularea costurilor i beneficiilor..........................................................58
Bibliografie............................................................................................................. 71
nluzii................................................................................................................. 72
Lista abrevierilor
ATML - Automatic Test Markup Language - Ciclul de via a testrii automate
EDI - Electronic data interchange - Schimb electronic de date
ENR- Enrollment Management
ROI- Return of investments- Factorii de returnare a investitiilo
IEEE- Institute of Electrical and Electronics Engineers
ECF- Edifecs Common Format
ANSI American National Standards Instituite
ISO - International Organization for Standardization
XML - eXtensible Markup Language
RIM Referance Implementation Model
CS - Client Services
STD-Standard
Introducere
Nivelul de dezvoltare rapid a produselor software a condus la mrirea impactului i a
importanei testrii n ultimii ani. Testarea joac un rol important cadrul oricrei companii IT,
deoarece prin intermediul acestui proces se reduce riscul n cadrul afacerii, se protejeaz de unele
pierderi i duce la stabilizarea produselor software.
Prin definiie, testarea software reprezint un proces de validare i verificare a faptului c un
program/aplicaie/produs software corespunde cerinelor care au ghidat proiectarea i
implementarea acestuia. [1.1].
Lund n consideraie concurena sporit, un rol important n meninerea locului pe pia
constituie calitatea produsului. Aceasta asigur pstrarea imaginii companiei salvnd clienii de
la pierderi materiale.
Noile funcii implementate n sistem care sunt dictate de cererea pieei sau a clientului trebuie
supuse unui proces eficient i minuios de testare. Eficiena testrii const n utilizarea i
aplicarea tehnicilor i metodelor optime a etapelor ciclului de via software prin detectarea
erorilor critice i majore la etapele timpurii. Testarea web aplicaiilor necesit cerine de testare
speciale. Astfel, setul de cerine speciale de testare, i structura special a web aplicaiilor
necesit la rndul su o mbuntire a procesului de testare. O metod destul de eficient n
mbuntirea procesului de testare este testarea automat.
Prin definiie, testarea automat este procesul prin care se pot rula automat, fr intervenia
uman, diverse scenarii de testare [3.2]. De obicei, este necesar testarea repetat a produselor
pe diverse platforme software i hardware, la fel n rezultatul schimbrilor anterioare sau la
lansarea noilor versiuni de proiecte. n consecin, prin utilizarea testrii automate, se reduc la
zero costurile testrilor repetate.
n prezenta lucrare, s-au abordat, s-au analizat i s-au comparat un ansamblu de metode, tehnici
i instrumente de testare automat, n contextul unor exemple, utilizate la diferite etape a ciclului
de testare, s-au propus soluii n urma analizei acestora pentru problemele existente n prezent la
acest capitol, pentru a mbunti eficiena procesului de testare i a asigura realizarea
obiectivului principal al oricrei companii productoare de software : prestarea produselor
calitative i asigurarea costurilor optime.
n urmtoarea lucrare a fost propus crearea unei abordri sistemice, n baza materialelor
studiate, a ansamblului de obiective, ce urmeaz s fie atinse n procesul de testare automat i
tratarea fiecrui obiectiv n parte, pentru alegerea celei mai eficiente metode de testare la diverse
nivele i etape de testare a ciclului de via software.
Obiectul primordial al testrii automate este de a simplifica ct de mult posibil efortul de
testare, cu un set minim de scripturi.
Voi distinge urmtoarele obiective care le-a menionat Dorothy Graham n cartea sa Software
Test Automation. S ncercm s analizm obiectivele:
-
Aceasta presupune executarea ansamblului de teste, scopul crora const n dezvluirea mulimii
de defecte existente n produsul software.
De fapt, este cert faptul c testarea buna nu const n numrul de rulri a testelor de caz, dar n
calitatea rulrii acestora.
Factorul ce determin gsirea mai multor defecte const n calitatea testelor de caz, nu n
cantitatea acestora.
n concluzie am putea spune c automatizarea testrii ar trebui s urmreasc acel obiectiv de a
a asigura o acoperire a tuturor testelor care pot gsi defecte n produs, i de a nu permite
mascarea acel probleme care deja exist n scripturi n produsul software testat.
-
Principalul lucru care determin creterea timpului de testare consituie calitatea software-ului,
numrului de defecte care sunt deja acolo, calitatea software-ului este n mare msur
responsabilitatea dezvoltatorului, nu a testerului sau a instrumentelor de testare automat.
6
Respectiv, testele automate optime ar trebui s reduc acel timp de testare prin gsirea defectelor
ntr-un numr maxim i ntr-o perioad ct mai scurt.
Descoperirea acestor defecte ntr-un timp ct mai scurt duce la scderea sau evitarea cheltuielilor
de testare. n caz contrar, gsirea problemelor n etapele de dezvoltare trzii duc la majore
cheltuieli de a elimina erorile gasite.
-
A calcula numrul de teste automate nu este o msurare util ce contribuie n procesul de testare.
Dac echipa de testare ncheie cu un set de teste care sunt greu de rulat i condus, atunci
problema nu const n instrumentul de testare automat. Vina const n alegerea greit ctre
testeri de a automatiza aceste cazuri de test.
Din aceast cauz este foarte important de a alege corect cazurile de test. Cum pot fi alese
cazurile? Testele care sunt efectuare doar de cteva ori, mai bine de pstrat pentru testarea
manual. Cazurile bune de teste automate sunt cele care se repet frecvent i necesit cantit i
mari de date pentru a efectua aceeai actiune. Iat unele exemple de teste care ar trebui
automatizate:
Teste care ruleaz pe mai multe platforme i configuraii diferite hardware i software.
Ce nu poate fi
automatizat?
Aplicaie instabila
Revizuiri de cod i
documentaie
Aplicaie instabil: Dac software-ul este n curs de dezvoltare i supus multor schimbri,
testarea automat nu va fi att de eficient.
Verificarea unei condiii pentru un singur test automat - crearea testelor ct mai
laconice, dar care s acopere funcionalitatea. Deseori n cazul testelor automate, se
utilizeaz scripturile de verificare, care duc la ncetinirea verificrii produsului, deoarece
n caz c o verificare cade, se blocheaz rularea i a urmtoarelor scripturi, dificultnd
astfel localizarea defectului. Verificarea mai multor condiii ntr-un singur test are sens n
cazul executrii manuale a testelor.
mai multe puncte de vedere, deseori anume prin estimarea rulrii acestor teste automate,
care corespund cerinelor, clientul i-ar putea crea o imagine a calitii produsului.
Paradoxul Pesticide- acest principiu const n executarea acelorai cazuri de teste de mai
multe ori, care duce la micorarea numrului de probleme gsite. Din acest motiv cazurile
de test ar trebui revizuite uneori, pentru adugarea unor condiii de verificare, tergerea
unor teste redundante, pentru meninerea testelor actualizate ultimelor cerine i ct mai
eficiente.
Analiznd acest principiu, am determinat o evaluare a unor cazuri de test ce au fost rulate
ntr-o anumit perioad de timp pe parcursul mai multor etape a proiectului Enrollment
Management(release-ul mai multor componente din acest proiect). Rezultatele le putem
urmri n urmtorul tabel. (1.1)
Tabelul 1.1 Rezultatele executrii testelor automate la etapa de regresie
Versiunea
produsului
Nr. de teste
executate
Nr. de teste
executate cu
succes
Nr. de teste
care nu au
trecut
Nr de teste
care nu sau rulat
8.3.0
250
208
21
21
8.3.1
218
206
8.4
837
820
Din acest tabel observm micorarea numrului de teste automate care nu au trecut cu
succces la
etapa de regresie pe parcursul mai multor versiuni a proiectului.
10
Testarea
de
acceptan
Testarea
de tip
White
Box
Testar
ea
manu
al
Testare
de tip
Black
Box
Testarea
unitar
Testarea
de
integrare
11
12
Riscuri
Costuri
Timp
Calitate
proiectul este determinat pe o perioad lung de timp, este indicat utilizarea testrii automate,
deoarece este suficient timp de a pregti testele automate, altfel, la proiecte cu o durat scurt de
timp e convenit mai mult testarea manual. Testarea manual e avantajoas de asemenea n
cazul unor teste specifice i destul de limitate, care necesit un rspuns rapid i se reduce la
costuri mai mici. n diagrama 1.4 se observ o dependen ntre timp i costurile suportate de
ctre testarea automat i cea manual pe o anumit perioad de timp.
Figura 1.4 Dependea Timp- Cost ntre testarea automata i cea manual
Dar, totui, pe o perioad mai mare de timp, alocarea in testarea manual devine destul de
costisitoare, i anume n resursele umane si resursele hard.
S-a constatat faptul c riscul apariiei erorilor este amplificat de factorul uman. Pe lng acestea,
testarea automat necesit la etapa iniial un efort mai mare, anume la planificare, organizare si
producerea testului. Anume aceast etap decide calitatea si corectitudinea viitoarelor rezultate.
Analiznd metodele de testare descrise este cert faptul, indifenrent de tehnica de testare utilizat,
cn final produsul trebuie s corespund specificaiilor si cerinelor ce au fost determinate din
start. Testarea este o etap foarte important n ciclul de via al produsului, de aceea trebuie
gestionat corect, pentru a evita surplusurile de resurse, de timp i costurile excesive.
14
S fie compatibil pentru diverse aplicaii i platforme n acest sens este recomandat de a
alege acel instrument care va fi suportat de majoritatea aplicaiilor.
16
instrumentele care vor fi compatbile cu acele sisteme de operare care reprezint suport
pentru apliicaiile din companie ct i cele ale clientului.
planificare i monitorizare,
analiz i design,
implementarea i execuia,
evaluarea criteriilor de ieire i de raportare,
activiti de testare spre finisare.
Strategia de testare este o schi care descrie poriunea de testare ce include dezvoltarea
software, este creat pentru a informa managerii de proiecte, testerii, i dezvoltatorii cu
privire la unele aspecte cheie ale procesului de testare. Aceasta include obiectivele de testare,
metodele de testare, timpul total i resursele necesare pentru proiect i medii de testare.
4. Determinarea resurselor necesare de testare, cum ar fi resursele umane, mediile de
testare.
18
* dinamic- necesit execuia aplicaiei n sine pentru testarea acesteia (ex: testarea unitar,
testare de integrare, testare de sistem).
confirmatea testelor;
Logarea rezultatelor testelor. Rezultatele execuiei vor delimita testele cu erori de cele
executate cu succes;
20
Compararea rezultatelor actuale cu cele ateptate. Dac sunt diferen e ntre rezultatele
actuale i cele ateptate, aceastea se raporteaz ca incidente;
Analiznd procesul general de testare descris anterior, se va urmri procesul de testare a aplicaiei
ENR.
Etapa de planificare ncepe cu crearea unui plan de test, care descrie modul de testare pentru
proiectul Enrollment Management.
Strategia de testare cuprinde toate tipurile de testare care sunt aplicate in cadrul acestui proiect.
Testarea unitar este prima etap din procesul de testare care este meninut de ctre echipa de
programatori. Testele unitare sunt executate pe parcursul crerii fiecrei distribuii. Toate testele
21
unitare trebuie s fie executate cu succes, n caz contrar acestea trebuie fixate. Cnd se adaug o
poriune de cod nou n aplicaie aceasta trebuie s fie nsoit de un test unitar. Echipa de
programatori sunt resposabili de meninerea i monitorizarea rezultatelor testelor unitare. Unul
din riscurile care pot aprea la crearea acestor teste este timpul limitat accordat pentru crearea
lor, ceea ce sporete probabilitatea c nu toate ariile vor fi acoperite de teste unitare.
Urmtoarea etap este testarea funcional, la aceasta etap echipa de testare trebuie s se
asigure c toat funcionalitatea care este n scop a fost implementat corect i funcioneaz
conform scenariilor de acceptan propuse. Ca parte din testarea funcional putem distinge trei
tipuri de testri:
1. Testarea pozitiv - toat funcionalitatea care este acoperit trebuie verificate pe scenarii
pozitive i reale (din producie), conform specificaiilor;
2. Testarea negativ echipa de testare trebuie s acopere i scenarii negative al crui scop
const n asigurarea funcionrii sigure a aplicaiei n cazul intrrilor neprevzute;
3. Automatizarea testrii funcionale - pe parcursul testrii funcionale echipa de testare
trebuie s execute cazuri de test automatizate utiliznd frame-workul de testare existent
E2E.
Ca parte din testarea funcional testerii au responsabilitatea de a verifica c fiecare
implementare are scenarii de acceptan cu date valide, descrierea fiecrei implementri trebuie
s conin detalii destule pentru a fi neles scopul. Odat ce a fost implementat, echipa de
dezvoltare trebuie s aduc la cunotin detalii despre schimbrile aplicate, iar testerii au timp
alocat pentru nsuirea schimbrilor i automatizarea acestora. Pe parcursul acestei etape pot
aprea unele riscuri cum ar fi: testerii nu pot automatiza toate cazurile de test, din cauza
volumului mare de noi implementri unele componente pot ramne netestate.
Odat ce testarea funcional a fost incheiat cu succes urmeaz etapa testrii de
integrare. A crui scop const n asigurarea integrrii produsului de baz cu implementrile
costumizate ale clienilor. Produsul ENR trebuie s fie uor integrat cu schimbrile aplicate de
ctre echipa CS care avind un contact direct cu clienii deine toate costumizrile i specificaiile
lor.
n cadrul testarii de sistem aplicaia trebuie s fie testat pe diverse platforme. Produsul
ENR trebuie s fie suportat pe urmtoarele platforme:
22
1.
2.
3.
4.
Pentru ca planul de testare s fie executat cu succes este necesar de a distribui eficient resursele
existente.
24
2. Tehnici bazate pe aria de acoperire, unele din aceste tehnici utilizate n cadrul companiei
pot fi :
a. Testarea de funciune - se testeaz fiecare funcie n parte pn la momentul cnd
testerul poate confirma c aceasta lucreaz corect. Testarea white-box de obicei
numit testarea unitar se concentrez pe funciile ce le putem vedea n cod.
Testarea block-box se focuseaz pe comenzi, lucruri pe care utilizatorul le poate
gsi sau selecta. Este destul de important de efectuat testarea funcional nainte
de a realiza alte teste mai complexe. ntr-un test complex prima func ie defectat
stopeaz i blocheaz gsirea altor funcii care sunt deasemnea defectate. De
aceea este important de a testa fiecare funcie n parte individual. Pentru a reduce
att costul ct i micora probabilitatea scprii mai multor defecte.
b. Testarea de integrare - testeaz cteva funcii mpreun pentru a analiza cum
acestea lucreaz n grup.
c. Menu tur - acest tip de testare permite exploatarea tuturor meniurilor i
ferestrelor de dialog a interfeei de utilizator, prin accesarea oricrui buton i
combinaii posibile. n cadrul proiectului, acest tip de tehnic a fost utilizat la
crearea unui test automat pentru verificarea paginii web Accounts a aplica iei
ENR (vezi fig.2.3). Prin rularea acestui test automat, se acceseaz pagina
Accounts, selectnd un anumit cont se verific corectitudinea datelor prezentate
i funcionarea corect a fiecrui buton. n cazul funcionrii incorecte a
butoanelor, testul automat nu trece cu succes, aruncnd erorile ce determin
urmtoarele defecte aprute sau scpate n program.
echivalent. Spre
exemplu cazurile de test sunt echivalente dac testerul consider c ele verific
aceleai lucruri. Din aceasta rezult dac unul din cazurile de test prinde un defect
celelalte deasemenea vor gsi defecte. i dac unul din acestea nu gsete
problema celelalte cel mai probabil nu vor gasi nici ele. Odat ce testerul a gsit o
clas de echivalen el testeaz doar unul sau dou cazuri. n cazul proiectului au
fost adaugate numeroase teste automate ce verific diverse scenarii detaliate. Un
exemplu de cazuri de test echivalente putem urmri n figura 2.4. Scenariul de
baz const n adugarea/expirarea/reintegrarea unei polie de asigurare a unui
membru. n cazul dat diferena dintre scenarii const doar n adugarea sau
expirarea poliei n zile diferite, modificarea datelor personale n fiecare scenariu
n parte. n final, rezultatul cazurilor de test au drept scop verificarea
corectitudinii reintegrrii poliei de asigurri. Deci putem spune c aceste cazuri
de test sunt echivalente.
Tabel de decizii - reprezint relaii logice ntre datele de intrare i cele de ieire (condiii
i aciuni), deci cazurile de test reprezint orice combinaie posibil de intrri i ieiri;
Testarea din specificaii formale - specificaiile oficiale furnizeaz derivarea automat a
cazurilor de testare funcional i o ieire de referin pentru verificarea rezultatelor
testelor;
Testarea aleatoare - punctele aleatorii se aleg din datele de intrare care sunt deja
cunoscute, astfel cazurile de test sunt bazate pe nite date aleator alese.
5. Tehnici bazate pe cod:
Criteriul bazat pe fluxul de control - se determin procesul de testare logic al
expresiilor (deciziilor) ntr-un program. Deciziile se consider funcii logice a unor
condiii logice elementare. Definiia fiecrei criterii a fluxului de control include o cerin
de acoperire ca o parte component: fiecare cerin n program se execut cel puin o
dat. Criteriul fluxului de control este considerat baza unui program i este util pentru
testarea white-box.
Modele de referin pentru testarea codului controlul structurii unui program este
moment, i analizndu-le pot gsi componenta sau partea de cod ce a fost afectat.
Testarea mutaional - Mutant reprezint o versiune modificat a unui program pe
parcursul testrii. Acesta difer de programul iniial prin schimbri sintactice. Fiecare caz
de test exerseaz ambele tipuri de programe, att cele originale, ct i cele mutante.
Cazurile de test sunt dezvoltate pentru a distruge programele mutante ce au rmas
neafectate.
7. Tehnici bazate pe utilizare:
Profil operaional - n cadrul acestei tehnici se poate prognoza fiabilitatea programului
n urma analizei rezultatelor testelor.
8. Tehnici bazate pe natura aplicaiei:
Testarea orientat pe obiect - ca parte din aceast tehnic de testare se gsete poziia
elementului n test ce nu corespunde cu specificaiile. Scopul acestei tehnici const n
selectarea, structurarea i organizarea testelor n aa mod de a gsi erori ct de devreme e
posibil.
27
Testarea bazat pe componente - tehnica e bazat pe ideea crerii cazurilor de test din
componente de testare reutilizabile. O component de test reprezint o unitate
2.3Instrumente de testare
1. Selenium- suit de instrumente pentru automatizarea interfeelor web. Pn n present
acest instrument avanseaz n lumea testrii datorit suportului celor mai mari furnizori de
browser care i-au luat responsabilitatea de a face Selenium o parte nativ din browser-ul
lor. Este cunoscut pentru a excela n perioada de testare timpurie, n special le convine
testerilor ce scriu script-uri de testare n paralel cu dezvoltarea aplicaiilor sale, i folosesc
aceste script-uri pentru testarea regresiv.
28
gradle, taskurile gradle sunt primele obiecte clas disponibile ntr-un program. Taskurile
pot fi scrise de ctre utilizator, dar sunt i cteva implicite: de copiere, jar crearea
librariilor din fiierele surs, javaexec- ruleaz o clas java utiliznd methoda main().
Instrumentul de creare a distribuiilor este necesar de a fi organizat ntr-un format u or de
citit i interpretat. Formatul XML a fost o alegere uoara pentru crearea distribuiilor, i
este utilizat cu succes de mai bine de zece ani. Dezvoltatorii erau entuziasma i de noua
tehnologie, netiind c mai trziu citirea fiierelor mari va fi o problem. Cu toate acestea
un deceniu de experien au demonstrat c fiierele XML mari i complexe sunt uor de
citit doar de maini, nu i de oameni. Deasemnea structura XML strict ierarhic limiteaz
expresivitatea formatului. Este uor de a arta nite relaii in XML ,dar este greu de a
nelege paii de execuie a crerii distribuiei i accesul la date. Deci putem spune c
formatul XML este greit folosit pentru crearea unei distribuii. Prin compara ie noua
tehnologie de construire a distribuiilor Gradle, folosete pentru descrierea pailor de
execuie limbajul de programare Groovy. Acest limbaj este foarte popular n ecosistemul
Java, deaaceea construirea unei distribuii devine foarte simpl folosind Gradle+Groovy.
Pentru a distribui i testa aplicaia continuu se utilizeaz Jenkins, ce reprezint o
aplicaie care ruleaz pe mai multe platforme destinat integrrii i dezvoltrii continue i
contribuind la creterea productivitii procesului de testare. Acest instrument uureaz
posibilitatea de a integra schimbrile n proiect oferind posibilitatea de a ob ine mereu
cea mai nou distribuie. Poate fi integrat uor deasemenea cu un numr mare de tipuri de
testri i tehnici de dezvoltare. Posibilitile care ni le ofer Jenkins sunt:
1. Instalare rapid i uoar;
2. Configurare simpl;
3. Un ecosistem de plug-in bogat :
4. Flexibilitate unele pri ale Jenkins pot fi extinse i modificate oferind posibilitatea
de a crea noi plug-inuri.
Acesta este o punte ntre instrumentul de creare a distribuiilor (Maven, Ant, Gradle), sistemele
de control a versiunilor (SVN, GIT) i sistemul de stocare a distribu iilor (Sonatype Nexus). Prin
intermediul acestui instrument se poate uor de observat statisitici despre procesul de dezvoltare
a unui produs software. Sunt indicatori pe care Jenkins i pune la dispoziie i care descriu
procesul de dezvoltare. Numrul de defecte raportate, numrul de teste executate cu succes i
cele care au czut nsoite de informaia detaliat, Numrul de distribuii create cu succes - to i
30
aceti indicatori sunt folosii pentru luarea deciziilor n vederea mbuntirii procesului de
dezvoltare i testare.
31
Descriere
Account
message header
message body
message property
Policy Unit
Profile
RIM
ENR
rezolvarea
scenariilor
doumente
tracking
info
ce
rspund
de
editate
intermediul
utiliznd
Route
aplicaiei
Edifecs
Editor
prin
Application
Manager.
Content Packs
guidelines
proprieti
ale
prestabilite,
informaii.
Pachetul
utilizatorului
configuraii
de
coninut
urmreasc
alte
permite
procesarea
Fiind o aplicaie de procesare a tranzaciilor electronice pot fi descrise cteva abiliti de baz pe
care le suport:
Tabelul 2.2 Abiliti de baz in cadrul tranzaciilor electronice
Abilitatea
Procesul
Abilitatea de a suporta tranzaciile electronice Mapele standarde sunt o parte din ENR,
n orice format (834EDI, ECF, PPR).
acestea au rolul de a converti informaia dintrun iniial format n altul standartizat ECF
(Edifecs
Common
Format).
Mapele
programului
de
asigurri
medicale
automatizat.
Abilitatea de a grupa informaiile electronice O unitate familiar reprezint deintorul
n uniti familiare
fiecare etap a
procesrii procesrii
tranzaciei electronice
tranzaciilor.
Fiecare
entitate
aplicarea
corespunztoare
acelei
unei
etape.
rezoluii
Odat
ce
poliei
sunt
schimbate
faza iniial
cu Polia
unitar
membrii abseni
corespunztoare
tranzacia
de
acestei
polite,
schimbri
automat
electronice
sistemul
poate
fi
adiionale
aplicate
care
oprete
procesarea
de
vizualizare
utilizatorilor
cureni,
distribuia sub forma unei arhive n care vom avea fiierul cu documentaie, fiierul cu schema
bazei de date, fiierul de configurare a aplicaiei i artifactul cu resusrse, (figura 2.2) care poate fi
folosit la instalarea i ulterior folosirea aplicaiei ENR. Fiecare versiune de distribu ie este
stocat ntr-un repozitoriu unic, de unde poate fi descrcat pentru utilizare.
fiecrei entiti. Deasemenea, este descris modul de vizualizare a datelor prin definirea
criteriilor de filtrare i a proprietilor.
3. Dac etapele precedente au fost trecute cu succes : configurarea aplicaiei, determinarea
schemei bazei de date, se poate efectua instalarea aplicaiei. Prin instalarea aplicaiei se
intelege extragerea tuturor resurselor n locaia aleas pentru instalare. Deasemenea sunt
rulate instrumente de sistem care configureaz aplicaia ENR pentru utilizare: importarea
partenerilor, importarea exepiilor configurate, importarea configurrilor pentru
VIPSecurity i configurarea aplicaiei Web. Pentru a instala automat s-a creat taskul
gradle installENR. Mai jos este reprezentat secvena de cod:
task installENR(description: "Installs latest ENR no matter what", group: "enr",
dependsOn: [deployEnrCp, enrUnpack, enrPrepare, killBuildBlockers,
enrInstall, replaceFFTemplate,
enrPartners, changeProperties, enrStart
]) {
tmSyncTpm.mustRunAfter tmStartSmService
enrClean.mustRunAfter killBuildBlockers
enrInstall.mustRunAfter tmSyncTpm
enrInstall.mustRunAfter deployEnrCp
changeProperties.mustRunAfter enrInstall
replaceFFTemplate.mustRunAfter enrInstall
customAccounts.mustRunAfter enrPartners
enrStart.mustRunAfter replaceFFTemplate
enrStart.mustRunAfter changeProperties}
4. Pentru ca aplicaia s fie funcional i s fie posibil procesarea fiierelor este necesar de
a porni toate serviciile aplicaiei. Printre serviciile aplicaiei se enumer serviciile
profilelor ENR, serviciul aplicaiei Web, i alte servicii adiionale: serviciul de cutare, de
arhivare, serviciul Tracking Info - prin intermediul cruia se aplic schimbrile asupra
entitilor din baza de date. Pornirea serviciilor se execut prin intermediul taskului
startEnrServices, prin intermediul cruia se incearc startarea fiecrui serviciu
enumerat. Acest task execut comanda de startare, ateapt un timp de startare a fiecrui
serviciu, iar dup expirarea acestuia se verific daca serviciul a fost pornit cu succes.
Pentru a procesa fisierele avem nevoie de parteneri, care se afl n fiierul enrPartners.
Importul acestora presupune ncrcarea n sistem a proprietilor despre partenerii care
folosesc aplicaia ENR. n producie aceasta se execut manual prin executarea comenzii
de importare a partenerilor. n cadrul proiectului de testare pentru a eficientiza i exclude
factorul uman a fost creat un task automat gradle importPartners care efectueaza
aceast operatiune.
39
iteraie. Acestea sunt grupate dup mai multe criterii: n funcie de componenta testat,
tipul fiierelor procesate, etc. Pentru nelegerea modului de funcionare, vom ncerca s
analizm un exemplu de test: Scenariu de reactivare a unei polie medicale
Scenariul const n parcurgerea mai multor etape:
41
when:
uploadEnrDat(map, prefix, datFileReinstate)
then:
desiredStatus == check.transmissionActivityState(desiredStatus)
}
Verificarea datelor ateptate, care sunt nregistrate ntr-un fiier xml- DbUnit, cu cele
curente din baza de date.
def 'Test all expected data in table #table should be present'() {
def status = compareDatasets(prefix, selectsMap, datasetFile, table)
expect:
status
where:
table << [
'enrmember',
'enrpolicyunit',
'enrcoverage', ] }
42
Declararea variabilelor
43
Din punct de vedere al utilizatorului, interfaa reprezint modul prezentrii unui software
n faa calculatorului. [1] De aceea este important ca produsul realizat s aib o interfa
user- friendly. Pentru mbuntirea modului de testare a interfeei de utilizator, n cadrul
proiectului au fost elaborate un ir de teste automate, care acoper funcionalitatea de baz
n verificarea interfeei.
Testele au fost adugate n baza modulului nou, recent adugat: modulul Accounts, care
prezint totalitatea utilizatorilor adugai mpreun cu poliele procesate corespunztor
fiecrui utilizator n parte. Automatizarea testelor UI acoper o verificare de 80% din
funcionalitatea de baz. n modelul de test de mai jos se va putea urmri verificarea
corectitudinii unui utilizator adugat recent n modulul Accounts. (vezi Anexa 1)
- Generarea raporatelor prin Jenkins
Raportarea rezultatelor reprezint un mecanism de prezentare a strii produsului din
diferite unghiuri la un anumit moment de dezvoltare a acestuia. Orice raport generat
trebuie s conin destul informaie despre produsul testat astfel ca oricine vizualizndu-l
s se afle n poziia de a nelege produsul, scopul i starea curent a acestuia.
Formatul raportrii depinde de mai muli factori:
44
transparen procesului de testare, astfel nct s fi luate cele mai bune decizii la fiecare
etap de dezvoltare. Orice reprezentare grafic a unui raport ajut la o n elegere mai
bun a informaiilor prezentate. Pentru a vizualiza rapoartele testelor din cadrul
proiectului Enrollment Management se folosesc cteva instrumente, printre care se
enumer i Jenkins. Acesta are abilitatea ca dup rularea testelor s creeze rapoarte
succinte despre rata de success a execuiei testelor (vezi fig. 2.6) .
45
n raportul prezentat pot fi identificate testele care au trecut cu success i cele care au
defecte i urmeaz a fi fixate sau investigate. Deasemenea, raportul prezint evolu ia
-
testelor n timp. Se poate observa c numrul testelor adugate noi crete constant.
Msuri ntreprinse pentru mbuntirea procesului de testare automat
Analiznd rezultatele obinute n urma generrii rapoartelor trebuie ntreprinse cteva
msuri de fixare/mbuntire a procesului de testare automat. Vom analiza unele msuri
de mbuntire care au fost aplicate n cadrul proiectului ENR:
Implicarea membrilor n echipa de testare n procesul de automatizare fiecrui
membru al echipei i sunt alocate ore suplimentare pentru a automatiza scenarii
executate anterior manual. Acest exerciiu crete rata de automatizare a testelor.
Dac pin acum 1 an erau implicate doar cteva persoane n automatizare,
numrul testelor erau de orinul sutelor, odat cu implicarea tuturor membrilr
raport Exit Criteria, ce cuprinde estimarea aproximativ a fiecrei arii testate din produsul
ce urmeaz a fi livrat. Se poate analiza urmtorul exemplu de raport n care sunt
enumerate ariile testate i importana fiecrei arii in diferite perioade. (fig 2.7) Culorile
delimitate exprim riscul ariei de a fi nefuncional:
culoarea roie- risc nalt, aceast arie a fost implementat mai tirziu, conine defecte
critice si este probabilitatea ca aria s nu fie livrat ctre client;
culoarea galben- risc mediu, este n process de testare, defecte au fost gsite, dar nu sunt
critice i se fixeaz pn la momentul livrarii, iar rata redeschiderii defectelor este mica;
culoarea verde- risc minor, aria este testat complet, iar defectele gsite au fost fixate i
nu prezint risc pentru livrarea produsului.
Curren
t
4/8/20 4/1/20 3/25/20 3/18/20 2/26/20
16
16
16
16
5/4/20 16
16
Release Build
Bugs
HIGH
HIGH MEDIU
MEDIUM MEDIUM MEDIUM
M
HIGH
HIGH MEDIU
MEDIUM MEDIUM MEDIUM
M
LOW
MEDIU MEDIU
MEDIUM MEDIUM MEDIUM
M
M
HIX Flows
Add/Change/Term
Reconciliation
HIGH
HIGH
HIGH
HIGH MEDIU
MEDIUM MEDIUM MEDIUM
M
Pre-Audit
Inbound Baseline
Response and
Baseline Outbound
PPR
HIGH
HIGH
HIGH
HIGH
Account Module
LOW
LOW
LOW
LOW
MEDIUM MEDIUM
NFR
Performance
MEDIU
HIGH
M
HIGH
HIGH
HIGH
HIGH
Primary Customer
LOW
LOW
LOW
LOW
LOW
LOW
Reporting
LOW
LOW
LOW
LOW
LOW
LOW
automate. Este foarte important de a nelege costul potenial i beneficiile nainte de a ncepe
procesul de testare automat. Impactul organizaional include elemente cum ar fi: cunotine
aprofundate de planificare i implementare a testelor automate, crearea instrumentelor de testare
automat i pregtirea platformelor pentru testare. Dezvoltarea i mentenana testrii automate
difer esenial de cea manual. Cunotinele aprofundate sunt necesare pentru a ine pasul cu
schimbrile procesului de testare. Echipa de testare trebuie s fie pregtit pentru a schimba
testele rapid. Judecnd realistic ateptrile, managementul trebuie s neleag care vor fi
beneficiile testrii automate pentru ca aceasta s fie cheia succesului. Se poate u or de justificat
costurile pentru procesul de testare dac managementul o vrea. Dar aceast justificare trebuie n
permanen corelat cu potenialele beneficii. Este foarte important s se memoreze c testarea
automat vine s mbunteasc ntreg procesul. Automatizarea este doar o metod prin care
putem mbunti considerabil ntreg ciclul de via al produsului. Testarea automat n sine, nu
aduce un beneficiu real companiei mai mult dect testarea manual.
Analiza costului beneficiilor furnizeaz informaie util despre modul cum se vor face investiiile
n testarea automat.
Exist multiple arii unde automatizarea poate furniza beneficii reale, iar n alte cazuri
dezavantaje. Totul depinde de implementarea procesului, de exemplu: testele automate pot
reduce o mulime de pai manuali sau de a executa acelai test de mai multe ori, dar de asemenea
testele automate pot genera muni de rezultate care vor fi greu de analizat i vor implica costuri
suplimentare, costuri care potenial vor fi mai mari dect o simpl rulare a unui test manual. De
obicei, informaia obinut n urma rulrii testelor automate este ascuns i doar n urma unei
analize se pot gsi realele defecte. De aceea, este important ca rapoartele testrii automate s fie
ct mai succinte i uor de analizat.
Tehnicile existente de msurare cum ar fi : acoperirea de cod poate fi utilizat pentru a estima
eficacitatatea testelor nainte i dup automatizare. Testele automate pot fi foarte efective
acoperind mult cod i supunnd vizibilitii produsul prin procesul de testare. Deasemenea,
testele automate ofer oportunitatea de a testa unele arii care sunt imposibil de testat manual, dar
metricile convenionale nu vor arta nici un beneficiu. Testele automate pot gsi defecte chiar i
n codul care este deja acoperit de teste prin generarea de multiple evenimente ntmpltoare.
Unele teste pot fi acoperite doar de testarea automat, de exemplu simularea logrii a mii de
49
utilizatori n aceli n acelasi timp. Testarea lipsei de memorie, verificarea strii variabilelor sau
monitorizarea unor apeluri neprevzute ctre produsul program pot fi fcute doar prin testele
automate.
Exist cteva arii unde managementul trebuie s-i inteasca ateptrile: costurile intangibile si
beneficiile, ateptrile beneficiilor nendeplinite, factorii comuni ale testrii manuale i automate
i impactul organizaional. Deasemenea, trebuie s fie ateni cum contabilizeaz i msoar
aceste lucruri. Costurile intangibile realistic sunt greu de evaluat, acolo unde pot fi msurate este
o variaie bun pe plan financiar. Exist probleme n a captura msurtori ct de mult se va
schimba pe parcursul automatizrii. Careva din costurile intangibile pot fi pozitive, altele
negative, acestea pot fi mixate pentru un rezultat ateptat.
Echipajul de testare
Dei costurile resurselor umane e uor de msurat, orice valoare n plus din partea calculatoarelor
este dificil de cuantificat.
Aceasta apare n timpul unei pauze de testare, echipa fiind ocupat cu crearea testelor automate,
crearea instrumentelor de testare i instalarea acestora.
50
Acoperirea cu teste
Toate testele vor fi automatizate- uneori aceasta nu este practic, iar alte teste nu se merit
care produsul este att de stabil nct testele existente vor trebuie modificate pe parcurs;
Instrumentul de testare care se pliaz perfect cu produsul- multe instrumente automatizate
comerciale de testare i merit costurile i au o rat de rentoarcere a investi iilor foarte
nereproductibile. Analiza acestor rapoarte poate costa mai mult dect se presupune a fi
economisit.
Este util de remarcat cteva lucruri suplimentare pentru gestionarea ce prive te costul de
automatizare.
Cele mai multe dintre beneficii vin din testarea automat, din disciplina aplicat analizei
produsului testat i planificrii testrii. Aceste beneficii nu sunt direct legate de
automatizrii.
Scrierea de teste automate este mult mai dificil dect rularea unor teste manuale, aceasta
necesit cunotine noi i experiena testrii manuale. Nu to i membrii echipei de testare
sau scdea bazndu-se pe numarul de teste create i rulate. Vom analiza urmtorul tabel al
costurilor de testare (tab. 3.1)
Tabelul 3.1 Costurile de testare
Costuri fixe
Costuri variabile
cazurilor
de
testare
existente)
automatizare
Mentenana testelor
Execuia testelor
Analiza rapoartelor
Instrumente de scripting
Raportarea defectelor
pentru
Careva din factori sunt comuni testrii manuale i celei automate. Aceti factori n general cresc
o dat cu introducerea testrii automate, dar aceast cretere va scdea costurile testrii manuale
astfel crendu-se un beneficiu. Putem distinge civa factori comuni:
Analiza SUT
Planul de test
Proiectarea testrii de baz
Raportarea defectelor
Managementul raportrii rezultatelor
Impactul financiar din automatizare poate fi calculat comparnd-l cu unul din cele dou
alternative: testarea manual sau netestarea. Prima alternativ este simpl de calculat pentru teste
spcifice dup ce a fost definit costurile factorilor implicai. Cu toate acestea, este foarte dificil
de identificat costurile factorilor care includ calcularea. Devine ns mai dificil cnd un test
automat nu face acelai lucru ca un test manual. De asemenea, sunt nite costuri i beneficii care
pot fi asociate numai cu testarea automat, n special comparnd eficacitatea testelor. Unele teste
automate au costuri asociate cu noi capabiliti de a exersa i analiza produsul program prin
53
54
Factorii urmtori pot fi divizai n costuri comune att testrii manuale ct i celei automate.
Aceti factori care sunt comuni nu trebuie de luat n consideraie cnd se calculeaz beneficiile
testrii automate. Acei factori care cresc sunt costurile automatizrii, iar cei care scad sunt
beneficiile. Unii factori pot crete sau descrete imediat, dintre acetia pot fi plasai ca costuri sau
beneficii, depinznd ns de tipul de automatizare i eficacitatea ateptat. n lista urmatoare
sunt cteva exemple din ambele categorii:
Exemple de factori care se schimb (pot fi att beneficii ct i costuri ale automatizrii):
obiectivelor urmrite;
structurarea procesului de testare n mai multe etape ;
lansarea n execuie a produsului supus testrii;
analiza comportamentului real al produsului implementat cu comportamentul definit n
specificaii;
elaborarea unui raport de testare care include rezultatele procesului de testare, defectele
gsite n produs i elementele de baz care vor defini respingerea sau acceptarea
produsului. Sub acest aspect realizm importana procesului de testare, care are drept
scop urmrirea strii produsului la un anumit moment de timp.
Pentru a asigura eficiena procesului de testare sunt necesare anumite costuri n instruirea
personalului de testare cu tehnicile utilizate n procesul de testare i deasemenea salariile
acestora. Eficiena procesului de testare este determinat de anumii factori, cum ar fi:
-
durata procesului de testare (se estimeaz timpul alocat pentru testarea fiecrei arii);
numrul de iteraii necesar pentru evidenierea integral a comportamentului produsului
supus testrii;
concordana dintre rezultatul testarii produsului i situaia actual la moment a
produsului, n urma cruia se stabilete dac produsul coincide cerinelor clientului i este
acceptabil de livrat, sau nu corespunde anumitor cerine i trebuie fixat.
56
Eficiena testrii ntr-o mare msur depinde de personalul ce testeaz produsul, acesta fiind
factorul de baz, deoarece prin aciunile sale el poate dirija ntreg procesul de testare.
Cheltuieli de asistare
Orice proces se execut n anumite condiii corespunztoare complexitii procesului.
Testarea software, fiind un proces destul de complex i cu o importan major, este necesar
s fie executat n anumite condiii dotate cu instrumente i echipamente speciale. Testarea
complet a unui produs nu poate fi realizat n cazul cnd echipa de testare nu dispune de tot
echipamentul de resurse necesare. n cazul testrii automate a produsului, echipa de testare
are nevoie i de alte instrumente specializate n automatizarea acestui proces. n cadrul
procesului de testare asistat se verific msura concordanei dintre specificaii i program.
Printre cheltuielile de asistare se enumer: cotele pri repartizate din amortizrile pentru
echipamentele i instrumentele software, cheltuielile de ntreinere a instrumentelor i
echipamentelor utilizate, cheltuieli privind instruirea presonalului n utilizarea acestor
instrumente i cheltuielile necesare analizei de comportament a produsului actual cu
rezultatul testrii din etapele anterioare.
Pe lng cheltuielile enumerate se specific nc cheltuielile pentru elaborarea sistematizat a
documentaiei, cheltuieli suportate pentru fixarea bugurilor depistate n faze trzii, aceste
defecte sunt mult mai costisitoare dect la momentul n care puteau fi determinate n fazele
nceptoare. O anumit parte din cheltuieli se utilizeaz n automatizarea testelor, proces ce
dureaz foarte mult de la nceput compoarativ cu procesul de testare manual. Estimativ 1030 teste automate pot fi echilibrate cu 100 teste manuale.
Lund cunotin cu anumite cheltuieli suportate n cadrul procesului de testare automat,
vom ncerca s analizm unele modele de estimare a costului testarii.
Pentru determinarea duratei testrii, rezultatele acesteia i costurile suportate este necesar mai
nti de a determina complexitatea produsului ce urmeaza a fi testat
Eficiena echipei de testare poate fi estimat conform raportului 3.5, unde n este lungimea
procesului de testare ca numr de iteraii:
57
S analizm modelul dat n cadrul proiectului Enrollment Management. Produsul este supus
testrii ntr-un anumit numr de iteraii. Testele automate sunt rulate succesiv la fiecare
distribuie nou creat. Graficul evoluiei programului exprimat prin numrul de erori gsite de la
o iteraie la alta este descresctor. (figura 3.2)
A
En = a =
Am
V
V
( m+n2D m)
( a+n 1Da )
A
Enc = a =
Am
(1)
(2)
58
Ba
(Beneficiile automatizrii)
=
(Costurile automatizrii)
Ca
(3)
Ba
Ca
(4)
Unde:
En - reprezint raportul costurilor automate asupra consturilor manuale pentru acelai numr de teste dezvoltate
i acelai numr de teste rulate.
Enc - represint raportul dintre costurile automate i manuale pentru un numr difetrit de teste.
innd cont c a este automat, iar m este manual avem:
59
Ba ( time t) =
*(
n1
N )
Trei dintre cele 4 ecuaii calculeaz valoarea de baz a comparaiei dintre testele manuale i
automate. n cele mai multe situaii beneficiile testrii automate poate fi calculat ca mrirea lor
bazndu-ne pe mrirea investiiilor. Numrul testelor manuale sunt baza costurilor de testare n
cadrul organizaiei. Acest volum de bani va fi oricum investit indiferent c este sau nu
automatizarea. Automatizarea testrii implic costuri suplimentare, dar ateptnd de asemenea
creterea beneficiilor. A treia ecuaie exprim ROI conceptual n termeni de costuri i beneficii.
Prima ecuaie compar costurile de creare i rulare a testelor manuale cu acelai numr de
rulri a unui test automat. Acesta calculeaz raportul din costul crearii i rulrii unui test automat
de n ori asupra costului crerii i rulrii unui test manual de n ori. O valoare mai mic ca unu ca
rezultat este avantajos pentru automatizare deaorece acesta arat costul testului auotmatizat ca
fraciune din testul manul. Valorile utilizate n ecuaie (1) sunt bazate pe cteva predefini ii care
nu sunt aplicabile pentru toate organizaiile. Trei dintre aceste predefiniii sunt importante n
particular. Adesea testele manuale i automate nu sunt rulate de acelai numr de ori. Fiecare
rulare a unui test nu are un rezultat egal. Deasemnea mule organizaii nu au suficiente resurse
pentru a crea teste automate ct i manuale. Deaceea de obicei testele automate sunt mai pu ine.
n al treilea rind multe teste automate necesit mentenant n timp pentru a asigura execu ia
acestora, dea accea pot aprea costuri adiionale nainte ca testul automat sa fie rulat de n ori.
60
61
Doar jumate din testele manuale vor fi rulate n prima zi(1 or), cealalt urmnd a fi
(costuri=0);
Automatizarea se face prin scripturi integrate n procesul de creare a distribu iei. Aceasta
necesit 500 $ pentru a adauga componente hardware care va funciona minim 3 ani;
Testele automate trebuie meninute la fiecare a 25-a rulare. Aceasta necesit 8 ore de
lucru;
Perioada selectat 6 luni (125 zile) i 18 luni (375 zile);
Costuri cu personalul (10000$ pe an)= 40$ pe zi= 5$ pe ora.
Ba ( time t) =
*(
n1
N )
C a (n 6 luni) = (500* 6/36) + (15*40) (5*40) + (40*125/25) = $84 + $600 -$200 + $200= $684
C a (n 18 luni) = (500* 18/36) + (15*40) (5*40) + (40*375/25) = $250 + $600 -$200 + $600= $1250
62
*(
n1
N )
C a (n 12 luni) = (150* 1/3) + (5*10000) (2*10000) + 0 = $300+ $50000 -$20000= $30300
63
64
Anexa 1
Exemplu de test a verificrii modulului Accounts
class AccountCompletTest extends LoginClass {
def 'setupSpec'(){
sleep 1000
Browser.drive() {
log.debug "AccountCompletTest initialization"
withFrame(config.frame.top){
$("a", title: "Accounts").click()
sleep 2000
}
withFrame(config.frame.display){
log.debug "Press All acounts"
$("a", title: "All Accounts").click()
sleep 3000
log.debug "Press CMSFFM"
$("a", id: "{CMSFFM}").click()
sleep 3000
}
}
expect:
true
}
def 'Contacts Tab'(){
Browser.drive() {
withFrame(config.frame.display) {
log.debug "Press Contacts"
$("div", id: startsWith("tabbar-"), "data-ref":"targetEl").find("a")[1].click()
sleep 2000
//get elements GeneralContainer
def generalTab = $("div", id:"accountContacts-body")
//press add External Contacts
generalTab.$("div", id:startsWith("toolbar-"), "role":"presentation")[0].find("a")[0].click()
sleep 2000
//close add External Contacts
def general = $("div", id:"accountExternalContact-body")
general.$("div", id:startsWith("container-"), "data-ref":"targetEl").find("a")[2].click()
//Click Assign Contact
generalTab.$("a", title:"Assign").click()
sleep 2000
//close Assign Contact
general = $("div", id:"accountInternalContact-body")
general.$("div", id:startsWith("container-"), "data-ref":"targetEl").find("a")[2].click()
}
}
sleep 4000
expect:
true
}
def 'Trade Relationships'(){
Browser.drive() {
withFrame(config.frame.display) {
log.debug "Press Trade Relationships"
$("div", id: startsWith("tabbar-"), "data-ref": "targetEl").find("a")[2].click()
sleep 2000
//press Add
def general = $("div", id:"accountSetupTradeRelationships-body")
general.$("a", title:"Add").click()
65
//
sleep 1000
//Close Addd
def tab = $("div", id:"addTradeRelationshipPopup-body")
tab.$("div", id:startsWith("container-"), "data-ref":"targetEl").find("a")[0].click()
//close Add
general = $("div", id:"addTradeRelationshipPopup-body")
general.$("div", id:startsWith("toolbar-"), "data-ref":"targetEl").find("a")[1].click()
}
}
sleep 3000
expect:
true
}
def 'Tasks'(){
Browser.drive(){
withFrame(config.frame.display){
log.debug "Press Tasks(1)"
$("div", id: startsWith("tabbar-"), "data-ref":"targetEl").find("a")[3].click()
sleep 2000
//Click ComboBox
def generalTab = $("div", id:"accountTasks-body")
generalTab.$("input", value:"My Tasks").click()
def explicit = generalTab.$("div", id:startsWith("basesearch-"), "data-ref":"targetEl")
//Click Select ComboBox
explicit.$("input", value:"--Select--").click()
sleep 1000
//CLick Input
explicit.$("input",role:"textbox").click()
sleep 1000
//Click Search
explicit.find("a")[0].click()
sleep 1000
//Click Close
explicit.find("a")[1].click()
sleep 1000
}
}
sleep 3000
expect:
true
}
def 'Notes'(){
Browser.drive() {
withFrame(config.frame.display) {
log.debug "Press Notes"
$("div", id: startsWith("tabbar-"), "data-ref": "targetEl").find("a")[4].click()
def generalTab = $("div", id:"accountNotes-body")
def explicit = generalTab.$("div", id:startsWith("basesearch-"), "data-ref":"targetEl")
//Click Select ComboBox
explicit.$("input", value:"--Select--").click()
sleep 1000
//CLick Input
explicit.$("input",role:"textbox").click()
sleep 1000
//Click Search
explicit.find("a")[0].click()
sleep 1000
//Click Close
explicit.find("a")[1].click()
sleep 1000
sleep 2000
66
}
}
expect:
true
}
def 'Transmission'(){
Browser.drive(){
withFrame(config.frame.display){
log.debug "Press Transmission"
$("div", id: startsWith("tabbar-"), "data-ref": "targetEl").find("a")[5].click()
//Click ComboBox
def generalTab = $("div", id:"accountTransmissions-body")
generalTab.$("input", value:"All").click()
def explicit = generalTab.$("div", id:startsWith("basesearch-"), "data-ref":"targetEl")
//Click Select ComboBox
explicit.$("input", value:"--Select--").click()
sleep 1000
//CLick Input
explicit.$("input",role:"textbox").click()
sleep 1000
//Click Search
explicit.find("a")[0].click()
sleep 1000
//Click Close
explicit.find("a")[1].click()
sleep 1000
}
}
expect:
true
}
def 'Policy Units'(){
Browser.drive(){
withFrame(config.frame.display){
log.debug "Press PolicyUnits"
$("div", id: startsWith("tabbar-"), "data-ref": "targetEl").find("a")[6].click()
def generalTab = $("div", id:"accountPolicyUnits-body")
def explicit = generalTab.$("div", id:startsWith("basesearch-"), "data-ref":"targetEl")
//Click Select ComboBox
explicit.$("input", value:"--Select--").click()
sleep 1000
//CLick Input
explicit.$("input",role:"textbox").click()
sleep 1000
//Click Search
explicit.find("a")[0].click()
//Click Close
explicit.find("a")[1].click()
}
}
expect:
true
}
def 'History'(){
Browser.drive(){
withFrame(config.frame.display) {
log.debug "History"
$("div", id: startsWith("tabbar-"), "data-ref": "targetEl").find("a")[7].click()
def generalTab = $("div", id: "accountHistoryEvents-body")
def explicit = generalTab.$("div", id: startsWith("basesearch-"), "data-ref": "targetEl")
67
68
Bibliografie
Surse internet:
1. https://controlultehnic.wordpress.com/2011/10/27/ce-este-un-testcase/
2. http://istqbexamcertification.com/what-is-fundamental-test-process-in-softwaretesting/
3. http://www.academia.edu/7336420/TEHNICI_DE_TESTARE_SOFTWARE_Banu_
Alexandru_Grupa_441A_Cuprins_Definitie_Testare_Software_1_Generalitati_1
4. http://tir.ipsitransactions.org/2009/January/Paper%2006.pdf
5. http://www.tricentis.com/solutions/testing-with-selenium/
6. https://www.packtpub.com/sites/default/files/downloads/Testingwithgroovy.pdf
7. http://www.softwaretestinghelp.com/bvt-build-verification-testing-process/
8. http://incepator.pinzaru.ro/abc/interfata-cu-utilizatoru/
9. http://www.testare-software.ase.ro/toc/cost_testare.html
Surse bibliografice:
I.
Managementul
calitii
tehnologiilor
sistemelor
69
nluzii
n realizarea sistemului informatic de succes este necesar depunerea unui efort i timp
considerabil. ntru rlizr unui subsistm infrmti r s rsund l rinl
bnfiirului, st nvi d unt ndr mnismul d funinr sistmului,
iruitul infrmii, rsl r u l rursul tivitii. Studierea, analiza i testarea
sistemului este destul de important pentru realizarea funcional a acestuia.
Este important de menionat c testarea automat reprezint cea mai bun soluie n cazul n care
procesul de testare a aplicaiei devine ineficient i cheltuielile pentru fixarea defectelor scad
considerabil profitul companiei n urma implementrii acestui produs n lumea real.
L nut nd s- us srin rlizrii stui sistm, s-u stbilit bitivl r
trbui s l ndlins lii nstruit. bitivl u fst ndlinit u sus. n l
st mmnt s-au analizat mdull r constituie lii d tstr finl.
Mdull r sunt rznt ndlins dlin sul rus ntru fir n rt i sunt
imlmntt dirt ntru ndlinir rslr r l utmtizz.
Sul proiectului de testare st d jut hi n ntrg rsul d tstr, de
idntifi sibill rblme, d f rgrsi ntr-un ritm lrt i r s nu imli
mult rsurs.
70
DNTR
71