Documente Academic
Documente Profesional
Documente Cultură
VII Testarea Aplicatiilor Web
VII Testarea Aplicatiilor Web
Aplicatiile web sunt expuse unor noi provocari privind asigurarea calitatii si
testarea. Aplicatiile web sunt compuse din diverse componente software oferite în
anumite cazuri de anumiti producatori. Calitatea aplicatiilor web este în principal
determinata de calitatea fiecarei componente software implicate si de calitatea
legaturilor dintre acestea. Testarea este una din cele mai importante instrumente
folosite în dezvoltarea aplicatiilor web pentru realizarea produselor de înalta calitate,
care îndeplinesc asteptarile utilizatorilor.
Putem spune ca o eroare este prezenta în cazul în care rezultatul actual dintr-
un test nu este în conformitate cu rezultat asteptat. Rezultatul asteptat este specificat,
de exemplu, în definirea cerintelor. Aceasta înseamna ca fiecare abatere de la
definirea cerintelor este o eroare; în termeni mai generali, o eroare este "diferenta între
valoarea sau conditia calculata, observata sau masurata si valoarea corecta sau
conditia adevarata, specificata sau teoretic corecta" (standard IEEE 610.12-1990).
În acest moment, partile interesate au asteptari diferite, iar unele dintre acestea
pot fi concurente si neclare. Din acest motiv, asteptarile partilor interesate nu vor fi un
reper util pentru a decide daca un rezultat este eronat, cu exceptia cazului în care un
set de asteptari au fost atinse si au fost puse la dispozitie în forma testabila. Pentru a
sprijini testerii în a avea o perspectiva a utilizatorilor si de a întelege mai bine
asteptarile utilizatorilor, acestia ar trebui sa fie implicati cât mai devreme posibil în
identificarea si definirea cerintelor.
Un test rulat are succes daca sunt detectate erori și daca sunt obținute
informatii suplimentare despre problemele si starea aplicației. Testele nereusite, cum
ar fi, testele în care nu sunt gasite erori, sunt "o pierdere de timp". Acest lucru este
valabil mai ales în dezvoltarea aplicatiilor web, în care testarea este în mod necesar
limitata la un minim, datorita resurselor limitate si presiunii de timp extreme în care se
dezvolta aplicatiile Web. Aceasta situatie necesita, de asemenea, descoperirea
erorilor grave cât mai devreme posibil pentru a evita investitiile inutile cum ar fi
costurile de gasire si eliminare a erorilor care cresc dramatic în fiecare etapa de
dezvoltare. Erorile care au aparut în fazele timpurii de dezvoltare sunt greu de localizat
în etapele ulterioare, si eliminarea lor cauzeaza, în mod normal, modificari ample si
necesitatea de a rezolva erorile ulterioare. Prin urmare, testare trebuie începuta cât
mai devreme posibil, preferabil la începutul unui proiect.
. testarea unitaților: testarea celor mai mici unitati testabile (clase, pagini web,
etc), independent una de alta. Unitatea de testare este obținuta de dezvoltator, pe
parcursul implementarii.
Pentru a gasi cât mai multe erori posibile testerii trebuie sa aiba o atitudine
"distructiva" fata de testare. O astfel de atitudine este dificila pentru un dezvoltator
care lucreaza la un modul software. Aceeasi perspectiva de abordare face deseori ca
dezvoltatorii sa realizeze aceleasi greseli si neîntelegeri pe perioada de testare,
greseli care au condus la erori pe perioada implementarii. Din acest motiv, (Myers
1979) sugereaza ca dezvoltatorii sa nu testeze propriile produse.
. erorile din "continut" pot fi deseori gasite doar prin masuri costisitoare sau
organizationale (de exemplu, prin corectarea greselilor). Formularele simple de
verificare automata (de exemplu, un corector ortografic) sunt foarte valoroase, dar
sunt limitate la o paleta redusa de depistare a potentialelor defecte. Meta-informatiile
despre structurarea si semantica continutului sau despre un sistem de referinta care
furnizeaza valori comparative, sunt deseori o conditie prealabila pentru a putea
efectua testele de profunzime. Daca aceste premise nu sunt disponibile, trebuie gasite
alte abordari. De exemplu, daca apar schimbari frecvente privind modificarea datelor
legate de cantitatea de zapada dintr-un sistem de informare turistica, acestea nu pot
fi testate cu acuratete prin intermediul meta-informatiilor sau valorilor comparative, si,
în consecinta, valabilitate datelor poate fi restrictionata euristic la doua zile pentru a
se asigura actualitatea datelor.
. când testam structura hipertext, trebuie sa ne asiguram ca paginile sunt legate
în mod corect (de exemplu, fiecare pagina trebuie sa fie accesibile printr-o legatura si,
la rândul sau, ar trebui sa aiba o legatura înapoi la structura hipertext). În plus, toate
legaturile trebuie sa duca la pagini existente, adica, nu trebuie sa fie "întrerupte".
Legaturile nefunctionale sunt erori frecvente atunci când legaturile statice predefinite
devin invalide (de exemplu, atunci când se face referire la o pagina web externa, care
a fost eliminata sau s-a schimbat structura acesteia). O alta sursa de erori este
navigarea prin intermediul functiilor browser-ului web (de exemplu, "Înapoi în Istoric",
în asociere cu starile în care o aplicatie web poate fi). Un exemplu tipic întâlnit este:
daca un utilizator adauga un articol în cosul de cumparaturi virtual în timp ce realizeaza
cumparaturi online, atunci acest articol va ramâne în cosul de cumparaturi, chiar daca
utilizatorul se duce cu un pas înapoi în istoricul browser-ului, afisând pagina anterioara
fara acel articol.