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

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 Proiectarea conceptuala Proiectarea detaliata Implementare cerinte corect definite specificatie corecta proiect corect program corect functionare corecta erori in definirea cerintelor erori in elaborarea erori induse de definirea cerintelor specificatiei erori in proiect erori in program erori corectate erori induse de definirea cerintelor si a specificatiilor erori induse de definirea cerintelor si a specificatiilor + erori de proiectare

Integrare si testare

erori cunoscute erori necunoscute 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

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 : T2 : T3 : T4 : < 0, 0 >, < 9,3 >, < 20, 4.47213595 >, < 80.5,8.97217922 >,

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

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 2. Selectarea intrarii 5. Executarea programului Program Mediul extern 4.Pregatirea mediului de executie verdict asociat testului Iesire obtinuta 6.Analiza rezultatelor 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 defectcorectare 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 2. fiabilitatea 3. flexibilitatea 4. timp de raspuns 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 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).

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 Functionabilitate Caracteristici derivate si semnificatii
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 Fiabilitate Caracteristici derivate si semnificatii 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. 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.
Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN

Utilizabilitate

17

Asigurarea calitatii
Caracteristicile principale si derivate ale calitatii produselor software potrivit modelului calitatii definit de standardul ISO/ IEC 9126
Caracteristici Eficienta Caracteristici derivate si semnificatii
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 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.
Testarea software si asigurarea calitatii - curs2 Conf.dr.ing. Ioana FAGARASAN

Mentenabilitate

18

Asigurarea calitatii
Caracteristicile principale si derivate ale calitatii produselor software potrivit modelului calitatii definit de standardul ISO/ IEC 9126
Caracteristici Portabilitate Caracteristici derivate si semnificatii 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 intrun 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