Testarea integrare

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

testarea integrare power point. in prezentare este descrisa una din metodele de testare a programelor

Text of Testarea integrare

Testarea de performan

Testarea de IntegrareAutor: Cristian Ilie Grupa: TI121Testarea Software

Tehnicile si metodele moderne de elaborare a produselor software acorda o importanta deosebita efortului de inlaturare a erorilor de analiza, proiectare si programare prin folosirea unor mijloace evoluate.

Testarea reprezinta o etapa importanta in procesul de realizare a produselor software. Ponderea cheltuielilor cu testarea reprezinta intre 30% si 50% din totalul cheltuielilor pentru dezvoltarea unei aplicatii software. Testarea Software Testarea este procesul prin care se executa un program cu intentia de a gasi erori, conform Myers, The Art of Software Testing

Mai mult, testarea este utilizata pentru a semnala prezenta defectelor unui program, fara a garanta absenta lor, Dijkstra. De unde putem deduce faptul ca un test de success este Acela care descopera si localizeaza o eroare.

Erori, costuri

Intr-un program/aplicatie cauzele aparitiei erorilor sunt diverse, dintre care: Deficientele din specificatii aproximativ 60 %; Erori de proiectare aproximativ 30 %; Erorile de programare uneori sub 15 %Testele de integrare

examineaza mai multe trasaturi si componente ale unui software individual cu scopul de a determina daca o trasatura ori o componenta noua se potriveste bine cu (sau se integreaza in) trasaturile si componentele deja existente. Un modul software sau componenta reprezinta un element de sine statator al unui sistem. Modulele poseda interfete bine definite cu alte module. Ele pot fi subroutine, functii, procedure, clase sau colectii ale acestor elemente combinate pentru a furniza un serviciu de o calitate superioara. Un sistem este o colectie de astfel de module interconectate intre ele pentru a indeplini un obiectiv.Testele de integrare sunt folosite pentru a dovedi ca toate trasaturile si componentele software functioneaza bine impreuna. Importanta testarii de integrare reiese din urmatoarele considerente:-Modulele sunt create in general de dezvoltatori diferiti, ce pot lucre din diferite locatii. In ciuda eforturilor depuse la realizarea design-ului de sistem si a documentatiei, pot aparea erori, interpretari gresite sau omisiuni. Erori de interfata module dezvoltate de programatori diferiti sunt inevitabile; - Testarea unitara a modulelor individuale este efectuata intr-un mediu controlat folosind driver-e de test. Daca un modul sub testare unitara invoca alte module eficienta testarii este constransa de abilitatea programatorului de a testa toate caile. Astfel, mostenind limitarile de la testarea unitara, este dificil de prevazut comportamentul unui modul in mediul sau de lucru dupa ce s-a realizat testarea unitara;

- Unele module sunt mai predispose la erori decat altele din cauza complexitatii acestora. Este esentiala identificarea celor care cauzeaza cele mai multe esecuri. Tipuri de testare: Smoke testing

Este o varianta a testarii de integrare ce permite echipei de dezvoltare sa evalueze frecvent starea sistemului soft. - componentele soft deja implementate sunt integrate intr-un build (constituit din toate fisierele de date, bibliotecile, modulele reutilizabile si componentele necesare pentru implementarea uneia sau mai multor functii ale sistemului soft); - se proiecteaza un set de teste menite sa expuna (dezvaluie) erorile care impiedica build-ul sa functioneze normal; - build-ul se integreaza cu alte build-uri si sistemul soft in ansamblu (ceea ce s-a implementat) este testat zilnic.

Regression testing

Reprezinta re-executia unui subset de teste, ori de cate ori la testarea de integrare sau la intretinere se adauga/modifica un modul, in scopul gasirii eventualelor erori de integrare provocate de efecte secundare. Procedura de integrare are doua forme principale:

Testarea neincremental (big-bang testing)Consta in integrarea componentelor prin gruparea tuturor modulelor dintr-o data, urmata de testarea intregului ansamblu. Acest tip de integrare nu este recomandata, deoarece corectarea erorilor va fi foarte greu de realizat.

Testarea incrementala

Presupune construirea structurii programului pas cu pas si testarea ansamblului obtinut. Un element important in executia testului este secventa in care modulele trebuie sa fie testate. Astfel, testarea de integrare se realizeaz ascendent (bottom-up) sau descendent (top-down). Integrarea descendenta Etape:1. Construirea arhitecturii initiale+modulul principal se foloseste pe post de driver de test (program de test);+modulele apelate se inlocuiesc cu inlocuitori (stub);2. Construirea arhitecturii: pentru fiecare modul ramas de integrat+ se selecteaza modulul M care se integreaza in arhitectura existenta in loculinlocuitorului sau;+ se efectueaza testele de integrare pentru M;+(optional) se efectueaza teste de regresie (aferente modulele deja integrate) pentru a se asigura ca integrarea noului modul nu produce efecte secundare (nedorite); +pasul 2 se repeta pana cand s-au integrat toate modulele.

Integrarea ascendenta Etape:1. Construirea grupurilor: pentru fiecare grup (cluster, build)+ modulele frunza integrate in el realizeaza impreuna o subfunctie;+ se scrie un program de test (driver) pentru citirea datelor de test si scrierearezultatelor;+ se testeaza grupul curent.2. Construirea arhitecturii: grupurile testate se integreaza succesiv pana se ajunge lasistemul complet+ se inlatura programele de test Driver1 si Driver2 pentru doua grupuri G1 si G2 si seintegreaza grupurile intr-un grup G;+se scrie un program de test Driver12 pentru G;+ se testeaza G;+pasul 2 se repeta pana cand s-a construit integral sistemul.

Mulumesc pentru atenie!