16
Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 85 AUTOTESTAREA APLICAŢIILOR DE SCROLLING Ion Ivan, Cristian Ciurea, Sorin Vinturis Academia de Studii Economice, Bucureşti [email protected], [email protected], [email protected] Rezumat: Se definesc aplicaţiile de scrolling şi se stabilesc cerinţele de calitate pentru ele. Se prezintă etapele ciclului de realizare a aplicaţiilor de scrolling şi se analizează conţinutul digital existent în cadrul acestor aplicaţii. Aplicaţiile de scrolling sunt proiectate ca aplicaţii informatice orientate spre cetăţean. Se identifică tipurile de erori care apar în procesul de dezvoltare a aplicaţiilor de scrolling şi se descriu cauzele care conduc la apariţia acestora. Se defineşte obiectivul autotestării ca proces de control şi corecţie totală. Se implementează metrici pentru evaluarea efectelor produse de erorile apărute în procesul de dezvoltare şi autotestare a aplicaţiilor de scrolling. Cuvinte cheie: scrolling, autotestare, calitate, procese. Abstract: The scrolling applications are defined and the quality requirements are set for them. The developing stage cycles for scrolling applications are presented and the existing digital content in these applications is analyzed. Scrolling applications are designed as citizen-oriented applications. The error types that appear in the scrolling application development are identified and the causes of their occurrence are described. It is defined the objective of the autotesting as a process of control and total debugging. Are implemented metrics to evaluate the effects of errors arising in the process of development and autotesting of scrolling applications. Keywords: scrolling, autotesting, quality, processes. 1. Aplicaţia de scrolling Dezvoltarea aplicaţiilor de scrolling porneşte de la ideea de a oferi un conţinut, cu ajutorul căruia persoanele ce accesează astfel de aplicaţii să soluţioneze probleme, să atingă obiectivul pentru care au efectuat accesarea. Se consideră o problemă P formată din subproblemele P 1 , P 2 , ..., P n cu P i P j = Ф, i, j = 1..n. Fiecare subproblemă P i are şi o parte concentrată, asociată cu un text TS i de lungime LS i şi un text extenso TE i de lungime LE i cu LE i >> LS i . Se defineşte o formă de prezentare a problemei P, alcătuită din două părţi, prima parte conţinând textele TS 1 , TS 2 , ..., TS n simultan, iar cea de-a doua componentă conţinând textul TE j selectat, ca în figura 1: Figura 1. Formă de prezentare a aplicaţiei de scrolling Structura aplicaţiei din figura 1 include două componente, respectiv A şi B, în cadrul cărora se află conţinutul digital reprezentat de textele TS1, TS2, ..., TSn şi textul TEj selectat. Textul TSi reprezintă rezumatul textului TEj, fără a fi obligatoriu ca TSi să fie inclus în TEj (TSi TEj). Conţinutul digital al aplicaţiei de scrolling din figura 1 este dat de reuniunea conţinuturilor digitale din componentele A şi B, respectiv C = A U B, cu condiţia ca A B Ø. Conţinutul digital se structurează astfel încât traversarea lui să se bazeze pe reguli acceptate, în număr cât mai restrâns. TS 1 TS 2 ... TS j .... TS n A TE j B

AUTOTESTAREA APLICAŢIILOR DE SCROLLING

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 85

AUTOTESTAREA APLICAŢIILOR DE SCROLLING Ion Ivan, Cristian Ciurea, Sorin Vinturis Academia de Studii Economice, Bucureşti

[email protected], [email protected], [email protected]

Rezumat: Se definesc aplicaţiile de scrolling şi se stabilesc cerinţele de calitate pentru ele. Se prezintă etapele ciclului de realizare a aplicaţiilor de scrolling şi se analizează conţinutul digital existent în cadrul acestor aplicaţii. Aplicaţiile de scrolling sunt proiectate ca aplicaţii informatice orientate spre cetăţean. Se identifică tipurile de erori care apar în procesul de dezvoltare a aplicaţiilor de scrolling şi se descriu cauzele care conduc la apariţia acestora. Se defineşte obiectivul autotestării ca proces de control şi corecţie totală. Se implementează metrici pentru evaluarea efectelor produse de erorile apărute în procesul de dezvoltare şi autotestare a aplicaţiilor de scrolling.

Cuvinte cheie: scrolling, autotestare, calitate, procese.

Abstract: The scrolling applications are defined and the quality requirements are set for them. The developing stage cycles for scrolling applications are presented and the existing digital content in these applications is analyzed. Scrolling applications are designed as citizen-oriented applications. The error types that appear in the scrolling application development are identified and the causes of their occurrence are described. It is defined the objective of the autotesting as a process of control and total debugging. Are implemented metrics to evaluate the effects of errors arising in the process of development and autotesting of scrolling applications.

Keywords: scrolling, autotesting, quality, processes.

1. Aplicaţia de scrolling

Dezvoltarea aplicaţiilor de scrolling porneşte de la ideea de a oferi un conţinut, cu ajutorul căruia persoanele ce accesează astfel de aplicaţii să soluţioneze probleme, să atingă obiectivul pentru care au efectuat accesarea.

Se consideră o problemă P formată din subproblemele P1, P2, ..., Pn cu Pi ∩ Pj = Ф, i, j = 1..n. Fiecare subproblemă Pi are şi o parte concentrată, asociată cu un text TSi de lungime LSi şi un text extenso TEi de lungime LEi cu LEi >> LSi.

Se defineşte o formă de prezentare a problemei P, alcătuită din două părţi, prima parte conţinând textele TS1, TS2, ..., TSn simultan, iar cea de-a doua componentă conţinând textul TEj selectat, ca în figura 1:

