testareasoftware siasigurarea calitatii software... · planul de verificare si validare 2 testarea...

22
Testarea software si asigurarea calitatii Curs 2 Concepte de baza utilizate in testare

Upload: others

Post on 27-Dec-2019

22 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Testarea software si asigurarea

calitatiicalitatii

Curs 2

Concepte de baza utilizate in testare

Page 2: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Testarea, vTestarea, verificarea si validarea erificarea si validarea

produselorproduselor

� 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

Page 3: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Verificare si validare

Cele doua concepte similare intalnite in testarea produselor program (PP) sunt utilizate frecvent de catre specialisti.

• VerificareaAcest 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 suntdenumite activitati de verificare.

3 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

acestei faze. Activitatile care verifica corectitudinea pentru faza de dezvoltare suntdenumite activitati de verificare.

• Validarea are drept scop sa confirme daca un produs indeplineste asteptarileclientului. Activitatile de validare se concentreaza pe produsul final, care estetestat din punct de vedere al clientului; validarea stabileste daca produsulindeplineste asteptarile utilizatorilor globali

• Intarzierea executarii activitatilor de validare sunt adesea riscante si duc la costuri mai mari de dezvoltare a PP.

Page 4: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Impactul procesului de dezvoltare a PP

asupra calitatii acestora

Analiza cerintelor cerinte corect

definite

erori in definirea

cerintelor

Proiectarea

conceptualaspecificatie

corecta

erori induse de

definirea cerintelor

erori in elaborarea

specificatiei

Proiectarea proiect erori induse deerori in proiect

4 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

Efectul acumularii erorilor in etapele ciclului de realizarea a PP

Proiectarea

detaliataproiect

corect

erori induse de

definirea cerintelor si a specificatiilorerori in proiect

Implementare program

corect

erori induse de definirea cerintelor

si a specificatiilor + erori de proiectareerori in program

Integrare

si testare

functionare

corecta

erori cunoscute

care nu pot fi corectate

erori

corectateerori necunoscute

Page 5: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Impactul procesului de dezvoltare a PP

asupra calitatii acestora

5 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

Page 6: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Obiectivele testarii

• Personal implicat: programatori, inginerii de testare, directorii deproiecte 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 multeteste pentru evidentierea defectelor de unitate sau sistem

6 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

teste pentru evidentierea defectelor de unitate sau sistem

– Reducerea riscului de defectare: cu cat sistemele sunt mai complexepoate apare notiunea de defectare din timp in timp, si deci de rata dedefectare

– Reducerea costurilor testarii: costuri de proiectare si executie acazurilor de testare; costuri de analizare a rezultatelor testelor; costuride realizare a documentatiei in vederea testarii si de raportare atestelor;

• Cu cat numarul de teste este mai mare cu atat va creste si costultestarii - necesitatea selectionarii si construirii corecte a testelor

Page 7: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

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.

7 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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

Page 8: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

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

8 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

1

2

3

4

: 0,0 ,

: 9,3 ,

: 20,4.47213595 ,

: 80.5,8.97217922 ,

T

T

T

T

< >

< >

< >

< >

Page 9: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

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)

9 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

• 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

Page 10: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

TestPentru a testa un PP un inginer de testare trebuie sa realizeze o secventa de activitati de

testare:

2. Selectarea

1. Identificarea

obiectivelor

3.Calculul iesirii estimate

5. Executarea programului

10 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

2. Selectarea

intrarii Program

Mediul extern

4.Pregatirea mediului de executie

Iesire obtinuta6.Analiza

rezultatelor testului

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

Page 11: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Rolul testarii

• Testarea joaca un rol important in mentinereasi imbunatatirea calitatii produselor program

• Calitatea produselor se imbunatateste pe totparcursul ciclul de realizarea al produsului prin

11 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

parcursul ciclul de realizarea al produsului prinrepetarea ciclului “test – detectare defect-corectare”

• Asigurarea calitatii cuprinde toate masurile,care au drept scop imbunatatirea calitatii unuiprodus program.

Page 12: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatii

Carcateristici ale produselor informatice

Utilitatea se concretizeaza prin ce realizeaza sistemul, iar

performanta prin modul in care utilitatea este indeplinita.

12 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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.

Page 13: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

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;

13 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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;

Page 14: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatiiCe parametru care defineste performanta unui produs informatic (PI) se

poate transforma in utilitate in urmatoarele situatii ?

1. portabilitatea

2. fiabilitatea

3. flexibilitatea

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

sunt realizate cu o gama larga de echipamente

B. La PI cu destinatie speciala (din domeniul militar sau cosmic,

sisteme energetice nationale) se impune prevenirea avariilor ce

conduc implicit la catastrofe

14 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

3. flexibilitatea

4. timp de

raspuns

conduc implicit la catastrofe

C. PI destinate conducerii proceselor industriale trebuie sa lucreze in

timp real.

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

Page 15: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

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

15 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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

Page 16: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatiiCaracteristicile 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

16 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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

Page 17: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatiiCaracteristicile 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

17 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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.

Page 18: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatiiCaracteristicile 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.

18 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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.

Page 19: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatiiCaracteristicile 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-

19 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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

Page 20: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatii

• Este bazata pe examinarea documentatiei: specificatii de cerinte, modele

Analiza statica

Asigurarea calitatii este mentinuta prin analize statice si

dinamice si evaluata printr-o serie de masuratori

20 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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

Page 21: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatii

• 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

Analiza dinamica

21 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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.

Page 22: Testareasoftware siasigurarea calitatii software... · Planul de Verificare si Validare 2 Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN. Verificaresivalidare

Asigurarea calitatii

• 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

Analiza dinamica

22 Testarea software si asigurarea calitatii - curs2

Conf.dr.ing. Ioana FAGARASAN

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.