Sunteți pe pagina 1din 29

Testarea software si asigurarea calitatii

Curs 1 Ciclul de viata al produselor informatice. Modele Activitati de verificare si validare pe parcursul ciclului de viata. Tipuri de teste

Obiective
Prezentarea conceptelor generale de testare a produselor informatice si asigurarea calitatii acestora Prezentarea tehnicilor de proiectare, dezvoltare si executie a testelor, precum si elaborarea documentatiei suport de testare si raportare a rezultatelor
2
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Necesitate
Importanta calitatii produselor informatice rezida din mai multe aspecte, printre care:
Erorile din programele produselor informatice pot fi fatale in anumite domenii in care vietile oamenilor depind de buna functionare a acestora Erorile pot provoca pierderi financiare, materiale sau de alta natura Daca in domeniul produselor hardware costurile au o tendinta generala de scadere, in domeniul dezvoltarii produselor software, desi productivitatea a crescut substantial, nu se inregistreaza inca o scadere a costurilor
3
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Bibliografie
ILIESCU S.St., FGRAN Ioana, PUPZ D., Analiza de sistem n informatica industrial, Editura AGIR, Bucureti, ISBN 973-720-091-8, 2006; B. Blanchard, W. Fabrycky, Systems Engineering and Analysis, 4th Edition, Prentice Hall, ISBN 0131869779, 2005 KSHIRASAGAR N., PRIYADARSHI T., Software Testing and Quality Assurance: Theory and Practice, 2008 Willy, ISBN 978-0-471-78911-6; Jeff Tian, Software Quality Engineering Testing, Quality Assurance and Quantifiable Improvement, ISBN 0-47171345-7, Wiley-Interscience 2005
4
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


Ingineria a fost dintotdeauna preocupata de folosirea economica a resurselor limitate in vederea satisfacerii utilizatorului. Fundamental pentru ingineria sistemelor informatice este intelegerea procesului ciclului de viata al unui sistem/produs. Ciclul de viata incepe prin identificarea unei nevoi si este extins prin proiectarea conceptuala si preliminara, proiectarea de detaliu si dezvoltare, productie si/sau constructie, utilizarea produsului si se termina cu retragerea produsului de pe piata.
5
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


Aparitia cererii Realizare produs Scoatere din exploatare Analiza cerintelor si definirea temei de proiectare Proiectarea Elabolare Punerea in de ansamblu/ Proiectarea programe/ Integrare functiune/experi conceptuala/ de detaliu Impleme si testare mentare si preliminara ntare acceptare sistem

Exploatare si intretinere

Ciclul de viata al unui produs: perioada de timp intre momentul aparitiei cererii prin care se solicita realizarea unui produs si momentul scoaterii lui din exploatare. Ciclul de realizare al unui produs: partea din ciclul de viata al unui produs in cadrul careia se realizeaza respectivul produs.
6
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


Produs informatic: denumire generica prin care se refera sistemul informatic, o aplicatie informatica sau produsul program. Aplicatie informatica: utilizarea calculatorului in rezolvarea unui grup omogen de probleme ale unui utilizator individual printre care distingem: - aplicatii de gestiune; - aplicatii stiintifice; - aplicatii de birotica. Produs program: sistem complet si documentat de programe, livrabil unui grup de utilizatori care reprezinta: - implementarea uneia sau mai multor aplicatii informatice la utilizatorii din grup; - suportul de realizare si exploatare a produselor program aplicative de uz general sau dedicat. Sistem informatic: ansamblu constituit din urmatoarele tipuri de elemente: - echipamente, care pot fi: unul sau mai multe calculatoare, memorii, periferice; - software compus din: soft de baza, soft de gestionare a bazelor de date, soft de aplicatie; - personal de exploatare, utilizatori de specialitate pentru intretinere; - organizarea activitatilor de pregatire a mediului de achizitiea datelor, de supraveghere a exploatarii si intretinerii sistemului.
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