Figura 1. Formă de prezentare a aplicaţiei de scrolling

Structura aplicaţiei din figura 1 include două componente, respectiv A şi B, în cadrul cărora se află conţinutul digital reprezentat de textele TS1, TS2, ..., TSn şi textul TEj selectat. Textul TSi reprezintă rezumatul textului TEj, fără a fi obligatoriu ca TSi să fie inclus în TEj (TSi⊂ TEj). Conţinutul digital al aplicaţiei de scrolling din figura 1 este dat de reuniunea conţinuturilor digitale din componentele A şi B, respectiv C = A U B, cu condiţia ca A ∩ B ≠ Ø. Conţinutul digital se structurează astfel încât traversarea lui să se bazeze pe reguli acceptate, în număr cât mai restrâns.

TS1 TS2 ... TSj .... TSn A

TEj

B

Page 2: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 86

Aplicaţia de scrolling este oportună atunci când n este suficient de mare, astfel încât TS1, TS2, ... TSn să permită:

- prezenţă simultană;

- suficientă informaţie care să permită selectarea textului extenso fără multe elemente repetitive, ci textul selectat să fie exact cel căutat;

- elementul de scrolling să permită referirea tuturor elementelor din mulţimea textelor scurte şi o bună raportare pe submulţimi direct accesibile.

Scrolling-ul presupune:

- o submulţime formată din k elemente care fac obiectul referirii directe;

- o mulţime formată din n elemente, unde n>>k, ce sunt disponibile în procesul de referire.

În prima componentă apar elementele TS1, TS2, ... TSk. Pe măsură ce se derulează procesul de scrolling se va deschide accesul la textele TSx, TSx+1, …, TSx+k, cu x + k ≤ n.

În aplicaţiile uzuale TSi sunt imagini la dimensiuni reduse, în timp ce TEi sunt aceleaşi imagini, dar la dimensiuni normale.

În figura 2 se prezintă o aplicaţie de scrolling conţinând fotografii reprezentative din domeniul sporturilor extreme, respectiv X-treme Skyflyer:

Figura 2. Aplicaţia de scrolling X-treme Skyflyer

Aplicaţia de scrolling din figura 2 prezintă un conţinut digital format din poze de diferite dimensiuni. În partea stângă se află pozele la dimensiuni reduse, iar în partea dreaptă se afişează aceleaşi poze, dar la dimensiuni normale.

Se consideră poza Pl cu dimensiunile reduse l1 şi l2 şi poza PL cu dimensiunile normale L1 şi L2, unde L1>>l1 şi L2>>l2. Cele două poze sunt ortogonale dacă l1 * l2 < 0,75* L1 * L2, adică aria dreptunghiului reprezentat de prima poză este mai mică decât 75% din aria dreptunghiului reprezentat de cea de-a doua poză.

În alte aplicaţii, se prezintă la nivelul TSi elemente care concentrează informaţii referitoare la entităţi complexe, precum coperţi de reviste, imagini de produse, imagini de persoane, iar TEi reprezintă conţinutul efectiv al revistei sau descrierea completă a produsului sau prezentarea persoanei, astfel încât să existe acces la toate informaţiile de interes legate de respectiva persoană.

Page 3: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 87

Aplicaţia de scrolling presupune existenţa unei cantităţi mari de informaţie, I, care trebuie afişată într-o suprafaţă mică, S, limitată de dimensiunile ecranului calculatorului. De regulă, se verifică situaţia în care I >> S. Suprafaţa S conţine textele TS1, TS2, ..., TSn simultan, iar la click pe unul din acest texte se afişează textul TEj selectat, reprezentând o parte din informaţia I. Pe măsură ce se accesează un alt TSi, se afişează o altă parte din informaţia I. Tranziţia de la un element TSi la altul pentru afişarea unui text TE conduce la a considera aplicaţia de scrolling sub forma unui automat finit foarte simplu.

Un automat finit se reprezintă cu ajutorul diagramei de stări, dată sub forma tabelului de tranziţie dintr-o stare în alta:

Tabel 1. Diagrama de stări pentru un automat finit

Conditie / Stare  Starea 1  Starea 2  ...  Starea i  ...  Starea n 

Conditia 1                

Conditia 2     Starea 3          

...                

Conditia j        Starea k     

...             

Conditia m             

Conform reprezentării din tabelul 1, automatul finit trece din starea 2 în starea 3 în urma

declanşării condiţiei 2. De asemenea, automatul finit trece din starea i în starea k prin aplicarea condiţiei j. În cazul aplicaţiei de scrolling, condiţiile sunt reprezentate de selectarea unui element TSi prin click efectuat de utilizator, iar stările sunt date de textele TS1, TS2, ..., TSn.

Prezentarea Power Point este aplicaţie de scrolling, deoarece permite vizualizarea unui slide selectat dintr-o mulţime de slide-uri disponibile în partea stângă a ecranului. În figura 3 se prezintă modalitatea de vizualizare a unei prezentări Power Point.

Figura 3. Vizualizare prezentare Power Point

Conform reprezentării din figura 3, elementele TS1, TS2, ..., TS11 sunt reprezentate de cele 11 slide-uri, afişate în miniatură în partea stângă, iar TE este reprezentat de slide-ul selectat.

Page 4: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 88

2. Ciclul de realizare a aplicaţiilor de scrolling

Ciclul de realizare a aplicaţiilor de scrolling presupune parcurgerea etapelor:

