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., FĂGĂRĂŞAN Ioana, PUPĂZĂ D., Analiza de
sistem în informatica industrială, Editura AGIR, Bucureşti,
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-471-
71345-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
Realizare Scoatere
Aparitia
produs din exploatare
cererii

Analiza Proiectarea Elabolare Punerea in


cerintelor si de ansamblu/ Proiectarea programe/ Integrare functiune/experi Exploatare si
definirea temei conceptuala/ de detaliu Impleme si testare mentare si intretinere
de proiectare preliminara ntare acceptare sistem

• 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.

7 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 MANWARE
Software

Hardware

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 OBIECTIVE DOCUMENTATIE
Elaborarea - analiza si identificarea cerintelor utilizatorilor; * tema de realizare
temei de - justificarea necesitatii si oportunitatii realizarii
realizare produselor informatice;
- specificarea cerintelor globale cu privire la
produsului informatic;
-stabilirea cadrului tehnologic de realizare si de
control al calitatii;
Proiectarea - analiza si specificarea cerintelor hard si *specificatia de
preliminara software; definire a produsului
- proiectarea functionala a produsului; program
- planificarea testarii.
Proiectarea de - proiectare tehnica: structura fizica a produsului * specificatia de
detaliu program si definirea programelor, proiectare realizare a produsului
tehnica a interfetelor si a bazelor de date, program (proiect
procedurile de executie, fluxul de control; tehnic);
- specificare cerinte si restrictii tehnice de * specificatia de
realizare; testare.
- testare.

9 Testarea software si asigurarea calitatii - curs1


Conf.dr.ing. Ioana FAGARASAN
Ciclul de viata al produselor informatice
ETAPA OBIECTIVE DOCUMENTATIE
Elaborare - proiectare, elaborare si testare * specificatii de realizare
programe programe; programe;
- elaborare documentatia de intretinere
* specificatii de testare;
(programe, date); * raport de testare si listinguri
- testare. martor;
* documentatia de intretinere.
Integrare si - integrarea si testarea progresiva a * documentatia de utilizare-
testare componentelor software ale produsului exploatare (forma preliminara);
program. * biblioteci cu componentele
software (in format executabil);
* specificatii de testare;
* programa si metodica de
omologare.

10 Testarea software si asigurarea calitatii - curs1


Conf.dr.ing. Ioana FAGARASAN
Ciclul de viata al produselor informatice
ETAPA OBIECTIVE DOCUMENTATIE
Experimentare - activitati pregatitoare in vederea * documentatia de intretinere si
experimentarii: instruirea personalului, cea de utilizare-exploatare (in
masuri organizatorice si tehnice; forma definitiva);
- instalarea produsului la utilizator; * biblioteci cu componente
- aducerea documentatiei la conditiile software.
corecte de utilizare.
Exploatare si − functionarea sistem la parametri registrele de exploatare
intretinere proiectati;
− intretinerea sistemului;
− actualizare documentatie.

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 Elaborare tema
de realizare

cu reactie si Control

suprapuneri Proiectare I
(produs informatic)

Control

Proiectare III Proiectare II Proiectare II


(componente) Componente 1 Componente 2

Control Control Control

Elaborare program Realizare programe Realizare programe


componente 1 componente 2
Control Control Control

Integrare si testare
Integrare si testare
Componente 1+2
Componente 3
Control Control

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
Elaborare tema
Modelul in cascada de realizare

cu reactie si
Proiectare
prototipuri
Elaborare
Elaborareprograme
programe
(prototip partial)
Control

Testare
(prototip partial)
Control
"convertire" "abandonare"
prototip partial 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 parţial de către utilizator permite precizarea
cerinţelor sau stabilirea soluţiilor 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 Modul stub

23 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

25 Testarea software si asigurarea calitatii - curs1


Conf.dr.ing. Ioana FAGARASAN
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