Sistem informatic: ansamblu constituit din urmatoarele tipuri de elemente: - echipamente, care pot fi: unul sau mai multe calculatoare, memorii, periferice; - software compus din: soft de baza, soft de gestionare a bazelor de date, soft de aplicatie; - personal de exploatare, utilizatori de specialitate pentru intretinere; - organizarea activitatilor de pregatire a mediului de achizitiea datelor, de supraveghere a exploatarii si intretinerii sistemului.
Managementul informatiei Programe de aplicatii ORGWARE Software Hardware MANWARE

Baze de date

Componentele sistemului informatic [J. Schwarze, Einfuhrung in die Wirtschaftsinformatik, 1997] 8


Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


ETAPA Elaborarea temei realizare OBIECTIVE - analiza si identificarea cerintelor utilizatorilor; de - justificarea necesitatii si oportunitatii realizarii produselor informatice; - specificarea cerintelor globale cu privire la produsului informatic; -stabilirea cadrului tehnologic de realizare si de control al calitatii; - analiza si specificarea cerintelor hard si software; - proiectarea functionala a produsului; - planificarea testarii. de - proiectare tehnica: structura fizica a produsului program si definirea programelor, proiectare tehnica a interfetelor si a bazelor de date, procedurile de executie, fluxul de control; - specificare cerinte si restrictii tehnice de realizare; - testare. DOCUMENTATIE * tema de realizare

Proiectarea preliminara

*specificatia de definire a produsului program * specificatia de realizare a produsului program (proiect tehnic); * specificatia de testare.

Proiectarea detaliu

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


ETAPA Elaborare programe DOCUMENTATIE * specificatii de realizare programe; * specificatii de testare; * raport de testare si listinguri martor; * documentatia de intretinere. Integrare si - integrarea si testarea progresiva a * documentatia de utilizaretestare componentelor software ale produsului exploatare (forma preliminara); program. * biblioteci cu componentele software (in format executabil); * specificatii de testare; * programa si metodica de omologare. OBIECTIVE - proiectare, elaborare si testare programe; - elaborare documentatia de intretinere (programe, date); - testare.

10

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


ETAPA OBIECTIVE DOCUMENTATIE

Experimentare

Exploatare si intretinere

- activitati pregatitoare in vederea experimentarii: instruirea personalului, masuri organizatorice si tehnice; - instalarea produsului la utilizator; - aducerea documentatiei la conditiile corecte de utilizare. functionarea sistem la parametri proiectati; intretinerea sistemului; actualizare documentatie.

* documentatia de intretinere si cea de utilizare-exploatare (in forma definitiva); * biblioteci cu componente software. registrele de exploatare

11

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


Cerintele de testare, evaluare si validare a sistemelor se stabilesc, in general, in etapa initiala de proiectare conceptuala, de ansamblu, din ciclul de viata al unui produs/sistem, de preferat in paralel cu definirea cerintelor globale ale sistemului. Din acest moment, testarea si evaluarea se desfasoara pe toata durata dezvoltarii produsului constand din testarea si evaluarea componentelor individual, din testarea numeroaselor elemente ale sistemului si a subsistemelor importante, cat si din testarea sistemul ca entitate de sine statatoare. Scopul este de a avea o abordare progresiva care sa se preteze unei implementari continue pe toata durata dezvoltarii sistemului. Urmatorul pas este validarea. Validarea, ca si concept, se refera la pasii si metodele necesare pentru a asigura faptul ca performatele sistemul final corespund cu cerintele initiale formulate de client.
12
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Ciclul de viata al produselor informatice