E1. Definirea obiectivului, reprezentând referirea rapidă, directă a subproblemelor SP1, SP2,..., SPn de descriere şi soluţionare pentru problema P; obiectivul se defineşte şi în funcţie de resursele disponibile, momentul în care aplicaţia trebuie să devină operaţională şi, mai ales, de experienţa personalului;

E2. Obţinerea textelor TS1, TS2, ..., TSn şi a textelor extenso TE1, TE2, ..., TEn şi formarea de perechi (TS1, TE1), (TS2, TE2), ..., (TSn, TEn);

E3. Construirea subvocabularului SVS pentru a pune în corespondenţă elementele mulţimii TS cu cuvinte;

E4. Construirea subvocabularului SVE pentru a pune în corespondenţă elementele din mulţimea extenso cu cuvinte din acest subvocabular;

SVS = {cs1, cs2, …, csn}.

SVE = {ce1, ce2, …, cen}.

E5. Construirea perechilor (cs1, ce1), (cs2, ce2), ..., (csn, cen), respectiv a asocierilor dintre cuvintele din cele două subvocabulare;

E6. Elaborarea componentei din aplicaţia de scrolling pentru TSi ;

E7. Elaborarea componentei de scrolling pentru TE, adică fundalul aplicaţiei;

E8. Elaborarea componentelor pentru referirea elementelor TE1, TE2, ..., TEn ;

E9. Lansarea în execuţie, de probă, şi identificarea măsurii în care perechile (TSi, TEi) există în realitate prin referirile generate de cuvintele celor două subvocabulare (csi, cei), care se găsesc în cele trei categorii de componente elaborate în aplicaţie;

E10. Derularea procesului de autotestare;

E11. Implementarea în momentul în care aplicaţia are zero erori.

În figura 4 se reprezintă grafic etapele ciclului de realizare a aplicaţiilor de scrolling:

Figura 4. Ciclul de realizare a aplicaţiilor de scrolling

Implementarea

Definirea obiectivului

Obţinerea textelor TS şi

TE

Construirea subvocabulare-lor SVS şi SVE

Construirea perechilor

(csi, cei)

Elaborarea componentelor pentru TS şi TE

Lansarea în execuţie

Derularea autotestării

Aplicaţia de

scrolling

R

Page 5: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 89

Arcul R de la etapa de implementare la cea de definire a obiectivului este întâlnit în contextul specific proceselor de reinginerie.

Legătura dintre elementele csi, TSi, TEi, cei este reprezentată în figura 5:

Figura 5. Asocierea dintre elementele csi, TSi, TEi, cei

Conform reprezentării din figura 5, elementul csi din subvocabularul SVS referă obiectul TSi, care la rândul său referă obiectul TEi. Obiectul TEi este referit şi de către elementul cei din subvocabularul SVE.

Se consideră aplicaţia de scrolling pentru realizarea unei prezentări de fotografii. Ciclul de realizare a acestei aplicaţii presupune obţinerea imaginilor la dimensiuni reduse TS1, TS2, ..., TSn, obţinerea imaginilor la dimensiuni normale TE1, TE2, ..., TEn, formarea perechilor (TS1, TE1), (TS2, TE2), ..., (TSn, TEn), construirea subvocabularelor SVS şi SVE pentru denumirea fotografiilor, construirea perechilor de cuvinte din SVS şi SVE, elaborarea paginilor aplicaţiei pentru elementele TSi, dezvoltarea componentei pentru elementele TEi, autotestarea aplicaţiei şi verificarea corectitudinii asocierilor dintre TSi şi TEi.

În specificaţiile de proiectare a aplicaţiei de scrolling se dau perechile de elemente TS1, TS2, ..., TSn şi TE1, TE2, ..., TEn, iar realizarea aplicaţiei necesită construirea perechilor TS’1, TS’2, ..., TS’n şi TE’1, TE’2, ..., TE’n. În procesul de construire a perechilor de obiecte TS’ şi TE’ apar erori de asociere între obiecte sau se pierd o parte din elemente, rezultând mulţimile TS’ şi TE’ cu m elemente, unde m < n.

Aplicaţiile de scrolling conţin elemente care se derulează vertical sau orizontal, în funcţie de specificaţiile de proiectare. Realizarea unei aplicaţii de scrolling presupune împărţirea ecranului în cel puţin două frame-uri, primul conţinând elementele TS1, TS2, ..., TSn, iar cel de-al doilea elementul TEj selectat. Opţiunea de scrolling din primul frame se activează în cazul în care numărul elementelor TS1, TS2, ..., TSn este suficient de mare, astfel încât acestea să nu încapă pe ecran şi să fie necesară derularea ecranului pentru vizualizarea lor. Codul sursă pentru elaborarea componentei din aplicaţia de scrolling pentru TSi şi TE este: <html> <head> <title> JACS - Journal of Applied Collaborative Systems </title> </head> <frameset framespacing="0" frameborder="0" rows=15%,*> <frame framespacing="0" noresize="noresize" frameborder="0" scrolling="yes" src=sigla.html></frame> <frameset framespacing="0" frameborder="0" cols=20%,*> <frame framespacing="0" noresize="noresize" frameborder="0" scrolling="yes" src=meniu.html name=meniu></frame> <frame framespacing="0" noresize="noresize" frameborder="0" src=home.html name=continut></frame> </frameset> </html>

Page 6: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 90

În figura 6 este prezentată aplicaţia de scrolling în care numărul elementelor TS1, TS2, ..., TSn nu este suficient de mare astfel încât să fie necesară activarea scrolling-ului în frame-ul pentru TSi, ci doar în frame-ul pentru vizualizarea elementului TE:

