LUCRARE DE DISERTAIE Testarea aplicaiilor WEB. Proiectare teste execuie/ teste raportare Prezentat ca cerin parial pentru oinerea titlului de Master !n domeniul Automatic i calculatoare "programul de studiiSisteme de control ncorporate Conductor #tiini$ic% Asolvent% Con$& 'r& Ing& Gariela (arvara )!rghie A& *lena Alina Iunie 2014 0 Cuprins Introducere................................................................................................................. 2 I& Aspecte speci$ice de testare a aplica iilor +e ...................................................................3 ,&, Terminologie%......................................................................................................... 5 ,&- Teste speci$ice aplica iilor +e .................................................................................... 6 ,&.& Tehnici speci$ice..................................................................................................... 8 ,&/ inta oiectului vizat !n testare .................................................................................. 16 -& Acoperirea testrii 0 C1nd consideri c ai testat su$icient2..................................................18 .& Proiectarea cazurilor de testare 0 )tudiu de caz................................................................21 /& Automatizarea e3ecuiei test case4urilor......................................................................21 5& 6oguri& 7aportri.................................................................................................. 21 8& Concluzii........................................................................................................... 21 7e$erin e ............................................................................................................... 22 9iliogra$ie%........................................................................................................... 22 1 Introducere )copul acestei lucrri !l constituie e3punerea tehnicilor $olosite !n testarea plat$ormelor online care comercializeaz poli e de asigurare pentru diverse vehicule pe pia a din :area 9ritanie& Plat$ormele au la az livrarea clien ilor unor site4uri de compara ie; numite deseori site4 uri de comparare a pre urilor& )ite4ul de compara ie , este un motor de cutare pe vertical; care permite utilizatorilor s $iltreze i s compare produse pe az de pre ; caracteristici; i alte criterii& <n cazul asigurrilor de poli e; site4urile de compara ie colaoreaz cu diver i parteneri =!n cazul nostru; agen i de pulicitate sau ro>eri? pentru a o$eri utilizatorilor o gam variat de rspunsuri& )ite4urile de compara ie dezvoltate au ca int utilizatorii care de in vehicule precum% motociclete; $urgonete; rulote; ma ini& :odul de livrare al produselor are drept scop o inerea unui site u or de utilizat; o$erind in$orma ii clare cu privire la raportrile de pl1ngeri" nemul umiri adresate site4ului; precum i procedurile de manipulare a acestor pl1ngeri& Comanda poli ei de asigurare se $ace pe Internet; poten ialul utilizator intr pe site; completeaz datele oligatorii din $ormular=date personale; in$orma ii re$eritoare la accidente; detaliile vehiculului; etc?; iar la s$1r itul $ormularului sunt a$i ate rezultatele poli elor de asigurare o$erite de partenerii colaoratori& 1 http%""en&@i>ipedia&org"@i>i"ComparisonAshoppingA@esite 2 I. Aspecte specifice de testare a aplica iilor e! Aplica iile e! se caracterizeaz prin particularit i care se di$eren iaz de alte aplica ii so$t@are& Aceste particularit i a$ecteaz testarea !n mai multe moduri; ceea ce se poate dovedi a $i mult mai di$icil decat testarea aplica iilor oi nuite& :etodele si tehnicile de testare tradi ionale se concentreaz !n principal pe testarea cerin elor $unc ionale& 'in pcate; acestea nu se concentreaz su$icient pe cerin ele de calitate importante pentru utilizatorii de aplica ii +e; cum ar $i per$orman a; u urin a !n $olosire; $iailitatea i securitatea& B provocare maCor !n testarea aplica iilor +e este dominanta schimrii& Cerin ele utilizatorilor i a teptrile; plat$ormele i con$igura iile; modelele de a$aceri; dezvoltarea i testarea ugetelor sunt suiecte supuse unor modi$icri $recvente pe tot parcursul ciclului de via al aplica iilor +e& Prin urmare; este necesar dezvoltarea unui sistem e$icient de testare care s acopere o gam larg de caracteristici de calitate ale aplica iilor +e; care s $ac $a la schimri i care s aCute la implementarea i una !n elegere a unei testri sistematice; complete i lipsit de riscuri& B ast$el de schema de test $ormeaz aza pentru construirea unei metode model i a instrumentelor a$erente& *3perien a practic a demonstrat ca testarea metodic i sistematic $undamentat pe o ast$el de schem este realizail i util pe tot parcursul dezvoltrii i evolu iei aplica iilor +e& Acest capitol prezint principalele di$eren e dintre aplica iile +e i cele tradi ionale; i modul !n care aceste di$eren e au impact asupra testrii aplica iilor +e& <n ultimul deceniu; odat cu rsp1ndirea larg a internetului; s4a !nregistrat o cre tere a cererii de pia pentru site4urile i aplica iile +e& Acestea s4au dezvoltat pe o plat$orm de comunicare de az pentru multe companii& Aplica iile +e reprezint o importan capital pentru comer ; schimul de in$orma ii i pentru gzduirea activit ilor sociale& 'in acest motiv; aplica iile +e treuie s o$ere o !nalt per$orman ; $iailitate i o mare u urin !n $olosire& 'in pcate; din cauza presiunii i a timpului scurt de lansare pe pia ; testarea aplica iilor +e este de cele mai multe ori negliCat de ctre dezvoltatori; deoarece este considerat a $i consumatoare de timp i lipsit de un c1 tig semni$icativ - & B inversare a acestei tendin e poate $i o inut dac modelele; metodele; tehnicile i instrumentele de testare urmeaz s $ie realizate !ntr4un mod e$icient; rentail i disponiil& 'e i testarea aplica iilor +e distriuie oiective comune testrii aplica iilor tradi ionale; e3ist unele di$eren e esen iale !ntre testarea unui sistem so$t@are tradi ional i testarea unei aplica ii +e% de i se aplic cerin e similare la corectitudinea tehnic a unei aplica ii; utilizarea unei aplica ii +e de ctre grupuri eterogene de utilizatori; pe un numr mare 2 Darrold :E; Gupta 7; )o$$a :6 =,FF.? A :ethodologG $or Controlling the )ize o$ a Test )uite& AC: Transactions on )o$t@are *ngineering and :ethodologG; -=.?%-HI4-J5 3 de plat$orme; duce la cerin e speciale de testare& 'eseori este greu de anticipat numrul viitor de utilizatori pentru o aplica ie +e& Timpul de rspuns este unul din $actorii de succes decisivi pe Internet i treuie s $ie avut !n vedere din timp; chiar dac plat$orma hard@are $inal este; !n general; disponiil mult mai t1rziu& B aplica ie +e poate $i considerat ca un sistem distriuit; o arhitectura client4server sau una cu mai multe nivele; care prezint urmtoarele caracteristici% Acesta poate $i accesat simultan de ctre un numr mare de utilizatori oriunde !n lume& 7uleaz pe medii de execu ie eterogene ; comple3e; alctuit din di$erite componente hard@are; cone3iuni de internet; sisteme de operare; servere i ro@sere +e& Are un caracter e3trem de eterogen; care depinde de o mare varietate de componente so$t@are& Aceste componente pot $i construite prin di$erite tehnologii =de e3emplu% di$erite limaCe de programare i modele?; i pot $i de natur di$erit =de e3emplu% noi componente generate de la zero; unele mo tenite; CBT) . ; etc& *ste capail s genereze componente software n timpul rulrii !n $unc ie de datele introduse de utilizator i starea serverului& Fiecare aspect descris !n lista precedent genereaz noi provocri i perspective !n testare& 'e e3emplu; solu ii e$iciente precum e3ecutarea per$orman ei i disponiilitatea testrii treuie identi$icate pentru a veri$ica comportamentul aplica iilor +e atunci c1nd este accesat de un numr mare de utilizatori& :ai mult; a a cum utilizatorii pot utiliza ro@sere cu di$erite capacit i de redare de con inut; aplica iile +e treuie testate pentru a ne asigura c au comportamentul dorit; $olosind di$erite ro@sere; sisteme de operare; iar middle@are4ul / s $ie cel a teptat&B alt caracteristic important a unei aplica ii +e care treuie testat se re$er la securitatea i capacitatea de a $i proteCate datele !mpotriva accesului neautorizat& 'i$eritele tehnologii utilizate la implementarea aplica iilor +e in$luen eaz comple3itatea i costurile de realizare a unui mediu de testare; necesar veri$icrii $iecrei componente& <n plus; mecanismele variate $olosite la integrarea componentelor distriuite produc diverse nivele de cuplare a $lu3ului de date dintre componente; av1nd impact asupra costului unei testrii e$iciente& <n ceea ce prive te e3isten a componentelor so$t@are generate dinamic; prolema este de a $ace $a di$icult ii de a genera i e3ecuta acelea i condi ii care au produs $iecare component& 3 CBT) 0 Prescurtarea de la Commercial o$$4the4shel$; adCectiv care descrie produsul so$t@are sau hard@are; disponiil la vanzare pulicului larg& 'e e3emplu; :icroso$t B$$ice este un produs CBT); care este o solu ie so$t@are disponiila pentru !ntreprinderi& Produsele CBT) sunt proiectate pentru a $i utilizate cu u urin !n sistemele e3istente $r a $i nevoie de personalizare& 4 :iddle@are 0 laGer intermediar; $aciliteaz comunicarea dintre dou aplica ii 4 <n cele din urm; testarea aplica iilor +e; treuie s ia !n considerare prolemele re$eritoare la $unc ionalitatea aplica iei; pentru a veri$ica comportamentul aplica iei !n con$ormitate cu cerin ele $unc ionale speci$icate de ctre client& 1.1 Ter"inolo#ie$ Testarea este procesul de e3ercitare e$ectuat pentru a evalua calitatea unui produs; av1nd scopul de a o !munt i prin identi$icarea prolemelor i de$ectelor& 'ac rulm un program cu inten ia de a gsi erori; atunci vorim de no iunea de testare& Testarea $ace parte din msurile de asigurare a calit ii analitice& Prin descoperirea erorilor e3istente este determinat calitatea programului testat; !n vederea !munt irii calit ii; acest lucru realiz1ndu4se de cele mai multe ori doar prin eliminarea erorilor gsite& Testarea aplica iilor +e; tehnic de testare so$t@are adoptat e3clusiv pentru a testa aplica iile care sunt gzduite pe @e; !n care inter$e ele aplica iei i alte $unc ionalit i sunt testate& Putem vori de o eroare !n cazul !n care rezultatul actual dintr4un test nu este !n con$ormitate cu rezultatul a teptat; acesta $iind speci$icat !n de$inirea cerin elor& Prin urmare; $iecare aatere de la de$inirea cerin elor este o eroareK !n termeni mai generali; o eroare este Ldi$eren a !ntre valoarea sau condi ia calculat; oservat sau msurat i valoarea corect sau condi ia adevarat; speci$icat sau teoretic corectL 5 & Un $enomen des !nt1lnit !n dezvoltarea aplica iilor +e este c cerin ele sunt deseori incomplete; neclare i reprezint suiectul unor schimri $recvente& 'e oicei; e3ist o viziune initial privind $unc ionalitatea de az; care este implementat !n $aza ini ial de lansare& Ca urmare; dezvoltarea ciclului ini ial de via este urmat de mici cicluri de $unctionalit i adugate& Aordrile Agile =cum ar $i *3treme Programming? 8 se concentreaz pe natura evolutiv i repetitiv a dezvoltrii ciclului de via $r a apela la o de$inire e3tins a cerin elor& Biectivele; preocuprile i a teptrile pr ilor interesate treuie s constituie aza testrii& Fiecare aatere de la valoarea a teptat !n mod $iresc de ctre utilizatori este; de asemenea; considerat o eroare& C1nd discutam despre un test ne vom re$eri la un set de cazuri de testare pentru un anumit oiect testat =de e3emplu; o aplica ie @e; componentele unei aplica ii +e sau un sistem care ruleaz o aplica ie +e?& Un singur caz de test descrie un set de intrri; condi iile de e3ecu ie; 5 standard I*** 8,I&,-4,FFI 6 http%""en&@i>ipedia&org"@i>i"*3tremeAprogramming 5 precum i rezultatele a teptate; care sunt utilizate pentru a testa un anumit aspect al oiectului testat H & 1.2 Teste specifice aplica iilor e! Testarea aplica iilor @e este di$erit de testarea produselor so$t@are tradi ionale; lucru datorat caracteristicilor speci$ice aplica iilor @e% erorile din Lcon inutL pot $i deseori gsite doar prin msuri costisitoare sau organiza ionale =de e3emplu; prin corectarea gre elilor?& Formularele simple de veri$icare automat =de e3emplu; un corector ortogra$ic? sunt $oarte valoroase; dar sunt limitate la o palet redus de depistare a poten ialelor de$ecte& Meta-informa iile privind structurarea i semantica con inutului sau un sistem de re$erin care $urnizeaz valori comparative; sunt deseori o condi ie prealail pentru a putea e$ectua testele de pro$unzime& 'ac aceste premise nu sunt disponiile; treuie gsite alte aordri& c1nd testm structura hipertext; treuie s ne asigurm c paginile sunt legate !n mod corect =de e3emplu; $iecare pagin treuie sa $ie accesiil printr4o legatur i; la r1ndul su; ar treui s ai o legtur !napoi la structura hiperte3t?& <n plus; toate legturile treuie s duc la pagini e3istente; adic; nu treuie sa $ie L!ntrerupteL& 6egturile ne$unc ionale sunt erori $recvente atunci c1nd legturile statice prede$inite devin invalide =de e3emplu; atunci c1nd se $ace re$erire la o pagina @e e3tern; care a $ost eliminat sau s4a schimat structura acesteia?& B alt surs de erori este navigarea prin intermediul $unc iilor ro@ser4ului @e =de e3emplu; L<napoi !n IstoricL; !n asociere cu strile !n care o aplica ie +e poate $i?& Un e3emplu tipic !nt1lnit este% dac un utilizator adaug un articol !n co ul de cumprturi virtual !n timp ce realizeaz cumprturi online; atunci acest articol va rm1ne !n co ul de cumprturi; chiar dac utilizatorul se duce cu un pas !napoi !n istoricul ro@ser4ului; a$i 1nd pagina anterioar $r acel articol& cerin ele soft ; suiective de pe nivelul prezentare al aplica iilor @e =de e3emplu; LesteticaL?; sunt di$icil de speci$icat& Cu toate acestea; ele sunt o condi ie prealail esen ial pentru un tester pentru a putea distinge !n mod clar i oiectiv comportamentul acceptail la de$ectele de comportament& :ai mult; doar c1teva metode i tehnici tradi ionale pentru testarea so$t@are4ul sunt adecvate pentru testarea prezentrii& Pentru a testa o prezentare; treuie s $ie utilizate metode din alte discipline =de e3emplu; pulicistica tiparit i msurile organiza ionale?; !n aceea i masur cu asigurarea calit ii con inutului& distribuirea multi-platform% numrul mare de dispozitive si caracteristicile di$erite de per$orman reprezint o alt provocare& Chiar dac un tester dispune de toate dispozitivele 7 standard I*** 8,I&,-4,FFI 6 posiile; acesta ar treui sa ruleze cazurile de test pentru $iecare dispozitiv& 'esi simulatoarele pentru dispozitive pot $i de aCutor daca tester4ul nu dispune de dispozitivul $izic; ele !nsele prezint !n maCoritatea cazurilor de$ecte& Multilingvismul: datorit disponiilit ii i utilizrii gloale ale aplica iilor @e; e3ist o serie de provocri i u urin a !n $olosire !n testarea aplica iilor @e& Provocarea principal este de a recunoa te interdependen ele culturale i le ia !n considerare !n mod adecvat de test& 'e e3emplu; ordinea de citire !n di$erite culturi =de e3emplu% araa; chineza? implic $olosirea de aCutoare de navigare laterale !n $ereastra ro@ser4ului& B alt di$icultate provine din lungimea di$erit a mesaCelor de tip te3t !n limi di$erite; care poate determina proleme !n afi area layout-ului Ltinere eaL i Lmulti4disciplinaritateaL echipelor sunt adesea legate de slaa acceptare a metodologiilor i de nepromptitudinea !n e$ectuarea testrii& 'eseori; treuie acumulate pe parcurs cuno tin e despre metodele; tehnologiile i instrumentele necesare pentru realizarea testrii& 'e asemenea sunt necesare puncte de vedere di$erite cu privire la testare& Mumai o echipa $ormat din memri cu e3perienta vor aCunge la o decizie corect despre volumul testrii 4 prea mult testare poate $i la $el de neproductiv ca cea insu$icient& Testerii sunt deseori tenta i sa testeze tot !n !ntregime; mai ales la !nceput& aplica iile @e constau dintr4un numr de diferite componente software =de e3emplu% servere @e; aze de date; middle@are? i sisteme integrate =de e3emplu% sisteme *7P; sisteme de management al con inutului?; care sunt o$erite de di$eri i $urnizori; i implementate cu aCutorul unor tehnologii& Aceste componente $ormeaz infrastructura tehnic a aplica iilor !eb& Calitatea unei aplica ii +e este !n principal determinat de calitatea tuturor componentelor so$t@are singulare i de calitatea inter$e ei dintre ele& Aceasta !nseamn c; pe l1ng componentele dezvoltate !ntr4un proiect; va treui s testm componentele so$t@are $urnizate de pr i ter e; dar i integrarea i con$igurarea acestor componente& :ulte erori !n aplica iile @e rezult din LimaturitateaL unei componente so$t@are; LincompatiilitateaL !ntre componentele so$t@are; sau de$ecte de con$igurare a componentelor so$t@are corecte& "imaturitatea" multor metode i instrumente de testare reprezint provocri suplimentare pentru testeri& 'ac o aplica ie +e este implementat cu o tehnologie nou; de cele mai multe ori nu e3ist !nc metode i instrumente de testare adecvate& 'ac instrumentele de testare devin disponiile; multe dintre ele sunt imature; prezint de$ecte i sunt di$icil de utilizat& "dominanta schimbrii" $ace ca testarea aplica iilor +e s $ie mai comple3 dec1t testarea so$t@are4ului tradi ional& Cerin ele i a teptrile utilizatorilor; plat$ormele; sistemele de operare; tehnologiile i con$igura iile la Internet; modelele de a$aceri i a teptrile clien ilor; dezvoltarea i testarea ugetelor sunt suiectul unor $recvente modi$icri pe tot parcursul 7 ciclului de via al unei aplica ii +e& Adaptarea la cerin ele noi sau modi$icate este di$icil pentru c $unc ionalitatea e3istent treuie s $ie reanalizat; ori de c1te ori se $ace o schimare& Aceasta !nseamn c un singur $ragment de $unctionalitate treuie sa $ie testat de mai multe ori; !n ideea realizrii unor teste automate i repetaile& Acestea pun accentul !n special pe teste de regresie; care veri$ic dac ceea ce s4a lucrat $unctioneaz dup o anumit schimare& Upgrade4urile i migrarea aplica iilor +e; determinate de schimrile permanente ale plat$ormelor; sistemelor de operare sau hard@are4ului; treuie s ruleze i s dovedeasc c sunt un succes !n mediul de test; pentru a ne asigura c nu vor $i proleme nea teptate !n mediul de produc ie& 1.%. Te&nici specifice I& Testarea func ional' Presupune testarea paginilor +e pentru o un $unc ionare; $ormatare; veri$icarea coo>ie4urilor J N,O; precum i validarea datelor& *ste ideal pentru !ndeplinirea testelor de regresie; testelor de integrare i smo>e testing& a #erificarea lin$-urilor i& Testarea lin>4urilor care provin din pagini e3terne& ii& Testarea lin>4urilor de pe pagina +e pentru o $unc ionare optim& iii& Testarea lin>4urilor dintr4un email iv& Identi$icarea paginilor or$ane 0 pagini care nu sunt direc ionate ctre alte pagini b %estarea form-urilor de pe o pagin !eb i& (eri$icarea logicii de validare a $iecrui c1mp ii& (eri$icarea valorilor implicite pentru $iecare c1mp iii& (eri$icarea c1mpurilor criptate cu parol pentru a nu a$i a con inutul acesteia iv& Testri negative cu intrri invalide pentru $iecare c1mp v& (alidarea de trimitere a $ormularului c %estarea managementului sesiunii i a coo$ie-urilor i& (eri$icarea sesiunii de logare !n aplica ie activ1nd i dezactiv1nd coo>ie4urile ii& Folosirea testrii negative a coo>ie4urilor utiliz1nd un domeniu gre it iii& 7estartarea sesiunii de coo>ie !ntre sesiunile de ro@ser iv& (eri$icarea securit ii aplica iei prin tergerea selectiv de coo>ie4 uri !n timpul rulrii unui test d #alidarea tagurilor &SS'&ascading Style Sheet( 8 Un coo(ie )TT* sau un "odul coo(ie este un te3t special; deseori codi$icat; trimis de un server unui navigator @e i apoi trimis !napoi =nemodi$icat? de ctre navigator; de $iecare dat c1nd acceseaz acel server& Coo>ie4urile sunt $olosite pentru autenti$icare precum i pentru urmrirea comportamentului utilizatorilorK aplica ii tipice sunt re inerea pre$erin elor utilizatorilor i implementarea sistemului de Pco de cumprturi&N,O 8 i& Identi$icarea tag4urilor C)) care returneaza statusul /I/ sau alte erori de C)) ii& Identi$icarea atriutelor DT:6 F % id; class i name; care nu se potrivesc cu tagurile C)) e #alidarea tagurilor )avaScript i& Identi$icarea tagurilor )cript care returneaz statusul /I/ sau alte erori ii& Identi$icarea atriutelor )cript% id; class i name; care nu se potrivesc cu tagurile )cript f %estarea con inutului dinamic'cunoscut sub numele de testare bazei de date( i& (eri$icarea consisten ei datelor !n aza de date a aplica iilor +e ce con in $ormulare ii& (eri$icarea tas>4urilor de creare; editare; stergere; actualizare; =C7U' ,I ? iii& (eri$icarea datelor recuperate dac $urnizeaz in$orma ii corecte iv& Identi$icarea conectivit ii azei de date i a erorilor de interogare II. Testarea co"pati!ilit' ii +ntre !ro,sere Testele de compatiilitate se e$ectueaz pentru a determina dac o aplica ie ruleaz !n con$ormitate cu mediul $unc ional ce are diverse comina ii de hard@are i so$t@are& <n cazul aplica iilor +e; testarea de compatiilitate treuie s descopere proleme cauzate de utilizarea di$erit de servere sau ro@sere; cu versiunile i con$igura iile corespunztoare& 'i$eren ele dintre ro@sere; mediile de operare i dispozitivele hard@are au un impact maCor asupra $unc ionrii corecte a aplica iei +e& a &ompatibilitatea browser-ului i& Testarea aplica iei +e pentru o un $unc ionare pe mai multe ro@sere; inclusiv Fire$o3; Internet *3plorer; Chrome; Bpera; i )a$ari& <n mod ideal; aplica ia +e ar treui s se ocupe de di$eren ele dintre ro@sere& ii& (eri$icarea $unc ionalit ii aplica iei pentru o varietate de setri de securitate a ro@ser4ului iii& (eri$icarea $unc ionalit ii aplica iei av1nd caracteristicile ro@serului precum; Eava)cript; Coo>ie4urile dezactivate iv& 7edarea ro@serului aplica iei cu inter$a a utilizatorului 9 )-perTe.t /ar(up Lan#ua#e =)T/L? este un limaC de marcare utilizat pentru crearea paginilor @e ce pot $i a$i ate !ntr4un ro@ser =sau navigator?& )copul DT:6 este mai degra prezentarea in$orma iilor 0 paragra$e; $onturi; taele &a&m&d& 0 dec1t descrierea semanticii documentului& N-O 10 CRUD 0 acronim care provine de la Create=Creere?; 7ead=Citire?; Update=Actualizare?; 'elete= tergere?; cele patru activit i e$ectuate pentru e$ectuarea !nregistrrii de date 9 v& (eri$icarea setrilor de securitate a ro@serului !mpotriva accesului neautorizat vi& (eri$icarea $unc ionrii consisten ei pe mai multe versiuni ale unui ro@ser b &ompatibilitatea sistemelor de operare i& (eri$icarea randrii aplica iei pe di$erite sisteme de operare ii& (eri$icarea $unc iilor de integrare; inclusiv ata area si selec ia de $i iere iii& Testarea aplica iei pe di$erite sisteme de operare% +indo@s; Uni3; :ac; 6inu3; i )olaris c &ompatibilitatea dispozitivelor mobile i& (eri$icarea compatiilit ii aplica iei cu di$erite dispozitive; inclusiv serviciile de localizare i apelare ii& (eri$icarea redrii inter$e ei pe di$erite dimesiuni ale dispozitivului moil; inclusiv rotirea ecranului iii& (eri$icarea $unc ionrii corecte a aplica iei atunci c1nd dispozitivul se a$l !n"sau !n a$ara serviciilor de re ea& Tendin a permanent de evolu ie; descoperire i redescoperire a umanit ii se $ace vinovat de apari ia unora dintre cele mai importante inven ii; a celor mai ene$ice tehnici i tehnologii& Tehnicile de realizare a unui site au evoluat !n mod constant; aceast dezvoltare av1nd ca principal oiectiv !munt irea e3perien ei utilizatorului& Ca !n orice alt domeniu; tendi ele de realizare a unui site au menirea de a staili direc ia de dezvoltare i op iunea utilizatorilor; iar respectarea acestora are menirea de a atrage noi vizitatori; poten iali parteneri sau clien i& Printre tendin ele de dezvoltare !nt1lnite pe plat$ormele de compara ie se numr% <n cazul site4urilor de compara ie; testarea de compatiilitate treuie s $ie luat !n calcul datorit $lu3ului mare de utilizatori care $olosesc diverse sisteme de operare; utiliz1nd ro@sere ce au versiuni di$erite& B nou tehnologie aprut a $cut ca munca dezvoltatorilor de aplica ii +e s $ie mai u oar; i anume +e designul receptiv = Responsi0e e! Desi#n?& Un site receptiv nu este un site pentru dispozitive moile dar nici un site pentru des>top; sau un site pentru talete; ci este vora despre o abordare mai flexibil; dispozitiv4agnostic sau care nu este legat de un dispozitiv anume& Cu alte cuvinte site4ul construit nu tie pe ce dispozitiv este a$i at; ci pur i simplu se adapteaz dimensiunilor i rezolu iei oricrui dispozitiv & 10
Fig& ,&-& *3emplu de pagin responsive +e design pentru pagina de landing ,, a unuia dintre site4urile de compara ie Classic Car = http%""@@@&insureaclassiccar&co&u>"cheapest4Quote"? Conceptul de Landin# pa#e sau pagina de destina ie ; este pagina pe care aCung vizitatorii atunci c1nd dau clic> pe reclame; lin>4uri sau alte surse de tra$ic; i unde pot cumpra produsele sau serviciile pe care le o$er un site& Pentru site4urile de compara ie la care colaoratorul este un rand cunoscut; $irme mari de asigurri ritanice precum% Tesco; Autotrader; Asda; Con$used sau :CMcompare; care dispun de capital de mar>eting; e3ist mai multe versiuni de landing page create& Fiecare element al acestei pagini este $oarte atent construit% &eadline4ul ,- e3istent pe landing page este recomandat s con in ene$iciul produsului"serviciuluiK 11 http%""en&@i>ipedia&org"@i>i"6andingApage 12 http%""en&@i>ipedia&org"@i>i"Deadline 11 integrarea unui uton numit 1call to action 1% 2 =mesaCe ce !i spun vizitatorului ce s $ac; ca de e3emplu% Ruote ,/ ? plasat sus !n pagin; imediat dup head lineK te3tul treuie s $ie $oarte u or de citit i adresat direct vizitatorului; pentru c implic1ndu4l mai mult; cresc ansele ca acesta s $ie convinsK con inutul este concentrat pe o singur o$ert"ac iune pe care vizitatorul o poate $ace& Testarea unui ast$el de design se poate $ace prin trei metode% Folosing e3tensii ale ro@serelor% Chrome; )al$ari; Fire$o3 0 aplica ia +e 'eveloper 0S (ie@ 7esponsive 6aGout Fig& ,&-&, Testarea paginilor responsive $olosind +e 'eveloper Tool Testele paginilor create cu acest concept se realizeaz pe di$erite device4uri precum% tele$oane moile =av1nd ca sistem de operare IB); Android?; talete =Ipad?& B alt metod de a testa paginile receptive este aceea de a minimiza" ma3imiza $ereastra ro@serului ast$el !nc1t s se modi$ice con inutul paginii& B alt tehnologie !n curs de dezvoltare pe plat$ormele de compara ie se re$er la crearea e$ectului de dinamic pe vertical; numit *aralla. Scrollin#; prin suprapunerea mai multor elemente ce se deplaseaz cu viteze di$erite& Aceast tehnic permite schimarea gra$icii sau pornirea anima iei !n momentul !n care se $ace scroll pe pagin& Cea mai important $unc ie este cea de creare a e$ectului @o@ a site4ului; o$erindu4i un design comercial; surprinztor; menit s capteze aten ia& Pentru vizualizarea unei ast$el de pagini pute i accesa urmtorul lin>% http%""dev&sdp4@e&com"paralla3" =user%visiilitG" pass% techdec>5& Fig& ,&-&. *3emplu de pagina care are implementatN tehnica paralla3 scrolling 13 http%""en&@i>ipedia&org"@i>i"CallAtoAactionA=mar>eting? 14 Ruote T $ormular !n :area 9ritanie de o inere poli e asigurare 12 <n mod tradi ional; site4urile sunt construite din mai multe imagini; ce pot $i accesate prin lin>4uri de navigare& Tehnica Sin#le *a#e Desi#n utilizeaza Paralla3 scrolling elimin1nd necesitatea ca utilizatorul s navigheze pe mai multe pagini pentru a gsi in$orma ia cutat; $iind un design prietenos care va ma3imiza e3perien a utilizatorului site4ului& inta plat$ormelor de compara ie au drept scop aceast tehnologie& III. Testarea de perfor"an ' Are ca scop msurarea per$orman elor reale ale sistemului; comparate cu cele teoretice& :etrica per$orman elor ce treuie msurate variaz de la aplica ie la aplica ie& Per$orman a poate $i msurat; urmrind% timpul de rspuns; ie irile sistemului; utilizarea resurselor& 'ac msurtorile de per$orman sunt nemul umitoare; atunci se iau msuri pentru !munt ire =rescrierea codului; alocarea mai multor resurse; redesign de sistem; etc?& a %este de ncrcare i& )calailitatea liniar 0 are ca scop veri$icarea sistemului pentru a4 i atinge limitele tehnologice& Un sistem poate $unc iona !ntr4un scenariu cu utilizare limitat; dar nu poate $i e3tins uneori& Timpul de rulare al unui sistem poate cre te e3ponen ial; !n $unc ie de cerin e i poate ceda dup o anumit limit& B aplica ie este scalabil dac o cre tere a !ncrcrii sistemului necesit doar resurse adi ionale; $r modi$icri e3tensive ale aplica iei& 6imitele tehnologice sunt de oicei% ,& 6imitri de stocare a datelor -& 6imitri de and@idth .& 6imitri de vitez 0 CPU 13 ii& (eri$icarea rspunsului serverului la cererile $ormularului de veri$icare a ro@serului iii& Identi$icarea modi$icrilor de per$orman pe o perioad de timp iv& Testarea serviciior care !ncetinesc $unc ionarea la nivele mari de !ncrcare ale utilizatorului v& Identi$icarea prolemelor de laten a re elei asupra aplica iei +e b %este de stress Au ca scop evaluarea i gsirea comportamentului unei componente so$t@are; la limit sau !n a$ara limitelor sale speci$icate tehnic& )istemul este !n mod inten ionat stresat; prin !mpingerea lui dincolo de limitele speci$icate& Testele includ asigurarea de resurse pu ine i testarea pentru incompatiilit i& Testele de stres se asigur c sistemul se comport acceptail !n cele mai rele condi ii& 'ac limitele sunt dep ite i sistemul cedeaz; ar treui s intre un mecanism de revenire & <n testele de stres; treuie urmrit stricarea aplica iei i e3punerea de$ectelor ce pot aprea !n condi ii de stres% coruperea datelor; u$$er over$lo@; alocarea proast a resurselor; deadloc>s; etc& Testele de stres di$er de cele de per$orman i de !ncrcare; deoarece sistemul se a$l ori su; ori peste punctul su ma3im; !n timp ce testare de per$orman i de !ncrcare simuleaz activitatea utilizatorului oi nuit& i& 'eterminarea modului !n care aplica ia rspunde su un nivel ridicat de !ncrcare ii& Identi$icarea por iunilor aplica iei +e care e ueaz iii& Identi$icarea $unc ionalit ii aplica iei dup un accident de sistem sau de$ectarea unei componente& iv& Identi$icarea lin>4urilor i a c!mpurilor de te3t; care $unc ioneaz di$erit la un nivel ridicat de !ncrcare I3. Testarea securit' ii Are scopul de a veri$ica e$icacitatea aprrii aplica iei +e !mpotriva accesului nedorit al utilizatorilor neautoriza i; precum i capacitatea de a conserva resursele sistemului de o utilizare necorespunztoare; plus acordarea utilizatorilor autoriza i accesul la servicii i resurse& )ecurizarea aplica iei treuie s prevad mecanisme de protec ie capaile s evite sau s reduc daunele provocate de intruziuni; av1nd costuri semni$icativ mai mici dec1t daunele cauzate de o paz de securitate& (ulnerailitatea aplica iei care a$ecteaz proteCarea datelor se poate gsi in codul aplica iei; sau !n orice alt component hard@are; so$t@are; sau middle@are& At1t sistemul de operare c1t i aplica ia pot $i responsaile de prolemele de securitate& <n cazul aplica iilor +e; implementrile eterogene i tehnologiile utilizate; !mpreun cu un numr mare de posiili utilizatori cu posiilitatea accesrii de oriunde; $ace ca aplica iile +e 14 s devin mult mai vulneraile dec1t aplica iile tradi ionale iar testarea de securitate mult mai di$icil de !ndeplinit& i& ProteCarea datelor aplica iei +e i men inerea $unc ionalit ii proiectate ii& (eri$icarea $unc ionalit ii url4urilor $r autenti$icare iii& Testarea autenti$icrii de az $olosing nume de utilizator i parol neacreditate iv& (eri$icarea certi$icatelor de securitate U&5IF pe paginile +e securizate v& Identi$icarea de aplica ii +e de !nclcare a securit ii; inclusiv mesaCe de eroare i !ncercri de !nclcare a securit ii $iind autenti$icat vi& Testarea c1mpurilor CAPTCDA pentru $ormulare i autenti$icare vii& Testarea securit ii ro@serului de la cel securizat la pagini nesigure 3. /onitori4area produc iei i& 7ularea periodic a testelor i salvarea Curnalelor de testare !n con$ormitate cu )ervice 6evel Agreement ,5 =)6A? ii& (eri$icarea periodic a utilizatorilor $inali cu aCutorul aplica iei #isibility Stats iii& Furnizarea de metrici cu aCutorul aplica iilor *ew +elic; ,oogle Analytics; M-+eports iv& (eri$icarea $unc ionrii !n diverse loca ii geogra$ice (I& Teste de interopera!ilitate% Comin di$erite elemente ale sistemului !ntr4un singur mediu de testare; pentru a asigura $unc ionarea corect !mpreun& )unt create pentru a asigura c sistemul poate $i interconectat cu alte sisteme i va continua s $unc ioneze corect& 'ou tipuri de teste% de compatiilitG i de ac>@ard compatiilitG& (eri$ic $unc ionarea versiunii actuale a sistemului !n cadrul unei plat$orme mai vechi; precum i men inerea vechilor $unc ionalit i& i %este de navigare ,& (eri$icarea u urin ei de accesarea a paginilor +e -& Testarea $lu3ului aplica iei +e urmrind c1t de repede utilizatorul ! i realizeaz oiectivele .& Func ia de cutare pentru aplica iile corespunztoare ii #erificarea con inutului ,& (eri$icarea aranCrii con inutului ast$el !nc1t s $ie logic i u or pentru utilizator -& (eri$icarea erorilor de ortogra$ie .& (eri$icarea alinierii !n pagin; culori; $onturi; margini /& (eri$icarea imaginior s $ie !ncrcate !n mod corect i la dimensiunea corespunztoare 15 nivelul de calitate a serviciilor 15 1.4 inta o!iectului 0i4at +n testare Formularele Dtml =forms? au $ost introduse pentru realizarea unei mai mari interactivit i cu vizitatorul site4ului +e& Utiliz1nd $ormulare se pot culege mai u or in$orma ii cu privire la vizitator i la pre$erin ele i dorin ele acestuia; in$orma ii ce urmeaz a $i preluate i prelucrate de aplica ii a$late L!n spateleL paginii =aplica iile acestea se numesc; generic; scripturi CGI 4 Common Get@aG Inter$ace i ruleaz pe serverul ce gzduie te pagina +e?& 'e e3emplu; vizitatorul unui site ce o$er spre v1nzare anumite produse va treui sa completeze un $ormular de comanda& )criptul CGI preia datele din $ormular; le prelucreaz =include vizitatorul !n aza de date a clien ilor $irmei; de e3emplu? i creeaz un document de rspuns =document Dtml sau mesaC *4mail prin care clientul este anun at despre recep ionarea comenzii; data limit a onorrii acesteia; e&t&c?& Plat$ormele dezvoltate de ctre $irma The Insurers au ca int utilizatorii care de in vehicule precum% motociclete; $urgonete; rulote; ma ini& :odul de livrare al produselor are drept scop o inerea unui site u or de utilizat de ctre orice v1rst; !ncep1nd cu ,8 pana la JI de ani& 'e asemenea se urmre te ca aplica ia s ai un timp de rspuns mic; s $ie responsive ast$el !nc1t s poat $i $olosit at1t pe noteoo>4uri; c1t i pe talete; moile& Un alt aspect luat in considerare se re$er la per$orman a di$eritelor ro@sere i a versiunilor pe care utilizatorii le $olosesc pe device4urile lor& 'e remarcat $aptul c aplica iile $unc ioneaz av1nd Eava)cript inactiv; ast$el !nc1t cei mai pu in e3perimenta i pot o ine rezultate la cererile lor& 16 2. Acoperirea test'rii 5 C6nd consideri c' ai testat suficient7 Testarea de acoperire msoar !ntr4un mod speci$ic volumul e3ecutat de ctre un set de teste; $olosind tehnici azate pe speci$ica ii& Chiar dac am putea msura lucrurile; i dac am putea hotr! ce anume a $ost testat sau nu; atunci am putea vori de msurarea testrii& Acoperirea testelor descrie cerinele care treuie veri$icate i !n ce stadii ale ciclului de producie& Aceasta deriv din speci$icaiile de design i alte cerine; cum ar $i standardele de siguran& Fiecare cerin va avea una sau mai multe metode de veri$icare corespunztoare& :etodele de testare arat cum se va e3ecuta acoperirea testelor& 'e asemenea; acestea speci$ic echipamentul de testare care va $i $olosit !n per$orman ele testelor; precum i criteriile de trecere a unui test& Analiza de acoperire a codului reprezint procesul de% Gsire a unei zone de program care s nu $ie e3ercitat de ctre un set de cazuri de testare Crearea unor cazuri de testare suplimentare pentru a spori acoperirea; i 'eterminarea unei msuri cantitative de acoperire a codului; care este o msur indirect a calit ii 17 Un aspect op ional de analiz de acoperire a codului reprezint identi$icarea cazurilor de testare redundante care nu sporesc acoperirea& <n cazul site4urilor de compara ie e3ist mai multe nivele de acceptan ; c1nd se poate vori despre acoperirea testrii& 'e e3emplu; !nt1lnim situa ii !n care pentru un anumit site al unui produs =tipul de vehicul pentru care se $ace asigurarea% motociclet; $urgonet; rulot sau ma in? se $ac di$erite modi$icri& Un e3emplu concludent este cel legat de adugarea" eliminarea unei anumite o$erte a$i at pe un site de compara ie& 'e e3emplu site4ul de motociclete are a$i at o o$ert pe $iecare pagin $ormular din site !n partea dreapt despre c1 tigarea unei e3cursii in )pania pentru dou persoane la centrul Adventure 7ider& C1nd e3pir o$erta in vigoare se schim cu alta; !n cazul de $a o o$ert voucher pe un site cu articole sport pentru motocicli ti GetGeared ,8 din :area 9ritanie&
Fig& -&, (echea o$ert !nlocuit cu noua o$ert Testele de acceptan pentru o ast$el de modi$icare presupun urmtoarele test case4uri% Id Titlu *recondi ii Descriere Re4ultatul a teptat Test trecut 8 Test e uat 1. Con inutul te3tului de la !nceputul $iecrei pagini de $ormular Teste treuie $cute pe di$erite ro@sere si sisteme de operare% Fire$o3; Chrome; )a$ari; Internet *3plorer =v& J; F; ,I; ,,? (eri$icarea te3tului pe $iecare pagin de $ormular Te3tul a$i at pe $iecare pagin de $ormular Test trecut 2. Imaginea din partea dreapt a $iecrei pagini Teste treuie $cute pe di$erite ro@sere si sisteme de operare% Fire$o3; Chrome; )a$ari; Internet *3plorer =v& J; F; ,I; ,,? la di$erite dimensiuni ale $erestrei ro@serului (eri$icarea rezolu iei imaginii i a plasrii acesteia !n pagin Moua imagine adugat se gse te la rezolu ia potrivit; !n partea dreapt Test trecut %. Imaginea de $undal de pe pagina de rezultate )coaterea imaginii de $undal de la vechea o$ert i !nlocuirea $undalului cu unul oi nuit Imaginea de $undal treuie s $ie cea oi nuit =cum se speci$ic !n Imaginea de $undal este cea dorit Test trecut 16 http%""@@@&getgeared&co&u>" 18 cerin e? 4. *mail4ul trimis odat cu !ncrcarea a$i rii tuturor rezultatelor con ine voucherul o$erit (eri$icarea taelei )etri din aza de date s con in% Special.ffer.wner Tgetgeared; -sStatic#oucher&ode T $alse i lista noilor coduri dac a $ost adugat Completarea unui $ormular p1n pe pagina de rezultate cu scopul de a primi email de con$irmare care s con in voucherul de ,IV )etrile din aza de date sunt cele speci$icate; iar voucherul trimis !n email4ul de con$irmare este unic Test trecut 6a s$1r itul acestui tip de testare se poate vori de o acoperire destul de mare a testelor& 'up predarea raportului de testare managerului de proiect; acesta ! i d acordul dac site4ul de compara ie va $i actualizat cu noile modi$icri& 19 %. *roiectarea ca4urilor de testare 5 Studiu de ca4 4. Auto"ati4area e.ecu9iei test case:urilor 5. Lo#uri. Raport'ri ;. Conclu4ii 20 Referin e % N,O http%""ro&@i>ipedia&org"@i>i"Coo>ie N-O http%""ro&@i>ipedia&org"@i>i"DGperTe3tA:ar>upA6anguage <i!lio#rafie$ ,& Curs I)TR9 -& http%""@@@&gm&$h4>oeln&de"W@inter"Qm/@e"+e4*ngineeringA:endesACIH+eTest&pd$ .& 21