Post on 07-Sep-2019
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Verificarea si Validarea Sistemelor SoftCurs 1. Introducere
Lector dr. Camelia Chisalita-Cretu
Universitatea Babes-BolyaiCluj-Napoca
1 Martie 2017
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
1 Bug-uri Software cu pagube semnificative
2 Ce este un bug software?TerminologieDe ce apar bug-urile software?
3 Evaluarea calitatiiEvaluarea calitatii produselor softVerificare si Validare
4 Bibliografie
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Naveta spatiala Mariner 1
1962
naveta spatiala Mariner 1 a deviat de la traiectoria ei la scurttimp dupa lansare; a fost distrusa la 293 secunde dupa lansare;
cauza: eroare la transcrierea unei instructiuni ın limbajulFORTRAN, determinand calculul eronat al traiectoriei.
cost: 18.5 milioane $
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Naveta spatiala Mars Polar Lander
1999
obiectiv: studierea solului si a climei din regiunea Planum Australe
de Marte;
pentru mecanismul de identificarea a momentului cand mototareletrebuie sa fie oprite, NASA nu a folosit radare costisitoare, ci uncomutator, pe talpa picioarelor navetei, care seta un bit deinformatie si determina oprirea alimentarii cu combustibil;
eveniment: la intrarea ın atmosfera planetei Marte, programul ainterpretat vibratiile navetei - cauzate de turbulentele din atmosfera- ca aceasta ar fi aterizat si a oprit motoarele navetei;
rezultat: prabusirea navetei;
cauza: testare incompleta - procedura de aterizare a fost ımpartitaın doua etape, care au fost testate independent; nu s-a realizattestarea de integrare.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Naveta spatiala Mars Climate Orbiter
1998
obiectiv: orbitarea planetei Marte si transmiterea informatiilor;
eveniment: dupa o calatorie de 286 zile de pe Pamant, la intrareaın atmosfera planetei Marte, motoarele au deviat traiectoria navetei;
rezultat: dezintegrarea navetei ın atmosfera;
cauza: doua dintre echipele implicate ın dezvoltarea aplicatieifoloseau sisteme de masurare a distantei diferite, imperial (inch,feet) si cel metric (m, km).
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Tratamente ımpotriva cancerului
1985
dispozitivul Therac-25 fost folosit ın terapia prin radiatii;
cauza: programul a calculat gresit doza de radiatii pe bazadatelor de intrare, unii pacienti primind o doza de cateva orimai mare decat cea normala;
cost: 3 pacienti decedati, 3 raniti prin iradiere.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Jocul asociat desenului animat Disney Lion King
1995
la prima aparitie pe piata a companiei Disney cu un joc pentrucopii - The Lion King Animated Storybook - unii utilizatori nuau reusit sa foloseasca produsul soft achizitionat.
cauza: compania Disney nu a testat produsul pe diferitemodele de calculatoare personale existente pe piata.
Cost: credibilitatea companiei, schimbarea unitatilorCD-ROM.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Sistemul de aparare anti-racheta
1991
un sistem american de aparare antiracheta situat ın ArabiaSaudita nu a reusit sa detecteze atacuri cu rachete Scudirakiene.
cauza: o eroare de rotunjire la ceasul sistemului (un sfert desecunda) s-a acumulat, astfel ıncat la 14 ore, sistemul deurmarire ısi pierdea acuratetea, devenind incapabil salocalizeze si sa intercepteze rachetele.
cost: ın atacul asupra unei cazarme din Dhahran au decedat28 soldati americani.
eroarea fusese deja remediata de expertii armatei americane,iar noua versiune a softului urma sa ajunga cu o zi mai tarziu.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Knight Capital Group
2012
casa de brokeraj Knight Capital Group a suferit o pierdereconsistenta pe bursa din New York.
cauza: sistemul a introdus pe bursa de la New York tranzactiicare au provocat fluctuatii violente ale preturilor multoractiuni.
cost: 440 milioane $.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
Terminologie [Pat05]
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
Terminologie [Pat05]
eroare (engl. error; greseala):
o actiune umana care are ca rezultat un defect ın produsulsoftware;
defect (engl. fault, i.e., bug):
consecinta a unei erori;un defect poate fi latent: nu cauzeaza probleme pana cand nuapar anumite conditii care determina executia anumitor linii decod sursa;
defectiune (engl. failure):
apare atunci cand comportamentul observabil al programuluinu corespunde specificatiei sale;manifestarea unui defect: cand executia programului ıntalnesteun defect, acesta provoaca o defectiune;
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
De ce apar bug-urile ıntr-un produs soft?
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
De ce apar bug-urile ıntr-un produs soft?
Un bug software apare cand cel putin una din urmatoarele situatiiare loc [Pat05]:
Produsul soft nu face ce este precizat ın specificatia lui.
Produsul soft face ce nu este precizat ın specificatie.
Produsul soft face ce specificatia precizeaza ca nu trebuie facut.
Produsul soft nu face ceea ce specificatia ar trebui sa precizeze.
Produsul soft este dificil de ınteles, greu de utilizat, lent. Testerul pune ınevidenta perspectiva utilizatorului final asupra podusului soft, aceea ca nufunctioneaza conform asteptarilor lui.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
De ce apar bug-urile software ın procesul de dezvoltare?
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
De ce apar bug-urile software ın procesul de dezvoltare?
specificarea cerintelor: nu se scriu specificatiile, sunt superficiale, se schimbacontinuu, nu sunt comunicate corespunzator ıntregii echipe de dezvoltare;
proiectare: sunt superficiale, nu se comunica eficient, se modifica;
implementare: complexitatea produsului soft, lipsa documentatiei (pentru codulsursa ımbunatatit), erori de redactare, presiunea termenului limita.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
De ce apar bug-urile software ın procesul de dezvoltare?
specificarea cerintelor: nu se scriu specificatiile, sunt superficiale, se schimbacontinuu, nu sunt comunicate corespunzator ıntregii echipe de dezvoltare;
proiectare: sunt superficiale, nu se comunica eficient, se modifica;
implementare: complexitatea produsului soft, lipsa documentatiei (pentru codulsursa ımbunatatit), erori de redactare, presiunea termenului limita.
Care este etapa de dezvoltare ın care se introduc cele mai multe defecte?
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
De ce apar bug-urile software ın procesul de dezvoltare?
specificarea cerintelor: nu se scriu specificatiile, sunt superficiale, se schimbacontinuu, nu sunt comunicate corespunzator ıntregii echipe de dezvoltare;
proiectare: sunt superficiale, nu se comunica eficient, se modifica;
implementare: complexitatea produsului soft, lipsa documentatiei (pentru codulsursa ımbunatatit), erori de redactare, presiunea termenului limita.
Care este etapa de dezvoltare ın care se introduc cele mai multe defecte?
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
Cat costa un bug?
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
TerminologieDe ce apar bug-urile software?
Cat costa un bug?
costul eliminarii bug-urilor creste pe masura ce produsul soft este dezvoltat.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Calitatea softului
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Calitatea softului
Calitatea softului:
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Calitatea softului
Calitatea softului:
conformitatea cu cerintele functionale si de performantaprecizate,documentate explicit ın standardele de dezvoltare sicaracteristicile implicite pe care un produs soft dezvoltat leare. [Scott Pressman, 2005]
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Activitati pentru asigurarea calitatii softului
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Activitati pentru asigurarea calitatii softului
analiza statica
examinarea unor documente (specificatii, modele conceptuale,diagrame de clase, cod sursa, planuri de testare, documentatiide utilizare);
analiza dinamica
examinarea comportamentului programului cu scopul de aevidentia defectiuni posibile;
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Activitati pentru asigurarea calitatii softului
analiza statica
examinarea unor documente (specificatii, modele conceptuale,diagrame de clase, cod sursa, planuri de testare, documentatiide utilizare);include activitati de inspectare a codului, analiza algoritmului,demonstrarea corectitudinii;nu presupune executia propriu-zisa a programului dezvoltat;
analiza dinamica
examinarea comportamentului programului cu scopul de aevidentia defectiuni posibile;include activitatea de executie propriu-zisa a programului(testare).
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Activitati pentru asigurarea calitatii softului
analiza statica
examinarea unor documente (specificatii, modele conceptuale,diagrame de clase, cod sursa, planuri de testare, documentatiide utilizare);include activitati de inspectare a codului, analiza algoritmului,demonstrarea corectitudinii;nu presupune executia propriu-zisa a programului dezvoltat;
analiza dinamica
examinarea comportamentului programului cu scopul de aevidentia defectiuni posibile;include activitatea de executie propriu-zisa a programului(testare).
metode de analiza complementare;
dezvoltatorii aplica metode hibride, care folosesc avantajelecelor doua abordari.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Verificare si Validare. SEI [NT05]
Software Engineering Institute (SEI)Verificare
Validare
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Verificare si Validare. SEI [NT05]
Software Engineering Institute (SEI)Verificare
asigura ca produsul este dezvoltat conform cerintelorspecificatiilor si standardelor;ıntrebare asociata: Dezvoltam corect produsul? (Are we
building the product right?)
Validare
asigura ca produsul dezvoltat satisface cerintele utilizatorului;ıntrebare asociata: Dezvoltam produsul corect/cerut (cel decare are nevoie clientul)? (Are we building the right product?)
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Verificare si Validare. NASA
• NASA (National Aeronautics and Space Administration) - Software Assurance
Guidebook and Standard;
Verificare
Validare
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Verificare si Validare. NASA
• NASA (National Aeronautics and Space Administration) - Software Assurance
Guidebook and Standard;
Verificareprocesul care asigura pentru produsul soft:
fiecare pas din procesul de dezvoltare duce la obtinerea unuiprodus corect;
Validareprocesul care asigura pentru produsul soft:
va satisface cerintele functionale si non-functionale.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Verificare si Validare. Prezentare comparativa
Verificare
Validare
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Verificare si Validare. Prezentare comparativa
Verificare
stabileste daca rezultatul unei etape de dezvoltare satisfacecerintele acelei etape;
Validare
confirma daca produsul satisface cerintele de utilizare;
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Verificare si Validare. Prezentare comparativa
Verificare
stabileste daca rezultatul unei etape de dezvoltare satisfacecerintele acelei etape;asigurare a consistentei, completitudinii, corectitudinii;
Validare
confirma daca produsul satisface cerintele de utilizare;se desfasoara spre sfarsitul procesului de dezvoltare, cu scopulde a demonstra ca ıntregul sistem satisface nevoile siasteptarile;
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Verificare si Validare. Prezentare comparativa
Verificare
stabileste daca rezultatul unei etape de dezvoltare satisfacecerintele acelei etape;asigurare a consistentei, completitudinii, corectitudinii;aplica tehnici de analiza statica si dinamica;
Validare
confirma daca produsul satisface cerintele de utilizare;se desfasoara spre sfarsitul procesului de dezvoltare, cu scopulde a demonstra ca ıntregul sistem satisface nevoile siasteptarile;se aplica asupra ıntregului sistem, ın contextul real ın care vafunctiona, folosind diferite tipuri de testare.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Evaluarea calitatii produselor softVerificare si Validare
Urmeaza...
Inspectare
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft
SumarBug-uri Software cu pagube semnificative
Ce este un bug software?Evaluarea calitatii
Bibliografie
Bibliografie
K. Naik and P. Tripathy.Software Testing and Quality Assurance.Wiley Publishing, 2005.
R. Patton.Software Testing.Sams Publishing, 2005.
Lector dr. Camelia Chisalita-Cretu Verificarea si Validarea Sistemelor Soft