Abordare structurata a notiunilor de testare, evaluare si validare are drept scop configurarea finala a sitemului dezvoltat astfel incat acesta sa respecte cerinte si specificatiile initiale ale clientului. Pentru a indeplini acest obiectiv se vor detalia urmatoarele aspecte: determinarea criteriilor de testare, evaluare si validare a sistemelor; descrierea categoriilor de teste si evaluari implicate; planificarea testarilor si evaluarilor in cadrul duratei de dezvoltare a sistemului; pregatirea sistemului pentru testare si evaluare; efectuarea testelor, culegerea datelor de test, pregatirea raportului de evaluare; modificarea parametrilor sistemului in functie de concluziile raportului de evaluare.
13
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Variatiile ciclului de viata


Ciclul de viata poate diferii in functie de: experienta, abilitatile si cunostintele membrilor echipei de dezvoltare gradul de cunoastere a sistemului obiect domeniul aplicatiei schimbarile mediului exterior sistemului schimbarile din interiorul sistemului dimensiunea proiectului
14
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Variatiile ciclului de viata


Modelul in cascada cu reactie: Propus de Royce in 1970 (5-7 etape)
Avantaje: Simplu si usor de utilizat Fazele si procesele sunt terminate pe rand Bun pentru proiectele mici unde cerintele sunt bine intelese de la inceput Dezavantaje: Modificarea cerintelor este foarte greu de gestionat Nu se pot produce prototipuri decat foarte tarziu
15
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Variatiile ciclului de realizare


Modelul in cascada cu reactie si suprapuneri
Elaborare tema de realizare Control Proiectare I (produs informatic) Control

Proiectare III (componente) Control

Proiectare II Componente 1 Control

Proiectare II Componente 2 Control

Elaborare program Control

Realizare programe componente 1 Control

Realizare programe componente 2 Control

Integrare si testare Control

Integrare si testare Componente 1+2 Control

Componente 3

Integrare si testare Componente 1+2+3 Control

16

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN


realizare integrala

Variatiile ciclului de realizare


Avantaje: - posibilitatea unei planificari si urmariri riguroase a activitatilor care vor fi executate pe parcursul procesului de realizare; - integrarea usoara a componentelor PI datorita unei proiectari riguroase a interfetelor si a produsului propriu-zis. Dezavantaje: - utilizatorul nu poate evalua concret ce facilitati ofera noul produs informatic decat dupa ce acesta este realizat si testat; ca urmare, si performantele si calitatile noului produs nu pot fi determinate decat in fazele de testare. - intrucit utilizatorul nu poate formula de la inceput toate cerintele, efortul de intretinere a produsului informatic este foarte mare. - daca costurile de realizare a produselor informatice nu sunt mari, cele de intretinere sunt importante datorita dificultatilor in depistarea erorilor
17
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Variatiile ciclului de realizare


Modelul in cascada cu reactie si prototipuri
Elaborare tema de realizare Proiectare Elaborare Elaborare programe programe (prototip partial) Control Testare (prototip partial) Control "convertire" prototip partial "abandonare" realizarea produselor informatice prin strategie clasica Elaborare programe Control Integrare si testare Control

18

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Variatiile ciclului de realizare


Avantaje: posibilitatea realizarii unui produs performant ce urmareste fidel cerintele utilizatorului prin realizarea si testarea de prototipuri partiale exploatarea prototipului parial de ctre utilizator permite precizarea cerinelor sau stabilirea soluiilor reale i complete pentru produsul informatic final Dezavantaje: cost ridicat si durata lunga a ciclului de realizare

19

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Variatiile ciclului de realizare


Modelul in V

20

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Variatiile ciclului de realizare


Modelul in V
Avantaje: Mai bun decat modelul in cascada din punct de vede al testarii si asigurarii calitatii deoarece planul de testare este facut inca de la inceput

Dezavantaje: Modificarea cerintelor este foarte greu de gestionat Nu se pot produce prototipuri timpurii

21

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Tipuri de teste. Teste unitare


O unitate este cea mai mica parte testabila a unei aplicatii: functie/procedura intr-un limbaj de programare Testarea este efectuata de programatorul care o implementeaza, pe baza specificatiei In cursul testarii, unitatea este tratata ca o entitate independenta, care nu necesita prezenta altor componente ale programului Necesita implementarea de module stub(ciot) si a unui modul driver