Figura 6. Aplicaţia de scrolling pentru revista JACS

În aplicaţia de scrolling din figura 6, elementele TS1, TS2, ..., TSn sunt texte, numărul acestora fiind limitat.

Activarea scrolling-ului depinde şi de browser-ul în care se vizualizează aplicaţia. Dacă aplicaţia de scrolling pentru revista JACS, disponibilă la adresa www.jacs.ro, este accesată din browser-ul mobil Opera Mini, atunci elementele TSi şi TE sunt aşezate în pagină, astfel încât vizualizarea lor să fie cât mai completă:

Figura 7. Vizualizarea aplicaţiei de scrolling pentru revista JACS din browser-ul mobil Opera Mini

Page 7: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 91

Realizarea aplicaţiilor de scrolling trebuie să ia în considerare şi diferitele tipuri şi versiuni de navigatoare, astfel încât vizualizarea aplicaţiilor să fie cât de cât mai uniformă, indiferent de tipul browser-ului.

Aplicaţiile de scrolling sunt aplicaţii informatice orientate spre cetăţean. Ciclul de dezvoltare al unei aplicaţii informatice orientată spre cetăţean este următorul:

- se defineşte grupul ţintă de către proprietarul aplicaţiei şi dezvoltatorul acesteia;

- se stabilesc obiectivele grupului ţintă, în scopul definirii problemei de rezolvat;

- se elaborează specificaţii pentru a satisface dorinţele grupului ţintă;

- se scrie cod pentru dezvoltarea aplicaţiei;

- se testează aplicaţia de către grupul ţintă.

La proiectarea aplicaţiilor informatice orientate spre cetăţean este analizat grupul ţintă, întrucât caracteristicile de calitate ale acestora depind de persoanele care accesează resurse definite şi care, prin gradul de satisfacţie obţinut după soluţionarea on-line a problemelor, determină dezvoltarea ulterioară a altor aplicaţii.

Aplicaţiile de scrolling sunt aplicaţii deschise, în sensul că dacă apar elemente noi, acestea se adaugă la sfârşit, ca în cazul evenimentelor precum olimpiadele sportive:

TS1 – olimpiada din anul 1896 de la Atena;

TS2 – olimpiada din anul 1900 de la Paris;

...........................

TSn – olimpiada din anul 2008 de la Beijing;

TSn+1 – olimpiada din anul 2012 de la Londra.

Ciclul de dezvoltare a unei aplicaţii de scrolling este diferit de cel al unei aplicaţii informatice orientată spre cetăţean prin faptul că, înainte de etapa de testare a aplicaţiei de către grupul ţintă, se realizează autotestarea aplicaţiei de către dezvoltatorul acesteia.

Pe măsură ce evoluează un fenomen existent, se inserează elemente în mulţimea TS. Se consideră că TSi reprezintă un film realizat de un regizor, pus în ordinea perioadei. Dacă regizorul mai realizează un film comic, TSN, acesta va fi intercalat. Mulţimea TS1, TS2, ..., TS(k)

i, TS(k)i+1, ..., TSn devine TS1, TS2, ..., TS(k)

i = TS(k+1)i, TSN = TS(k+1)

i+1, TS(k)i+1 = TS(k+1)

i+2, ..., TSn.

Dacă experienţa practică impune schimbarea poziţiilor între TSi şi TSk, atunci acest lucru se realizează fără dificultăţi în textul sursă. În acelaşi fel se pune problema dezvoltării de elemente din şirul TS1, ..., TSn.

3. Erori în procesul de dezvoltare a aplicaţiei de scrolling

Se consideră că mulţimea textelor scurte are n componente, iar mulţimea textelor lungi are m componente. Situaţia corectă este cea în care n=m.

Dacă n>m atunci înseamnă că:

- au fost pierdute elemente din mulţimea TE;

- au fost incluse ca diferite mai multe elemente din TS.

Construirea perechilor (TSi, TEi) este incorectă atunci când se construieşte (TSi, TEj), unde i ≠ j, i,j =1..n.

În figura 8 se prezintă situaţia corectă de asociere între elementele TS şi TE:

Page 8: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 92

Figura 8. Situaţia corectă de asociere între elementele TS şi TE

Fiecărui element de pe poziţia i din mulţimea TS trebuie să-i corespundă un element de pe aceeaşi poziţie din mulţimea TE.

În figura 9 se prezintă o asociere incorectă între elementul TSi şi varianta extinsă a acestuia, respectiv TEj :

Figura 9. Asociere incorectă între TSi şi TEj

Conform asocierii din figura 9, elementului de pe poziţia i din mulţimea TS îi corespunde

elementul de pe poziţia j din TE. De asemenea, un alt element din TS referă acelaşi element de pe poziţia j din TE.

Figura 10 prezintă o altă asociere eronată, de data aceasta încrucişată, între elementele mulţimilor TS şi TE:

Figura 10. Asociere încrucişată

Page 9: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 93

În figura 10, elementele de pe poziţiile i şi j din mulţimile TS şi TE se referă încrucişat, conducând la apariţia perechilor (TSi, TEj), respectiv (TSj, TEi).

Figura 11 prezintă o altă eroare apărută în procesul de dezvoltare a aplicaţiei de scrolling, respectiv aceluiaşi element TSi îi corespund variantele extinse TEi şi TEj, iar TSj nu are corespondent în extenso:

Figura 11. Asociere multiplă

Situaţia din figura 11 este rar întâlnită şi se traduce prin asocierea dintre o imagine la dimensiuni reduse cu două imagini la dimensiuni normale, în acelaşi timp. Practic, la nivel fizic, elementele mulţimilor TS şi TE se încurcă.

