Sunteți pe pagina 1din 22

Testarea software si asigurarea

calitatii
Curs 2

Concepte de baza utilizate in testare


Testarea, verificarea
verificarea si validarea
produselor
 Efectuate pe tot parcursul ciclului de viata
 Scopul: de a reduce erorile din PP 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

2 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Verificare si validare
Cele doua concepte similare intalnite in testarea produselor program (PP) sunt
utilizate frecvent de catre specialisti.

Verificarea
Acest tip de activitate ne ajuta in evaluarea PP pentru a stabili daca un produs dintr-o
anumita faza de dezvoltare satisface cerintele stabilite inainte de inceperea
acestei faze. Activitatile care verifica corectitudinea pentru faza de dezvoltare sunt
denumite activitati de verificare.

Validarea are drept scop sa confirme daca un produs indeplineste asteptarile


clientului. Activitatile de validare se concentreaza pe produsul final, care este
testat din punct de vedere al clientului; validarea stabileste daca produsul
indeplineste asteptarile utilizatorilor globali

Intarzierea executarii activitatilor de validare sunt adesea riscante si duc la


costuri mai mari de dezvoltare a PP.

3 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Impactul procesului de dezvoltare a PP
asupra calitatii acestora
Analiza cerintelor cerinte corect erori in definirea
definite cerintelor

Proiectarea specificatie erori in elaborarea erori induse de


conceptuala corecta specificatiei definirea cerintelor

Proiectarea proiect erori in proiect erori induse de


detaliata corect definirea cerintelor si a specificatiilor

program erori in program erori induse de definirea cerintelor


Implementare
corect si a specificatiilor + erori de proiectare

Integrare functionare erori erori cunoscute erori necunoscute


si testare corecta corectate care nu pot fi corectate

Efectul acumularii erorilor in etapele ciclului de realizarea a PP

4 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Impactul procesului de dezvoltare a PP
asupra calitatii acestora

5 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Obiectivele testarii
Personal implicat: programatori, inginerii de testare, directorii de
proiecte si clientii
Procesul de testare din diferite perspective:
Ce functioneaza: programatorii testeaza unitatile si sistemul dupa
integrare in vederea demonstrarii functionalitatii acestuia
Ce nu functioneaza: dupa testarea functionalitatii urmeaza mai multe
teste pentru evidentierea defectelor de unitate sau sistem
Reducerea riscului de defectare: cu cat sistemele sunt mai complexe
poate apare notiunea de defectare din timp in timp, si deci de rata de
defectare
Reducerea costurilor testarii: costuri de proiectare si executie a
cazurilor de testare; costuri de analizare a rezultatelor testelor; costuri
de realizare a documentatiei in vederea testarii si de raportare a
testelor;
Cu cat numarul de teste este mai mare cu atat va creste si costul
testarii - necesitatea selectionarii si construirii corecte a testelor
6 Testarea software si asigurarea calitatii - curs2
Conf.dr.ing. Ioana FAGARASAN
Obiectivele testarii
Testarea este activitatea de:
Concepere a cazurilor de test
Executie a testelor
Evaluarea rezultatelor testelor
In diferite etape ale ciclului de viata al PP.
Un test = executia programului pentru un set de date
de intrare convenabil ales, pentru a verifica daca
rezultatul obtinut este cel estimat.
Un caz de test = un set de date de intrare impreuna
cu datele de iesire pe care programul ar trebui sa le
produca
7 Testarea software si asigurarea calitatii - curs2
Conf.dr.ing. Ioana FAGARASAN
Caz de test
Un caz de test = un set de date de intrare impreuna cu
datele de iesire pe care programul ar trebui sa le
produca
Exemplu = calculul radicalului unui numar pozitiv

T1 : < 0, 0 >,
T2 : < 9,3 >,
T3 : < 20, 4.47213595 >,
T4 : < 80.5,8.97217922 >,

8 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Iesire Estimata
Iesirea estimata (IE) a unui program = o entitate
complexa care poate include urmatoarele entitati:
Valori produse de program (valori numerice, text,
audio, imagine)
Modificari de stare: ale programului sau ale bazei de
date (adaugare, stergere, updatare)
Ideal IE a unui test trebuie estimata in timpul proiectarii
cazului de test

9 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Test
Pentru a testa un PP un inginer de testare trebuie sa realizeze o secventa de activitati de
testare:
1. Identificarea
obiectivelor
3.Calculul iesirii estimate

