Verificarea și validarea sistemelor critice [626583]
Universitatea Oradea
Facultatea de Inginerie Electrică și Tehnologia Informației
Verificarea și validarea sistemelor critice
Profesor: Student: [anonimizat]. Univ. Dr. Ing. Ștefan Vari Kakas Romulus-Radu Moldovan-Dușe
An II, 2016-2017
Specializare M.T.I.
Cuprins
1. Introducere…………………………………………………………………………………………………………………………… 3
1.1. Verificarea…………………………………………………………………………………………………………………….. 3
1.2. Validarea………………………………………………………………………………………………………………………. 3
2. Planificarea validarii și verificarii ……………………………………………………………………………………………. 4
3. Metode de verificări ………………………………………………………………………………………………………………. 5
3.1. Recenziile sau review-urile ……………………………………………………………………………………………… 5
3.2. Verificări formale ……………………………………………………………………………………………………………. 6
4. Metode de validare ………………………………………………………………………………………………………………… 6
5. Concluzii……………………………………………………………………………………………………………………………… 7
Bibliografie……………………………………………………………………………………………………………………………… 7
2
1. Introducere
Conceptul de verificare și cel de validare sunt două concepte utilizate frecvent în testarea
programelor software de către specialiști. În cazul sistemelor critice validarea și verificarea sunt
esențiale și fac parte din funcționarea corectă a sistemului.
Atât în timpul, cât și după implementarea sistemului critic, este necesară verificare pentru a ne
asigura ca acel sistem critic corespunde specificațiilor, așteptărilor utilizatorilor și mai ales criterrilor de
siguranță impuse.
Verificarea și Validarea nu reprezintă același lucru, chiar dacă uneori ele sunt confundate.
Diferența între cele două concepte este:
Verificarea: corespunde sistemul cu cerințele specificate?
Validarea : este sistemul în conformitate cu cerintele utilizatorilor?
Diferența este pur teoretică, pentru că în practicǎ, verificarea și validarea face referire la toate
aspectele care garantează cǎ sistemul este sigur și va funcționa conform specificațiilor.
1.1. Verificarea
Acest tip de activitate ne ajută în evaluarea unui produs software pentru a stabili dacă un modul
dintr-o anumită fază de dezvoltare satisface cerințele stabilite înainte de începerea acestei faze.
Activitățile care verifică corectitudinea pentru faza de dezvoltare sunt denumite activități de
verificare[2].
Verificarea este o activitate foarte strictă pe tot parcursul dezvoltării unui sistem critic și
cuprinde următoarele aspecte:
•analizarea specificațiilor
•inspecția proiectării și scrierea documentației care va include detalii legate de codificări
•execuția algoritmilor și testarea lor atât cu date de test corecte cât și cu date de test eronate
•testarea sistemului critic în ansamblu, testarea modulelor cât și testarea integrarii lor
•citirea și actualizarea documentației de fiecare dată când se fac modificări în sistem
1.2. Validarea
Are drept scop sa confirme dacă un produs îndeplinește așteptările clientului. Activitățile de
validare se concentrează pe produsul final, care este testat din punct de vedere al clientului; validarea
stabileste daca produsul îndeplinește așteptările beneficiarului [2].
Validarea deși nu are pași foarte stricți, fiind făcută cu date reale de către beneficiar, ea ne
asigură că sistemul face ceea ce beneficiarul asteaptă să facă și garantează siguranța beneficiarului.
Se verifică întotdeauna funcționarea sistemului în condiții reale de utilizare. Tot în cadrul
validarii beneficiarul trebuie sa verifice atât documentatia de utilizare cât și documentatia de realizare a
3
sistemului.
2. Planificarea validarii și verificarii
Procesele de verificare și validare a unui sistem critic sunt foarte costisitoare, deoarece un
sistem critic este un sistem care funcționează cu multe constrangeri nefuncționale complexe. Astfel cel
puțin jumătate din bugetul unui astfel de proiect este alocat acestor două procese. De aceea rolul
planificării este important, și are ca și scop reducerea cheltuielilor de implementare.
Figura 1 Model de dezvoltare software [6]
Planificarea trebuie să fie făcută la începutul procesului de dezvoltare a unui sistem critic.
Figura de mai sus prezintă un model de dezvoltare a unui produs software în general. Se poate observa
cum planurile de testare derivă din specificațiile de sistem și cele de design. Fiecare fază de dezvoltare
este condusă de teste care au ca și scop validarea conformității programului cu specificațiile.
Din acest proces de planificare a validarii și verificarii fac parte și aspecte legate de luarea
deciziilor cum ar fi tehnici de abordare pentru validare și verificare, definirea standardelor și
procedurilor de inspecție, definirea planului de testare, etc. Cu cât un sistem este mai critic cu atât mai
mult efortul ar trebui alocat mai mult pe tehnici de verificare statică.
Structura unui plan de testare este alcătuit din următoarele etape:
•Procesul de testare – definirea fazelor majore ale procesului de testare
•Urmarirea cerintelor – testarea trebuie planificată în așa fel încât toate cerintele sa poată fi
testate individual
•Componentele de testare – specificarea componentelor hardware care trebuiesc testate
•Programul de testare – va cuprinde programul general de testare și alocarea resurselor
•Înregistrarea procedurilor de testare – realizarea testelor si rezultatele testelor trebuiesc
înregistrate sistematic pentru a face posibilă verificarea ulterioara dacă testul a avut succes sau
nu
4
•Cerintele hardware și software – se va stabili soft-ul necesar pentru testare și încărcarea
hardware estimată
•Constrangeri – specificarea și definirea constrângerilor care vor fi luate în calcul pentru
testare
Un astect foarte important este faptul ca documentația odată scrisă nu va fi statică, ea trebuie să
se modifice pe masură ce sistemul evoluează.
Figura 2 Model de validare și verificare [2]
3. Metode de verificări
Sunt două metode de verificare:
•prin recenzii
•prin verificari formale
3.1. Recenziile sau review-urile
Această metodă este reprezentată de întalniri între cei care dezvoltă proiectul, manageri de
proiect, beneficiari sau alte părti interesate de produs, in vederea aprobarii sau respinderii unor
module/functionalități care tocmai au fost implementate.
În această etapă se pot aduce modificări sau adăugiri la modulul in curs de dezvoltare dacă se
constată ca nu satisface toate cerințele specificate initial.
5
Recenziile pot fi clasificate în funcție de scopul lor după cum urmează:
•Analiza codului – se examinează codul sursă care este scris de dezvoltatori [3]
•Inspectia software-ului – se face în vederea depistării defectelor [3]
•Prezentari de functionalitate – în cadrul acestei revizii apar oportunitățile de înțelegere mai
buna a cerințelor și de sesizare a neconcordanțelor [3]
•Recenzii tehnice – o echipa specializată va analiza dacă produsul este adecvat pentru ce este
destinat si dacă s-au respectat standardele. [3]
•Auditurile informarice – este realizat de personal din afara proiectului in vederea
conformitatii produslui cu specficațiile, standardele si acordurile din contractul inițial.
3.2. Verificări formale
Verificările formale sunt modalitǎțile prin care se aprobǎ sau dezaprobǎ corectitudinea
algoritmilor care stau la baza unui sistem, folosind metode formale, matematice. Verificǎrile formale
sunt foarte folositoare la demonstrarea corectitudinii sistemelor software.[4]
Verificarea formală include trei tipuri de verificări:
1.Modelul checking – constǎ în explorarea sistematicǎ si exhaustivǎ a modelului matematic.
Aceastǎ metodǎ rezolvǎ urmatoarea problemǎ: dȃndu-se modelul unui sistem, se verificǎ dacǎ
acesta indeplinește o anume specificație datǎ. Pentru a rezolva aceastǎ problemǎ dupa un
algoritm, modelul sistemului și specificațiile acestuia vor fi formulate intr-un limbaj matematic
precis.[6]
2.Interfata logica – este reprezentatǎ de inferența logicǎ care constǎ in folosirea unei versiuni
formale a unui raționament matematic. [6]
3.Derivarea de program – o alta metodă este reprezentată de derivarea de program, cȃnd
producerea de cod eficient se face plecȃnd de la specificațiile funcționale și se urmeazǎ o serie
de pași cu rolul de a conserva corectitudinea. [6]
4. Metode de validare
Din punct de vedera a clasificării validarilor s e pot considera următoarele trei metode :
4.1.Validare în perspectivǎ reprezintă activitațile desfǎșurate înainte ca modulele noi sǎ fie lansate
pentru a se asigura ca standardele de funcționare sunt corecte si sigure. [3]
4.2.Validare retrospectivǎ reprezintă evaluarea pentru partile deja functionale din sistem. Se reia
verificarea specificațiilor și verificarea rezultatelor de la teste, iar in cazul in lipsesc date se întrerupe
dezvoltarea modulului curent din sistem. [3]
4.3.Validare curentǎ are loc in acelasi timp cu faza de proiectare/dezvoltare curenta. [3]
6
5. Concluzii
Metodele de validare și verificare sunt importante în dezvoltarea de produse soft, deoarece
acestea fac posibile înțelegerea și punerea în discuție a problemei, descoperirea contradicțiilor de orice
natură prin notații clare și precise.Totodată trebuie luat în calcul și satisfacerea nevoilor și îndeplinirea
cerințelor clientului pentru a-i ușura munca.
De asemenea un proces al validării și verificării neatent supravegheat poate duce la un produs
defectuos și chiar la realizarea unui produs neperformant cu costuri mult prea ridicate.De aceea este
nevoie de documentare în derularea fiecărei etape pentru a găsi cu ușurință greșelile și pentru avea la
dispoziție un set bogat de soluții.
Bibliografie
[1]. Fundamente de inginerie Software, Testare și Validare
http://staff.cs.upt.ro/~dan/curs/fis/Cap7_Testare.pdf
[2]. Testarea software si asigurarea
calitatii http://www.shiva.pub.ro/PDF/TEST/Testarea%20software%20si%20asigurarea%20calitatii
%20-%20curs2.pdf
[3]. Verification and validation https://en.wikipedia.org/wiki/Verification_and_validation
[4]. Formal verification
http://en.wikipedia.org/wiki/Formal_verification
[5]. Software review
https://en.wikipedia.org/wiki/Software_review
[6]. Modeling checking
https://en.wikipedia.org/wiki/Model_checking
7
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Verificarea și validarea sistemelor critice [626583] (ID: 626583)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