Un alt tip de erori vizează conţinutul digital însuşi, erorile fiind generate de:

- inexactităţi de terminologie;

- localizări eronate;

- indicarea incorectă a numelor de persoane;

- utilizarea incorectă a momentelor de timp;

- punerea incorectă în corespondenţă a textelor cu imaginile;

- prezentarea de texte şi imagini trunchiate;

- utilizarea de reguli ortografice, altele decât cele aflate în vigoare.

La nivel de subvocabulare este important ca:

- numărul de cuvinte din SVS să fie mult mai mare ca numărul de elemente TS1, TS2, ..., TSn;

- numărul de cuvinte din SVE să fie mult mai mare ca numărul de elemente TE1, TE2, ..., TEn.

De asemenea, este important să se respecte condiţiile de ortogonalitate, respectiv cuvintele din cele două subvocabulare să fie cât mai ortogonale.

Erorile care apar la nivel de subvocabulare se referă la perechile (TSi, TEi), cărora corect este să le corespundă perechile de cuvinte (csi, cei).

În realitate, lui TSi îi corespunde csk, iar lui TEi îi corespunde ceh.

Atunci când asocierile dintre TS şi TE sunt incorecte, utilizatorul aplicaţiei de scrolling selectează corect elementul TSi, dar elementul TE este incorect selectat, ceea ce conduce la alocarea greşită a resurselor şi creşterea costurilor. În astfel de situaţii, utilizatorul aplicaţiei de scrolling nu alocă resursele corect şi nu dezvoltă corect activităţile. Dacă elementul TSi selectat face referire la detalii despre susţinerea examenului EXi, iar elementul TE oferă informaţii

Page 10: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 94

despre susţinerea examenului EXj, atunci consecinţele acestei asocieri eronate dintre TS şi TE sunt devastatoare.

În figura 12 se prezintă situaţia corectă de asociere între elementele TS şi cuvintele din subvocabularul SVS, respectiv între elementele TE şi cuvintele din SVE.

Figura 12. Asociere corectă între elementele TS-SVS şi TE-SVE

În figura 13 se prezintă erorile de asociere între elementul TSi şi cuvântul csk, respectiv între TEi şi ceh.

Figura 13. Asociere incorectă între elementele TS-SVS şi TE-SVE

Situaţiile care apar sunt următoarele:

- se pun mai multe cuvinte pe o imagine;

- se suprascriu mai multe imagini pe un cuvânt;

- există foldere cu mai multe poze având aceeaşi denumire;

- o poză are mai multe nume sau există mai multe poze cu acelaşi nume.

Efectele produse sunt legate de faptul că, la scrolling informaţia rezumat nu mai este în concordanţă cu informaţia de detaliu. Eroarea de neconcordanţă între conţinutul anunţat şi cel referit are la bază numeroase cauze, dintre care cea mai frecventă este legată de codificările construite pentru fişiere, mai ales atunci când se lucrează cu un număr foarte mare de fişiere.

Se consideră aplicaţia de scrolling pentru vizualizarea a r reviste, mulţimea TS fiind reprezentată de rezumatele articolelor din cele r reviste, iar mulţimea TE este reprezentată de revista din care face parte articolul selectat.

O situaţie care se remediază uşor este aceea în care se încurcă rezumatele a două articole cu

Page 11: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 95

revistele de care aparţin, respectiv se consideră ca rezumatul articolului i aparţine revistei j, iar rezumatul articolului j aparţine revistei i:

rezumat 1 -> revista 1 rezumat 2 -> revista 2 rezumat 3 -> revista 3 rezumat 4 -> revista 4 ... rezumat i -> revista j ... rezumat j -> revista i ... rezumat r -> revista r

O altă situaţie este aceea în care, la chestii diferite există aceeaşi extensie, respectiv rezumatele articolelor i, j şi k se consideră că aparţin revistei i:

rezumat 1 -> revista 1 rezumat 2 -> revista 2 ... rezumat i -> revista i rezumat j -> revista i rezumat k -> revista i ... rezumat r -> revista r

O situaţie dificilă este aceea în care toate elementele sunt încurcate, adică i≠j, i, j = 1..r.

rezumat 1 -> revista 3 rezumat 2 -> revista 1 rezumat 3 -> revista 4 rezumat 4 -> revista 2 rezumat 5 -> revista 7 rezumat 6 -> revista 5 rezumat 7 -> revista 6 ... rezumat r -> revista m

Unele dintre erori trec neobservate, însă cele mai multe compromit integral aplicaţia. Utilizatorii au comună caracteristica în ceea ce priveşte referirea de aplicaţii informatice, referire care presupune ca la prima eroare detectată să întrerupă accesul şi să nu repete încercarea la un alt interval de timp. Există însă o soluţie care îmbunătăţeşte această abordare: lansarea numai după efectuarea autotestării.

Cazul cel mai grav de eroare este când ns ≠ ne, ncs ≠ ns, nce ≠ ne unde:

ns – numărul de fişiere TS;

ne – numărul de TE;

ncs – numărul de cuvinte din subvocabularul SVS;

nce – numărul de cuvinte din subvocabularul SVE.

Acest lucru se produce când n – numărul de fişiere este foarte mare şi se lucrează pe submulţimi care se concatenează. Este situaţia în care se lucrează distribuit şi colaborativ.

Se consideră M locaţii în care se află secvenţe de scrolling şi fişiere de acces la detaliu. Reprezentarea acestei situaţii se realizează în figura 14:

Page 12: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 96

