Cosma Casandra Universitatea Politehnica Timisoara Facultatea de Automatica si calculatoare CONTINUT Introducere Tipuri de sisteme Introducere in testare Tehnici de testare Testare specifica sistemelor in timp real Nivele de testare a sistemelor Concluzii
INTRODUCERE Un sistem in timp real este un sistem n care timpul la care se furnizeaz ieirile este semnificativ. Aceasta se ntmpl deoarece intrrile corespund unor modificri din lumea fizic i ieirile trebuie s se raporteze la respectivele modificri. ntrzierea dintre timpul de intrare i timpul de ieire trebuie s fie suficient de mic pentru ca promptitudinea s fie acceptabil. Exemple de sisteme in timp real: sisteme de control a traficului aerian, sisteme medicale, sisteme pentru aparate electrocasnice TIPURI DE SISTEME Exista doua categorii de sisteme: sisteme in timp real soft si sisteme in timp real hard Sistem in timp real hard - incapacitatea de a rspunde la un eveniment ntr-un termen specificat este considerat un eec total al sistemului Sistem in timp real soft deadline-urile nu sunt chiar atat de stricte ca si in cazul sistemelor hard; incalcarea unui deadline nu conduce neaparat la esecul sistemului INTRODUCERE IN TESTARE Testarea este foarte importanta pentru evitarea esecurilor sistemelor; de asemenea testarea face parte din ciclul de viata al sistemului Scopul testarii este gasirea si rezolvarea erorilor inainte ca sistemul sa ajunga la utilizatorul final. Testarea dinamica este cea mai importanta metoda analitica pentru asigurarea calitatii sistemelor, deoarece este singura metoda care permite examinarea comportamentului sistemului in timpul executiei Testarea este cea mai complexa si de lunga durata activitate din dezvoltarea sistemelor in timp real. De multe ori mai mult de 50% din bugetul alocat dezvoltarii sistemului este cheltuit pe testare
TESTARE BLACK BOX o doar intrarile si iesirile se iau in considerare o nu conteaza cum sunt generate iesirile o se efectueaza o serie de teste: - folosind combinatii exhaustive ale datelor de intare - cazuri extreme ( valori minime, maxime) - folosind date de intrare care ar putea genera erori
TESTARE WHITE BOX Testeaza tot codul dintr-un modul Presupune ca persoana care conduce testele intelege foarte bine codul si stie cum trebuie sa functioneze sistemul Avantaj: sistemul se poate testa inainte sa fie gata interfata cu utilizatorul
TESTARE SPECIFICA SISTEMELOR IN TIMP REAL Sistemele in timp real au constrangeri de timp foarte stricte si un comportament determinist. Acest lucru este datorat faptului ca sistemele trebuie sa isi programeze task-urile astfel incat sa respecte constrangerile impuse. Analizele statice conventionale nu sunt adecvate acestor constrangeri de timp de aceea testarea sistemelor in timp real este foarte importanta. TESTARE SPECIFICA SISTEMELOR IN TIMP REAL Strategia de testare a acestor sisteme contine patru pasi: Testarea task-urilor: fiecare task este testat individual folosind testarea statica conventionala; ordinea evenimentelor nu conteaza deoarece testarea task- ului nu este in functie de constrangerile de timp Testarea comportamentala: folosind modulele sistemului proiectate cu ajutorul tool-urilor de testare automata, este posibil sa se simuleze comportamentul sistemului in timp real si impactul evenimentelor externe concurente asupra acestuia TESTARE SPECIFICA SISTEMELOR IN TIMP REAL Intertask testing: dupa ce testarea taskurilor individuale este finalizata se presupune ca acestea sunt fara erori din punct de vedere al codului sau al comportamentului; constrangerile referitoare la timp sunt testate prin metoda intertask testing Testarea sistemului: in acest caz software-ul si hardware-ul sunt integrate si se realizeaza un set complet de teste pentru a descoperi daca exista erori la incorporarea software-ului in componentele hardware NIVELE DE TESTARE A SISTEMELOR IN TIMP REAL Unit testing - se concentreaza pe cele mai mici unitati software ( module, functii, proceduri) - se testeaza caile de control a sistemului - este in general testare white box Testarea integrarii software-ului - testare care are loc atunci cand modulele testate sunt introduse in structura generala a programului - testele se concentreaza pe interfetele dintre module - testare de catre dezvoltator sau de o echipa de testare independenta - in general testare black box Verificarea si validarea software-ului - verificarea software-ului : teste concepute sa gaseasca erori in sistem Integrarea software/ hardware - software-ul este incorporat cu alte alemente ale sistemului - gruparile sunt testate pentru a determina daca functioneaza impreuna - procesul continua pana cand toate partile hardware si software sunt introduse in intregul sistem
NIVELE DE TESTARE A SISTEMELOR IN TIMP REAL Testarea intregului sistem Teste de recuperare - fortarea sistemului sa esueze in mai multe feluri pentru a vedea daca sistemul isi revine Teste de securitate - stresarea mecanismelor de protectie/securitate integrate in sistem Testarea sistemului in conditii de stres - confruntarea sistemului cu situatii normale si anormale Testarea performantelor sistemului - se verifica daca sistemul functioneaza in limita performantelor
CONCLUZII Testarea este o parte importanta din ciclul de viata al sistemelor Prin testare se incearca evitarea esecului Testarea inseamna: - descoperirea erorilor - rezolvarea acestora - evidentierea performantelor si a calitatii sistemului Testare: black box si white box Testarea unui sistem se face pe nivele VA MULTUMESC PENTRU ATENTIE!