5. Executarea programului
2. Selectarea
intrarii Program Iesire obtinuta
6.Analiza
rezultatelor testului
Mediul extern

4.Pregatirea mediului de executie verdict asociat testului

Raportul de testare trebuie sa contina:


- explicatii despre cum se poate reproduce o defectiune obtinuta
- analiza defectiunii, descriere
-- descrierea testului: intrare/iesire, mediul de executie
10 Testarea software si asigurarea calitatii - curs2
Conf.dr.ing. Ioana FAGARASAN
Rolul testarii
Testarea joaca un rol important in mentinerea
si imbunatatirea calitatii produselor program
Calitatea produselor se imbunatateste pe tot
parcursul ciclul de realizarea al produsului prin
repetarea ciclului test detectare defect-
corectare
Asigurarea calitatii cuprinde toate masurile,
care au drept scop imbunatatirea calitatii unui
produs program.

11 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Carcateristici ale produselor informatice

Utilitatea se concretizeaza prin ce realizeaza sistemul, iar


performanta prin modul in care utilitatea este indeplinita.

Utilitatea este un ansamblu de cerinte si restrictii impuse


functionarii sistemului de utilizator in scopul realizarii unor
rezultate bine determinate.

Performanta este un ansamblu de cerinte si restrictii impuse


de o functionare optima a sistemului, in conditiile satisfacerii
utilitatii.

12 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Produsele informatice (PI) trebuie sa indeplineasca anumite
caracteristici, performante de baza:
Portabilitatea caracteristica PI de a fi transferat de pe un suport
hardware pe altul;
Fiabilitatea este capacitatea PI de a indeplini anumite functii sau cereri
fara erori;
Flexibilitatea definita prin capacitatea sistemului informatic de a se
adapta la orice modificare impusa de beneficiarul PI in sensul
exploatarii acestuia;
Timpul de raspuns este definit ca intervalul de timp real, din momentul
aparitiei unei excitatii exogene si momentul realizarii complete a
functiilor PI pentru setul respectiv de date; el poate fi echivalent, in
majoritatea situatiilor, cu durata regimului tranzitoriu;

13 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Ce parametru care defineste performanta unui produs informatic (PI) se
poate transforma in utilitate in urmatoarele situatii ?

1. portabilitatea A. PI generalizate (cu aplicabilitate pentru o clasa larga de procese)


sunt realizate cu o gama larga de echipamente
2. fiabilitatea B. La PI cu destinatie speciala (din domeniul militar sau cosmic,
sisteme energetice nationale) se impune prevenirea avariilor ce
3. flexibilitatea conduc implicit la catastrofe
C. PI destinate conducerii proceselor industriale trebuie sa lucreze in
4. timp de timp real.
raspuns D. Procesele mari necesita PI mari deoarece acestea implica o gama
larga de prelucrari de date, datorita numarului mare de cerinte si
restrictii. In consecinta sunt antrenate resurse importante, deci
investitii mari. Dpdv economic aceste investitii trebuie sa fie
amortizate in timp (pe durata de viata a sistemului respectiv).

14 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Alte caracteristici al calitatii :
 Testabilitatea - usurinta cu care un PP, sau o parte a sa
poate fi testata
 Utilizabillitatea efortul cerut pentru a invata, utiliza si
intrerupe functionarea unui PP
 Integritatea masura in care PP si datele sunt imune la
accesul neautorizat al clientului
 Refolosibilitatea - usurinta cu care componente ale unui
PP pot fi utilizate (mutate) ntr-un alt PP;
 Interoperabilitatea - abilitatea PP de a fucntiona
impreuna cu un alt PP

15 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Caracteristicile principale si derivate ale calitatii produselor software
potrivit modelului calitatii definit de standardul ISO/ IEC 9126

Caracteristici Caracteristici derivate si semnificatii


Functionabilitate Adecvanta: prezenta si adecvanta setului de functiuni in raport cu
specificatiile.
Acuratete: atributele PP legate de obtinerea rezultatelor corecte
sau convenite ( ex: gradul de precizie necesar al valorilor).
Interoperabilitate: posibilitatea de interactiune a PP cu alte
produse specificate.
Conformitate: conformitatea cu standarde, conventii, reglementari
si alte prescriptii similare, legate de domeniul de aplicatie.
Securitate: posibilitatea PP de a preveni accesul neautorizat,
accidental sau deliberat, la programe sau date