22

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Tipuri de teste. Teste unitare


Modulul stub este o secventa de cod care simuleaza comportamentul unei componente neimplementate inca Modul driver este o secventa de cod care conduce integrarea astfel incat unitatea testata poate primi datele de la componentele neimplementate inca, sau pot fi preluate dintr-un fisier

Modul driver Modul testat / unitate testata Modul stub


23

Modul stub
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Tipuri de teste. Teste de integrare


Sunt dedicate verificarii interactiunilor dintre module, grupuri de module, subsisteme, pana la nivel de sistem. Exista mai multe metode de realizare a testelor de integrare. Este necesara implementarea de module "ciot" si module "driver". Numarul de module "driver" si de module "ciot" necesare in testele de integrare depinde de ordinea in care sunt integrate modulele. Testele de integrare necesita, de asemenea, instrumente de gestiune a versiunilor si a configuratiilor.
24
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Tipuri de teste. Teste de integrare


Metoda "big-bang" Sunt integrate intr-un program executabil toate modulele existente la un moment dat. Modulele "driver " si "ciot" necesare sunt de asemenea integrate. Metoda este periculoasa caci toate erorile apar in acelasi timp si localizarea lor este dificila. Integrare progresiva In fiecare pas se adauga ansamblului de module integrate numai un singur modul. Erorile care apar la un test provin din ultimul modul integrat. 2 metode: Integrare ascendenta Integrare descendenta
Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

25

Tipuri de teste. Teste de sistem


Sunt teste ale sistemului de programe si echipamente complet. Sistemul este instalat si apoi testat in mediul sau real de functionare. Sunt teste de conformitate cu specificatia cerintelor software : teste functionale, prin care se verifica satisfacerea cerintelor functionale teste prin care se verifica satisfacerea cerintelor ne-functionale : de performanta, de fiabilitate, de securitate, etc. Adesea, testele de sistem ocupa cel mai mult timp din intreaga perioada de testare.

26

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Tipuri de teste. Teste de acceptare


Sunt teste de conformitate cu produsul solicitat, conform contractului cu clientul (->Specificatia cerintelor utilizatorilor). Aceste teste sunt uneori conduse de utilizator. Pentru unele produse software, testarea de acceptare are loc in doua etape: 1.Testarea alfa: se efectueaza folosindu-se specificatia cerintelor utilizator 2.Testarea beta: programul este distribuit unor utilizatori selectionati, realizandu-se astfel testarea lui in conditii reale de utilizare.

27

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Tipuri de teste. Teste regresive


Teste executate dupa corectarea erorilor, pentru a se verifica daca in cursul corectarii nu au fost introduse alte erori. Aceste teste sunt efectuate de regula in timpul intretinerii. Pentru usurarea lor este necesar sa se arhiveze toate testele efectuate in timpul dezvoltarii programului, ceea ce permite, in plus, verificarea automata a rezultatelor testelor regresive

28

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

Testarea, verificarea verificarea si validarea produselor


Efectuate pe tot parcursul ciclului de viata Obiectivul: de a reduce erorile software la un nivel acceptabil Cauza/sursa erorilor: Cele mai multe sunt cauzate de deficiente in specificatii Urmeaza cele rezultate in urma erorilor de proiectare Relativ putine (sub 15%) sunt erori directe de programere Efortul necesar: 30-90% din efortul total al proiectului, in functie de complexitatea si gradul de risc al functionarii necorespunzatoare a software-ului. Organizarea activitatilor de verificare si validare este inclusa in activitatile de management ale proiectului software si specificate in Planul de Verificare si Validare

29

Testarea software si asigurarea calitatii - curs1 Conf.dr.ing. Ioana FAGARASAN

S-ar putea să vă placă și