testarea sistemelor de calcul ş i a re ț elelor

18
2010 1 TSCR -curs- Ionescu Augustin-Iulian

Upload: dianne

Post on 09-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Testarea sistemelor de calcul ş i a re ț elelor. Calitatea. Capitolul 1. Ce este calitatea ?. La ora actual ă în absolut toate domeniile de activitate se utilizeaz ă conceptul calitate . Exista doua moduri de abordare a calit ăț ii [6]: Abordarea popular ă ; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Testarea  sistemelor de calcul  ş i a  re ț elelor

2010 1TSCR -curs- Ionescu Augustin-Iulian

Page 2: Testarea  sistemelor de calcul  ş i a  re ț elelor

2010 1-2TSCR -curs- Ionescu Augustin-Iulian

Page 3: Testarea  sistemelor de calcul  ş i a  re ț elelor

Ce este calitatea ?La ora actuală în absolut toate domeniile de activitate se utilizează conceptul calitate.

Exista doua moduri de abordare a calității [6]:

Abordarea populară;

Abordarea profesională.

În general, abordarea populară a calității presupune că aceasta poate fi discutată şi chiar apreciată, dar nu poate fi masurată şi cuantificată, conform principiului “o recunosc când o văd” ("I know it when I see it.“). Aprecierea calității se face prin termeni vagi cum ar fi bună, proastă, acceptabilă. Consecința acestei abordări este aceea că se consideră că este foarte greu sau chiar imposibil să controlăm sau administrăm calitatea.

O altă abordare populară restrânge clasa produselor de calitate la produsele de lux, scumpe.

Abordarea profesională, bazata pe principii ingineresti, presupune calitatea ca fiind un concept riguros definit, măsurat, monitorizat, administrat şi ȋmbunătățit.

2010 1-3TSCR -curs- Ionescu

Augustin-Iulian

Page 4: Testarea  sistemelor de calcul  ş i a  re ț elelor

Ce este calitatea ? Observație! În cadrul cursului ne interesează numai abordarea profesională a

calității.

Au fost redactate standarde de calitate pentru foarte multe domenii, inclusiv software şi hardware.

Nu există totuși o definiție unanim acceptată pentru conceptul calitate.

Modul de definire a acestui concept a variat mult de-a lungul timpului.

O problemă importantă care a trebuit rezolvată este punerea la punct a unor metode şi tehnici de măsurare a calității.

Diverse definiții ale calității au fost formulate din diverse perspective (din punct de vedere filosofic, al produsului, al diverşilor actori participanți la procesul de producție).

Observație! În cadrul cursului se vor utiliza ȋn special definițiile bazate pe perspectivele producătorului şi utilizatorului.

2010 1-4TSCR -curs- Ionescu

Augustin-Iulian

Page 5: Testarea  sistemelor de calcul  ş i a  re ț elelor

Ce este calitatea ?

2010 1-5TSCR -curs- Ionescu

Augustin-Iulian

producatorutilizatori

produs

perspectiva filosofica

CALITATE

perspectiva bazata pe valoare

Page 6: Testarea  sistemelor de calcul  ş i a  re ț elelor

Metrici

Metrica (metric) – o măsură cantitativă a gradului ȋn care un sistem, o componentă sau un proces posedă un anumit atribut.

Exemple: pentru programe – numărul liniilor de cod; pentru sisteme – numărul de componente, disiparea de căldură ; pentru componente – tehnologie, preț; pentru procese – costul , timpul de execuție al unei sarcini.

Metrică a calității (quality metric) – o măsură cantitativă a gradului ȋn care o entitate posedă un anumit atribut de calitate. Exemple:

corectitudinea (correctness) – gradul in care un sistem realizeaza funcțiile pentru care a fost creat;

siguranța ȋn funcționare (reliability, fiability) – măsoară gradul ȋn care se aşteaptă ca softwareul să realizeze funcțiile specifice ȋn condițiile şi intervalul de timp precizate;

integritatea (integrity) – abilitatea sistemului de a rezista unor atacuri accidentale sau intenționate.

2010 1-6TSCR -curs- Ionescu

Augustin-Iulian

Page 7: Testarea  sistemelor de calcul  ş i a  re ț elelor

Atribute de calitate software - exemple

capabilitate (capability) - utilizabilitate (utilizability) performanța (performance) siguranta in funcționare (reliability) simplitatea instalării (installability) mentenabilitatea (maintainability) documentarea (documentation) disponibilitatea (availability)

2010 1-7TSCR -curs- Ionescu

Augustin-Iulian

Page 8: Testarea  sistemelor de calcul  ş i a  re ț elelor

Atribute de calitate software - interacțiune

2010 1-8TSCR -curs- Ionescu

Augustin-Iulian

capabilitatea

utilizabilitatea

siguranta in functionare

performanta

instalabilitate

mentenabilitate

documentare

disponibilitate

capa

bilita

tea

utiliz

abilit

atea

perfo

rman

ta

sigur

anta

in fu

nctio

nare

insta

labilit

ate

men

tena

bilita

te

docu

men

tare

dispo

nibilit

ate

Interactiune conflictuala

Interactiune de sustinere

Nu interactioneaza

Page 9: Testarea  sistemelor de calcul  ş i a  re ț elelor

Modele ale calității

Modelul calității (Quality Model) - un model care are ca obiectiv descriere, estimării şi/sau predicția calității [7].

Metamodelul calității (Quality Meta Model) – un set de structuri şi reguli necesare editării unui anumit model al calității [7].

Suportul modelării calității (Quality Modelling Framework) - suportul necesar definirii, evaluării şi ȋmbunătățirii calității. Include un metamodel şi o metodologie care permite instanțierea metamodelului şi utilizarea instanțelor ȋn definirea, estimarea, predicția şi ȋmbunătățirea calității [7].

În lucrarea [7] sunt propuse trei tipuri de modele, corespunzătoare celor trei obiective ale modelului calității:

modele ale definirii/descrierii (definitions models);

modele ale estimării (assessment models);

modele ale predicției (prediction models).

2010 1-9TSCR -curs- Ionescu

Augustin-Iulian

Page 10: Testarea  sistemelor de calcul  ş i a  re ț elelor

Modele ale calității

2010

1-10

TSCR -curs- Ionescu Augustin-Iulian

Modele pentru definire

Modele pentru estimare

modele pentru predictie

Page 11: Testarea  sistemelor de calcul  ş i a  re ț elelor

Calitatea sistemelor informatice Calitatea software poate fi definitǎ ca totalitatea însuşirilor tehnice, economice

şi sociale ale aplicaţiilor informatice.

Calitatea hardware poate fi definitǎ ca totalitatea însuşirilor tehnice, economice şi sociale ale echipamentelor care suporta o aplicație informatică.

De la aplicaţie la aplicaţie caracteristicile de calitate au un rol diferenţiat, dat de specificul aplicaţiei.

Pentru aplicaţiile în timp real produsele software/hardware trebuie sǎ aibǎ optimalitate în ceea ce priveşte minimizarea duratei de prelucrare.

Pentru aplicaţiile în care se prelucreazǎ volume foarte mari de date, corectitudinea si siguranta in functionare sunt esenţiale.

Pentru aplicaţiile în care variaţiile la nivelul algoritmilor de prelucrare, la nivelul structurilor de date sunt deosebit de frecvente, mentenanţa este caracteristica de calitate asupra cǎreia dezvoltatorii de software trebuie sǎ insiste foarte mult.

Pentru aplicațiile critice accentul se pune ȋn mod deosebit pe fiabilitate dar poate fi critică şi viteza de lucru.

20101-11

TSCR -curs- Ionescu Augustin-Iulian

Page 12: Testarea  sistemelor de calcul  ş i a  re ț elelor

Ce este calitatea sistemelor informatice Calitatea infrastructurii poate fi definitǎ ca totalitatea însuşirilor tehnice,

economice şi umane ale mediului care suportă aplicaţiile informatice.

Se referă la: calitatea locațiilor pentru sistemele informatice;

calitatea mediului de lucru;

calitatea rețelelor de calculatoare;

calitatea personalului care asigură service;

calitatea operatorilor.

20101-12

TSCR -curs- Ionescu Augustin-Iulian

Page 13: Testarea  sistemelor de calcul  ş i a  re ț elelor

Metrici de calitate software[6][8][9]

Fiabilitatea este cea mai importantǎ caracteristicǎ de calitate software şi constǎ în capacitatea aplicaţiei informatice de a-şi menţine nivelul de performanţǎ în anumite condiţii date pentru o perioadǎ specificatǎ de timp. Un produs trebuie sǎ aibǎ cât mai puţine eşuǎri şi sǎ fie cât mai uşor de reparat.

Eficienţa este caracteristica de calitate software reprezentatǎ prin gradul cu care aplicaţia informaticǎ îşi îndeplineşte scopurile fǎrǎ sǎ iroseascǎ resursele. Ea se referǎ la relaţia dintre nivelul de performanţǎ şi volumul de resurse utilizate în anumite condiţii.

Corectitudinea este caracteristica de calitate cel mai greu de acoperit. Ea indicǎ gradul în care o aplicaţie informaticǎ satisface cerinţele din specificaţii. Pentru produsele software care au o complexitate mare este imposibilǎ o testare exhaustivǎ care sǎ ofere certitudinea cǎ toate erorile au fost depistate şi corectate.

Mentenabilitatea este caracteristica de calitate care se evidenţiazǎ dupǎ lansarea în execuţie a aplicaţiei informatice şi reprezintǎ uşurinţa cu care se fac modificǎri pentru a satisface noi cerinţe sau pentru a corecta deficienţe.

20101-13

TSCR -curs- Ionescu Augustin-Iulian

Page 14: Testarea  sistemelor de calcul  ş i a  re ț elelor

Metrici de calitate software Portabilitatea se referǎ la uşurinţa cu care programul software este folosit pe alte

platforme software/hardware decȋt cele prevăzute inițial.

Reutilizabilitatea se exprimǎ prin uşurinţa cu care se poate refolosi un produs software în dezvoltarea altui produs. Prin refolosirea unui software existent, dezvoltatorii pot crea aplicaţii informatice mai complexe într-o perioadǎ mai scurtǎ de timp.

Inteligibilitatea presupune deducerea cu effort cȋt mai mic a scopului pentru care a fost creat produsul şi a modului de utilizare. Implică obligația ca toată documentația de proiectare şi utilizare să fie foarte clar scrisă. Are un caracter subiectiv, deoarece aprecierea este ȋn funcție de cei care utilizează produsul şi de scopul pentru care ȋl utilizează.

Completitudinea implică prezența tuturor componentelor unui produs, ȋn stare funcțională şi la un nivel calitativ corespunzător. De exemplu, dacă este necesar apelul la un subprogram, acesta trebuie sa existe şi să poată fi apelat. În cazul sistemelor de calcul de uz general, multe componente se instalează separat ȋn funcție de necesitățile curente ale beneficiarului.

20101-14

TSCR -curs- Ionescu Augustin-Iulian

Page 15: Testarea  sistemelor de calcul  ş i a  re ț elelor

Metrici de calitate software Conciziunea presupune reducerea cȋt mai mult posibil a cantității de date sau a

numărului de operații necesare rezolvării unei probleme. De exemplu, se recomandă utilizarea ȋntr-un program a numărului minim de linii de cod, dar aceasta poate să afecteze negativ inteligibilitatea programului. Proprietatea este valabilă şi pentru documentație.

Testabilitatea reprezintă o caracteristică implementată ȋn timpul procesului de sinteză, care simplifică procesele de verificare şi validare a produsului. Această proprietate implică creşterea inteligibilității produsului şi uneori chiar adăugarea unor facilități noi. De exemplu, testarea unei scheme secvențiale este mult mai dificilă decȋt cea a unei scheme combinaționale şi este necesar să fie introduse fie posibilitatea de vizualizare a starilor pentru cei care realizează testarea fie anumite programe de testare. Conduce ȋn general la creşterea prețului de cost şi la redundanța ȋn structura produsului.

Utilizabilitatea asigură o interacțiune simplă, ergonomică (cu minim de efort psihic şi fizic), pentru utilizatorii de bază. De exemplu, ȋntr-o aplicație peste baze de date este esențial modul cum au fost gândite formularele de achiziție a datelor şi rapoartele.

2010

1-15

TSCR -curs- Ionescu Augustin-Iulian

Page 16: Testarea  sistemelor de calcul  ş i a  re ț elelor

Metrici de calitate software Securitatea măsoară abilitatea sistemului de a face față unor atacuri care vizează

furtul/distrugerea datelor sau afectează funcționalitatea acestuia.

Pentru caracteristicile de calitate incluse în sistemul de caracteristici se definesc indicatori care se bucurǎ de urmǎtoarele proprietǎţi:

normare pe acelaşi interval;

aceeaşi structurǎ de variabile;

acelaşi nivel de complexitate;

acelaşi mod de culegere a datelor.

20101-16

TSCR -curs- Ionescu Augustin-Iulian

Page 17: Testarea  sistemelor de calcul  ş i a  re ț elelor

Bibliografie[1] Kitchenham, S. L., Pfleeger, Software Quality: The Elusive Target. IEEE

Software,13(1), 12-21, 1996.

[2] Marc-Alexis Côté, Witold Suryn PhD, Elli Georgiadou, Software Quality Model Requirements for Software Quality Engineering, http://profs.logti.etsmtl.ca/wsuryn/research/SQE-Publ/Quality%20model_requirements.%20SQM2006.pdf, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.90.677, 2006

[3] Linda H. Rosenberg, Theodore F. Hammer, Lenore L. Huffman, Requirements, Testing, and Metrics, In 15th Annual Pacific Northwest Software Quality Conference, 1998, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.101.7103

[4] F. Deissenboeck ,  S. Wagner ,  M. Pizka ,  S. Teuchert, An activity-based quality model for maintainability, In Proc. 23rd International Conference on Software Maintenance (ICSM ’07), 2007 IEEE Computer, 2007 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.149.5847

[5] Stefan Wagner, Florian Deissenboeck, An Integrated Approach to Quality Modelling, In Proc. 5th Workshop on Software Quality (5-WoSQ). IEEE Computer, 2007 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.72.1993

2010

1-17

TSCR -curs- Ionescu Augustin-Iulian

Page 18: Testarea  sistemelor de calcul  ş i a  re ț elelor

Bibliografie[6] Stephen H. Kan , Metrics and Models in Software Quality Engineering,

Second Edition, Addison Wesley, 2002

[7] Florian Deissenboeck, Elmar Juergens, Klaus Lochmann, Stefan Wagner, Software Quality Models: Purposes, Usage Scenarios and Requirements, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.149.4330, 2008

[8] Enescu Nicolae-Iulian, Modele pentru evaluarea corectitudinii aplicaţiilor informatice distribuite, Teza de doctorat, ASE Bucureşti, 2008

[9] *** Software quality, http://en.wikipedia.org/wiki/Software_quality#Software_Quality_Factors

2010

1-18

TSCR -curs- Ionescu Augustin-Iulian