loc 1 loc 2 loc M S1 S2 SM

Figura 14. Proces de scrolling colaborativ

Prin concatenarea celor M secvenţe de scrolling rezultă fişierul sursă de scrolling, fiind realizat de mai mulţi utilizatori, care accesează cele M secvenţe de scrolling din locaţii diferite. Reuniunea celor M secvenţe de scrolling formează mulţimea fişierelor de detaliu.

Aplicaţia de scrolling, a cărei structură este prezentată în figura 14, este distribuită şi colaborativă. Este o aplicaţie colaborativă, deoarece utilizatorii lucrează împreună la atingerea obiectivului comun reprezentat de obţinerea fişierului complet de scrolling prin concatenarea secvenţelor de scrolling.

4. Dezvoltarea procesului de autotestare Autotestarea se efectuează de către dezvoltatorul aplicaţiei de scrolling. Se defineşte

autotestarea ca proces de evidenţiere de către dezvoltator a măsurii în care un stadiu al aplicaţiei informatice este în concordanţă cu cerinţele specificaţiilor. Necesitatea autotestării este dată de:

- reducerea numărului de erori de la un stadiu la altul; - detectarea erorilor în faza de realizare a aplicaţiei, întrucât persoanele implicate în

realizarea unui stadiu al aplicaţiei găsesc erorile mult mai repede şi le corectează fără costuri prea mari;

- erorile dintr-un stadiu nu sunt amplificate de dezvoltarea stadiilor următoare.

Procesul de autotestare este complet şi presupune parcurgerea următoarelor etape:

E1. Se construieşte lista TS1, TS2, ..., TSm ; E2. Se construieşte lista TE1, TE2, ..., TEn ; E3. Se verifică să existe egalitatea m=n ; E4. Se alege o regulă de construire a cuvintelor de vocabularele SVS şi SVE; acestea

trebuie să fie deschise, astfel încât să suporte corecţii, adăugări, eliminări şi interschimburi de TS-uri şi TE-uri; prin denumirea fişierelor în varianta colita0010, colita0020, ..., colita0070, se oferă posibilitatea adăugării de noi elemente cu denumirile colita0011, colita0012, etc.;

E5. Se construiesc perechile de elemente (TSi, TEi); E6. Se construiesc perechile de cuvinte (csi, cei); E7. Se intră pe aplicaţie şi se merge pe scrolling; E8. Se ia imaginea 1; E9. Se vede dacă în lista de cuvinte apare denumirea fişierului; E10. Se vede ce poze referă extensia; E11. Se observă ce apare în zona TE; E12. Se verifică corelaţiile (TSi, TEi) şi (csi, cei).

Secvenţa 1 din scrolling

K1 fişiere de acces la detaliu

Secvenţa 2 din scrolling

Secvenţa M din scrolling

K2 fişiere de acces la detaliu

KM fişiere de acces la detaliu

....

....

....

Page 13: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 97

Dacă s-au parcurs complet listele, atunci înseamnă că toată aplicaţia este în regulă. Dacă s-a terminat mult din partea de scrolling, iar în listă mai există perechi de poze şi de cuvinte, înseamnă că aplicaţia este incompletă, deşi tot ce s-a testat a fost în regulă.

În acest caz, se încarcă fişiere de poze, respectiv TS şi TE. Se adaugă secvenţe în scrolling şi se construiesc fişiere de referire TE.

În autotestare trebuie văzute neconcordanţele. Există TSi pus în corespondenţă cu TEi. Se realizează autotestarea pentru toate perechile şi se observă ce nu este în regulă, acţionând pe texte pentru a corecta. Se stabilesc cauzele apariţiei erorilor. Cea mai frecventă cauză este aceea că multe din secvenţele de cod se construiesc prin copy-paste.

În scrolling există fişiere de acces TEi şi elemente de referire TSi. Există riscul de a actualiza în TS şi nu în fişierul de referire sau se realizează actualizarea în fişierul de referire, dar nu şi în TS.

Regula de construire a cuvintelor din subvocabularele SVS şi SVE trebuie să respecte teoria codurilor, astfel încât să se obţină coduri deschise, de lungime fixă. Denumirea pozelor reprezentând sportivi de la diverse olimpiade se realizează astfel:

- se alocă două caractere pentru codul ţării în care s-a desfăşurat olimpiada; - se introduce în interiorul codului cuvântul OLIMPIC pentru a oferi o descriere

completă a respectivelor fişiere; - se alocă şapte caractere pentru denumirea oraşului unde s-a desfăşurat olimpiada; în

cazul în care denumirea oraşului este mai mică de şapte caractere, poziţiile rămase neocupate se completează cu spaţiu sau underscore;

- se alocă patru caractere pentru a reprezenta numărul pozei în cadrul colecţiei; pentru a asigura deschiderea codificării, numerotarea fişierelor se realizează astfel: 0010, 0020, 0030, etc.

Conform acestei variante de codificare, denumirile fişierelor reprezentând poze ale olimpicilor sunt de forma:

JPOLIMPICTOKYO__0010 SPOLIMPICBARCELO0020 ROOLIMPICBUCURES0030 Dacă după ce s-a realizat codificarea se mai include în colecţie o nouă poză, atunci trebuie

identificată poza cu denumirea cea mai apropiată de denumirea noului fişier. Dacă noua poză este din Madrid, atunci colecţia arată astfel:

JPOLIMPICTOKYO__0010 SPOLIMPICBARCELO0020 SPOLIMPICMADRID_0021 ROOLIMPICBUCURES0030 Procesul de autotestare este iterativ şi complet. Autotestarea se face de la A la Z de fiecare

