Documente Academic
Documente Profesional
Documente Cultură
Introducere
Marius Minea 26 septembrie 2013
- aparat medical pentru terapie cu radiat ie - 6 accidente cu mort i si r ani grave (1985-87, SUA, Canada) - cauza direct a: erori in programul de control
- aparat medical pentru terapie cu radiat ie - 6 accidente cu mort i si r ani grave (1985-87, SUA, Canada) - cauza direct a: erori in programul de control Analiz a retrospectiv a [Leveson 1995]: ncredere excesiv a n software ( n analiza produsului) abilitate = sigurant a lipsa m asurilor de sigurant a hardware lipsa practicilor de ingineria program arii (proiectare defensiv a, specicare, documentat ie, simplitate, analiz a formal a, testare) corectarea unei erori nu face sistemul mai sigur !!
Eroare n unitatea de mp a tire cu virgul a mobil a, 1994 algoritm de mp art ire cu refacere, n baza 4 determin a urm atoarea cifr a din c at dintr-un tabel c ateva intr ari marcate gre sit ca dont care cost: cca. 500 milioane dolari
Eroare n unitatea de mp a tire cu virgul a mobil a, 1994 algoritm de mp art ire cu refacere, n baza 4 determin a urm atoarea cifr a din c at dintr-un tabel c ateva intr ari marcate gre sit ca dont care cost: cca. 500 milioane dolari Analiz a retrospectiv a Circuitul putea vericat formal - demonstrare automat a de teoreme - cu structuri speciale de date pentru reprezentarea nmult irii / mp art irii dar accentul a fost pus pe componente mai complexe (unitatea de execut ie, coerent a memoriei cache)
1. procesul A de prioritate mic a obt ine resursa R 2. A ntrerupt de C (prioritate mare) 3. C a steapt a eliberarea lui R; A revine n execut ie 4. A ntrerupt de B (prioritate medie, A < B < C) C a steapt a dup a B, de si nu depinde de el si are prioritate mai mare! Solut ia: ridicarea priorit a tii unui proces care obt ine o resurs a (A) la nivelul celui mai prioritar proces care poate solicita resursa (C)
Mars Climate Orbiter, 1998 dezintegrare la intrarea n atmosfer a eroarea tehnic a: discrepant a ntre unit a ti de m asur a n sistemele anglo-american si metric erori multiple de proces: lipsa unor interfet e formale Mars Polar Lander, 1998 trenul de aterizare e activat prematur la intrarea n atmosfer a socul e interpretat ca aterizare, motoarele sunt oprite eroarea: lipsa test arii de integrare
Citit ti: Forum on Risks to the Public in Computers and Related Systems http://catless.ncl.ac.uk/Risks
Software Engineering Institute Capability Maturity Model Integration: Vericarea asigur a c a produsul e construit n concordant a cu cerint ele, specicat iile si standardele. Sunt ndeplinite cerint ele specicate ? Produsul e construit corect (cum trebuie) ? (are we building the product right?) Validarea asigur a a produsul va utilizabil pe piat a. Produsul acoper a nevoile operat ionale ? Produsul poate utilizat n mediul intent ionat ? Se construie ste produsul care trebuie ? (are we building the right product?)
V & V: terminologie
NASA Software Assurance Guidebook and Standard: V&V: Procesul de a asigura c a produsul software: va satisface cerint ele (funct ionale si altele) validare si ecare pas n construirea sa rezult a un produs corect vericare Diferent a dintre vericare si validare e important a doar pentru teoretician; practicienii folosesc V&V referindu-se la toate activit a tile care asigur a c a software-ul va funct iona conform cerint elor.
Ce e testarea ?
Testarea e procesul prin care se execut a un program cu intent ia de a g asi erori (Myers, The Art of Software Testing).
Ce e testarea ?
Testarea e procesul prin care se execut a un program cu intent ia de a g asi erori (Myers, The Art of Software Testing). Aparent la fel, dar de fapt invers ( si fals) Testarea e procesul de a demonstra c a programul nu are erori. (imposibil doar prin testare) Dijkstra: Testing can be used very eectively to show the presence of bugs but never to show their absence. un test de succes e acela care descoper a ( si localizeaz a) o eroare.
Ce e testorul ?
Rolul unui testor e s a g aseasc a erori c at mai devreme cu putint a (costul corect arii cre ste odat a cu timpul) si s a asigure corectarea lor (rapoarte, depanare, mentenant a) (Patton, Software Testing)
Cauza / sursa erorilor cele mai multe, cauzate de decient e n specicat ie apoi cele origin and n faza de proiectare doar relativ put ine (uneori sub 15%) erori directe de programare Costul erorilor cre ste, chiar exponent ial, avans and n procesul de product ie O($1) la specicare, O($1000+) dup a livrare
What Makes a Good Software Tester (Patton) They They They They They They They They are explorers. are troubleshooters are relentless are creative are (mellowed) perfectionists exercise good judgment are tactful and diplomatic (?) are persuasive (!)
Testarea software e un exercit iu de apreciere a riscurilor Cu c at mai multe erori g ase sti, cu at at mai multe sunt Paradoxul pesticidelor (Beizer): erorile devin reziliente la teste (pentru a g asi erori noi e nevoie de teste noi) Nu toate erorile g asite vor corectate E greu de spus c and o eroare e o eroare ... Specicat iile produselor nu sunt niciodat a denitive Testorii nu sunt cei mai populari membri ai echipei de proiect :) Testarea de software e o profesie tehnic a guvernat a de o disciplin a
[Cem Kaner, Black-box software testing course, Florida Inst. of Tech] Ce test am ? Ce vrem s a a am din asta ? Care e misiunea test arii ? Cum organiz am lucrul pentru a ndeplini misiunea ? Problema strategiei test arii C and am testat destul ? Problema m asur arii n testare
o investigat ie tehnic a a produsului de testat efectuat a pentru a oferi persoanelor implicate informat ie legat a de calitate [Kaner] investigat ie: c autare activ a, organizat a de informat ii tehnic a: experimente, logic a, modele, algoritmi, unelte produsul testat: ce prime ste clientul, n totalitate (software, hardware, baze de date, documentat ie, etc.) persoane implicate: n succesul produsului, si al test arii
puternic: sans a mare de a descoperi o anumit a eroare dac a exist a conving ator (problem a important a) si credibil (e realist s a apar a) reprezentativ / probabil pentru client u sor de evaluat (e o eroare sau nu?) / u sor de depanat / informativ de complexitate potrivit a (progresiv a) relevant privind funct ionarea / performant a produsului (de ex. detecteaz a modic ari n comportament / performant a)