Upload
simona-marin
View
154
Download
1
Embed Size (px)
DESCRIPTION
Testarea produselor informatice
Citation preview
Testarea software si asigurarea
calitatiicalitatii
Curs 2
Concepte de baza utilizate in testare
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
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.
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
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 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
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
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
< >
< >
< >
< >
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
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
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.
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.
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;
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).
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
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
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.
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.
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
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.
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.
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.