dată, deoarece: - modificările au caracter de antrenare multiplă; - corecţiile trebuie să aibă în final garanţia că sunt complete. Metricile pentru evaluarea efectelor produse de erorile apărute în procesul de dezvoltare şi

autotestare a aplicaţiei de scrolling sunt următoarele: - pierderea suportată de dezvoltatorul aplicaţiei de scrolling, PD, ca urmare a erorilor

apărute în procesul de dezvoltare a aplicaţiei: PD = FI * NE, unde FI – factorul de impact ; NE – numărul de erori apărute în procesul de dezvoltare a aplicaţiei.

Page 14: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 98

În cazul dezvoltării aplicaţiei de scrolling pentru revista JACS, s-a identificat un număr de 18 erori, valoarea factorului de impact fiind 0.3 mii de euro per eroare. Pierderea suportată de dezvoltatorul aplicaţiei de scrolling, în acest caz, a fost de 5.400 euro.

- numărul de erori pe dimensiunea aplicaţiei de scrolling, NED:

DASNEANED =

, unde: NEA – numărul total de erori identificate în aplicaţie; DAS – dimensiunea aplicaţiei de scrolling, măsurată ca număr de linii de cod (LOC sau KLOC). Pentru aplicaţia de scrolling referitoare la revista JACS, numărul total de erori identificate a

fost 18, iar dimensiunea aplicaţiei de scrolling este 4793 linii de cod. Rezultă că numărul de erori pe dimensiunea aplicaţiei de scrolling este 0.00375. - costul autotestării aplicaţiei de scrolling, CTS:

∑=

=N

iiCTCCTS

1 , unde: N – numărul de componente ale aplicaţiei de scrolling; CTCi – costul autotestării componentei i. Numărul de componente ale aplicaţiei de scrolling referitoare la revista JACS este

reprezentat de numărul elementelor din mulţimea TS, respectiv 10 elemente. Costul autotestării fiecărei componente s-a stabilit experimental la valoarea de 7 euro pe fiecare componentă, ceea ce indică un cost total al autotestării aplicaţiei de scrolling de 70 de euro.

Trebuie să se asigure echilibru între dimensiunea modelului şi capacitatea acestuia de a oferi rezultate semnificative. În aceste condiţii, metricile nu trebuie să fie prea simple, deoarece se pierde din relevanţa variabilelor măsurate.

În funcţie de problema de rezolvat, de cerinţele utilizatorilor şi de resursele financiare ale dezvoltatorului aplicaţiei de scrolling se definesc:

- durata de realizare a aplicaţiei, ca fiind perioada cuprinsă între etapa de elaborare a specificaţiilor până la terminarea etapei de testare şi lansarea pe piaţă;

- nivelul de complexitate, măsurat în funcţie de numărul de componente ale aplicaţiei, conexiunile cu baze de date şi interacţiunea cu utilizatorii;

- nivelul de calitate, rezultat în urma testelor efectuate şi a aprecierilor date de utilizatori; - diversitatea resurselor disponibile, reprezentată de opţiunile pe care aplicaţia le

oferă utilizatorilor; - gradul de acoperire a soluţiei, măsurat ca diferenţă între ceea ce s-a dorit a fi

implementat şi ceea ce s-a realizat efectiv; - conexiunea cu alte aplicaţii, din care rezultă gradul de integrabilitate. Obiectivul informaticii orientate spre cetăţean este de a dezvolta aplicaţii foarte diverse şi

care închid ciclul specific unei acţiuni. Testarea aplicaţiilor informatice se realizează atât de către dezvoltatorul aplicaţiei, situaţie în care se

vorbeşte despre autotestare, cât şi de către echipe de testeri din cadrul organizaţiei în care se utilizează. Dezvoltarea unor noi funcţionalităţi ale serviciului de internet banking din cadrul unei bănci

presupune testarea aplicaţiei de către angajaţii băncii, înainte de lansarea acesteia în producţie. Firma dezvoltatoare a aplicaţiei îi livrează băncii aplicaţia conţinând noile funcţionalităţi implementate, urmând ca testarea să se realizeze de către bancă. În situaţia în care banca descoperă erori în cadrul aplicaţiei, aceasta le va transmite către firma dezvoltatoare pentru a le corecta. Dacă aplicaţia nu are erori, atunci ea este lansată în producţie şi utilizată de către clienţii băncii.

În figura 15 se prezintă schema logică a procesului de testare a unei aplicaţii de internet banking de către beneficiarul aplicaţiei.

Page 15: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 99

Figura 15. Testarea de către beneficiar Pentru a reduce costurile cu testarea, tot mai multe companii dezvoltatoare de aplicaţii

informatice recurg la testarea realizată direct de către utilizatorii finali. Aceştia sunt stimulaţi cu ajutorul unor premii sau sume de bani să descopere vulnerabilităţile sau problemele majore ale respectivelor aplicaţii [6]. Această modalitate de testare este aplicată în situaţia în care produsul software lansat în producţie nu prezintă erori majore de funcţionare, care să determine afectarea imaginii companiei dezvoltatoare.

Autotestarea este diferită de testarea totală, care constă în următoarele: - verificarea, element cu element, a corectitudinii şi completitudinii celor n elemente

din mulţimea TS; - verificarea, element cu element, a corectitudinii şi completitudinii celor k elemente

din mulţimea TE; - analiza perechilor (TSi, TEi) din punct de vedere al concordanţei, corectitudinii şi

completitudinii.

5. Concluzii Aplicaţiile de scrolling sunt orientate spre cetăţean şi declanşează alocări de resurse. Numai prin