16 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Caracteristicile principale si derivate ale calitatii produselor software
potrivit modelului calitatii definit de standardul ISO/ IEC 9126

Caracteristici Caracteristici derivate si semnificatii


Fiabilitate Maturitate: gradul de maturitate al PP, respectiv frecventa
defectiunilor din cauza erorilor PP.
Toleranta la defecte: capacitatea PP de a-si mentine un anumit
nivel specificat de performanta in caz de eroare.
Recuperabilitate: posibilitatea restabilirii nivelului de performanta
si refacerea datelor in cazul unei erori, timpul si efortul necesar
pentru aceasta.
Utilizabilitate Facilitate de intelegere: usurinta in intelegere, efortul utilizatorului
de a recunoaste conceptul logic si aplicabilitatea lui.
Operabilitate: usurinta in operare, respectiv adecvarea stilului de
interactiune si a tipului de interfata.
Facilitate de a invata: usurinta in invatarea aplicarii produsului.

17 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Caracteristicile principale si derivate ale calitatii produselor software
potrivit modelului calitatii definit de standardul ISO/ IEC 9126

Caracteristici Caracteristici derivate si semnificatii


Eficienta Comportare in timp: respectiv eficienta ca timp de raspuns pe tipuri
de prelucrari, rate de transfer sub conditii diferite de incarcare si
configuratii diferite.
Comportamentul resurselor: respectiv consumul de memorie interna
si externa in diferite conditii
Mentenabilitate Analizabilitate: rapiditatea si exactitatea cu care se poate identifica o
eroare in executie din mesajele PP si cauzele acesteia.
Modificabilitate: efortul necesar pentru modificare, remedierea
erorii sau pentru schimbarea mediului.
Stabilitate: se refera la riscul unui efect neasteptat al modificarilor.
Testabilitate: se refera la efortul necesar pentru validarea PP
modificat.

18 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Caracteristicile principale si derivate ale calitatii produselor software
potrivit modelului calitatii definit de standardul ISO/ IEC 9126

Caracteristici Caracteristici derivate si semnificatii


Portabilitate Adaptabilitate: posibilitatea de adaptare la alte medii specifice
fara a apela alte facilitati decat cele proprii PP.
Usurinta de instalare: posibilitatea de instalare a produsului intr-
un mediu specificat.
Conformitate: gradul de aderare al PP la standardele si
reglementarile legate de portabilitate.
Interschimbabilitate: posibilitatea si efortul de utilizare in locul
altui PP specificat, in mediul acelui PP

19 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Asigurarea calitatii este mentinuta prin analize statice si
dinamice si evaluata printr-o serie de masuratori
Analiza statica
Este bazata pe examinarea documentatiei: specificatii de cerinte, modele
software, documente de proiectare si coduri sursa
Traditional analiza statica include revizii de cod, inspectii, analize de
alogoritmi di dovezi de verificare a corectitudinii codului
Nu include executarea codului aflat in dezvoltare, dar inspecteaza codul si
comportarile posibile ale acestuia in vederea optimizarii
comportamentului in urma compilarii.

20 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Analiza dinamica
Este bazata pe executarea programului pentru a se descoperii posibilele
defectiuni in functionarea acestuia
Sunt observate atat caracteristicile comportamentale cat si de
performanta ale acestuia
Programele sunt executate atat cu date tipice cat si special proiectate
Este importanta determinarea setului finit de teste potrivit pentru
evaluarea corecta a performanteleor si comportarii sistemului

Prin utilizarea ambelor abordari se doreste identificarea maximului de erori posibile


astfel incat aceste sa fie rezolvate cat mai curand in ciclul de realizare al produsului
program.

21 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN
Asigurarea calitatii
Analiza dinamica
Este bazata pe executarea programului pentru a se descoperii posibilele
defectiuni in functionarea acestuia
Sunt observate atat caracteristicile comportamentale cat si de
performanta ale acestuia
Programele sunt executate atat cu date tipice cat si special proiectate
Este importanta determinarea setului finit de teste potrivit pentru
evaluarea corecta a performanteleor si comportarii sistemului

Prin utilizarea ambelor abordari se doreste identificarea maximului de erori posibile


astfel incat aceste sa fie rezolvate cat mai curand in ciclul de realizare al produsului
program.

22 Testarea software si asigurarea calitatii - curs2


Conf.dr.ing. Ioana FAGARASAN