autotestare se gestionează ciclul de dezvoltare a aplicaţiei, respectiv lungimea ciclului ca durată. Aplicaţiile de scrolling sunt componente în aplicaţii agregate. Poziţia dezvoltatorului este

esenţială prin autotestare. O autotestare foarte bună, completă, garantează calitatea aplicaţiei de scrolling, dar şi poziţia dezvoltatorului acesteia.

Autotestarea nu exclude testarea de către altcineva. Dacă autotestarea şi testarea se realizează pe listele complete, atunci totul este ok.

Dacă autotestarea se realizează pe listele complete, iar testarea nu, dar autotestarea este ok, atunci şi testarea are şanse să fie ok.

Dacă listele sunt incomplete în autotestare şi complete în testare, atunci procesul de dezvoltare se reia pentru corecţii, cu costuri foarte mari.

Dacă listele sunt incomplete atât la autotestare, cât şi la testare, atunci aplicaţia include

DA

start

Dezvoltare aplicaţie

Livrare aplicaţie la beneficiar

Testare aplicaţie (de către beneficiar)

Aplicaţia are erori

Utilizare aplicaţie

stop

NU

Page 16: AUTOTESTAREA APLICAŢIILOR DE SCROLLING

Revista Română de Informatică şi Automatică, vol. 21, nr. 1, 2011 100

riscuri majore de a efectua prelucrări neadecvate. Autotestarea este specifică procesului de dezvoltare. Ciclul de dezvoltare este format din etape,

iar testarea se realizează atât în cadrul fiecărei etape, cât şi în final, pentru a lua fie decizia de implementare, fie decizia de continuare a ciclului de dezvoltare prin efectuarea de corecţii.

Autotestarea aplicaţiilor de scrolling presupune: - o tehnologie de a constitui scrolling; - existenţa unui text T, care se rupe în n texte mai mici, ST1, ST2, ..., STn, a căror

reuniune formează textul T; - din textul STj se preia un rezumat pentru a constitui elementul TSj; - gestiunea perechilor (STj, TSj) şi codificarea fişierelor asociate, astfel încât să nu

existe erori de asociere. Codificarea elementelor TS se realizează astfel încât să permită identificarea cu uşurinţă a

erorilor de asociere între un element din mulţimea TS şi varianta lui extinsă. Autotestarea este diferită de testare prin obiective, sarcini şi prin persoanele care o

efectuează. Dacă testarea este efectuată de personal specializat, autotestarea este realizată de către dezvoltatorul aplicaţiei.

Crearea procedurilor de autotestare, însuşirea şi aplicarea lor întocmai, are ca efect reducerea ponderii costului etapelor de autotestare şi de testare în structura costului total generat de realizarea oricărei aplicaţii de scrolling.

BIBLIOGRAFIE 1. SAD, H. H.; F. POIRIER. Evaluation and Modeling of User Performance for Pointing

and Scrolling Tasks on Handheld Devices Using Tilt Sensor, Second International Conf. on Advances in Computer-Human Interactions - ACHI '09, 1-7 Feb. 2009, pp. 295-300.

2. IVAN, I.; B. VINTILĂ; C. CIUREA; D. PALAGHITA; S. PAVEL. Autotesting of the citizen oriented informatics applications, Ekonomika, statistika i informatika. Vestnik UMO, MESI, Russia, No. 4, 2009, ISSN 1994-7844.

3. IVAN, I.; C. CIUREA; D. MILODIN. Autotestarea aplicaţiilor informatice distribuite cu conţinut oferit, Revista Română de Informatică şi Automatică, Vol. 19, Nr. 3, 2009.

4. BAKER, S.; F. AU; G. DOBBIE; I. WARREN. Automated Usability Testing Using HUI Analyzer, 19th Australian Conf. on Software Eng. - ASWEC 2008, 26-28 March , pp. 579-588.

5. IVAN, I.; P. POCATILU. Testarea automată a produselor software specializate, Revista Informatica Economică, vol. VIII, nr. 2(30), 2004, pp. 116-120.

6. http://www.incont.ro/it-c/poti-castiga-bani-doar-stand-cu-ochii-pe-google-si-mozilla.html 7. CĂPRIŢA, D. Automated Web Database Applications Testing, The Proc. of the 9th Int. Conf.

on Informatics in Economy - IE 2009, May 7-8, 2009, Bucharest, ASE Printing House. 8. POCATILU, P. Software Testing Costs, ASE Publishing House, Bucharest, 2004. 9. POCATILU, P. Software Security Testing, Informatica Economica Journal, Vol. IX, No.

4(36), 2005, ISSN 1453-1305, pp. 78-82. 10. TARHINI, A.; Z. ISMAIL; N. MANSOUR. Regression Testing Web Applications,

ICACTE '08. International Conference on Advanced Computer Theory and Engineering, 2008, 20-22 Dec. 2008, pp. 902-906.

11. MURLEWSKI, J.; J. WOJCIECHOWSKI; B. SAKOWICZ; A. NAPIERALSKI. Comprehensive Approach to Web Applications Testing and Performance Analysis, 9th Int. Conf. - The Experience of Designing and Appl. of CAD Systems in Microelectronics, 2007, CADSM '07, 19-24 Feb. 2007, pp. 429-431.

12. GODEFROID, P.; P. DE HALLEUX; A. V. NORI; S. K. RAJAMANI; W. SCHULTE; N. TILLMANN; M. Y. LEVIN. Automating Software Testing Using Program Analysis, Software IEEE, Vol. 25, No. 5, Sept.-Oct. 2008, pp. 30-37.