Sunteți pe pagina 1din 6

Tehnici de testare

Testarea software-ul este orice activitate care vizeaz evaluarea un atribut sau capacitatea unui program sau sistem i determinarea c acesta ndeplinete rezultatele sale necesare. Exista mai multe definitii ale testarii cum ar fi: Testarea e procesul prin care se executa un program cu intentia de a gasi erori: - Myers Testarea este utilizata pentru a semnala prezenta defectelor unui program, fara a garanta absenta lor Dijkstra Cand vorbim despre testarea unui program, vorbim despre multi termini specifici: Defect Defect Exceptie Variance Esec Failure Problema Problem Eroare Error Incident Incident Anomalie Anomaly Inconsistenta Inconsistency Aparenta Feature Neajuns Fault Bug De ce se testeaza un produs? Scopul principal pentru procesul de testare este identificarea erorilor de software, izolarea si fixarea defectelor care au cauzat acele erori. Testarea este mai mult decat o depanare. Calitatea unui produs este indicate doar prin testarea acestuia. Aceasta se efectueaza pentru a asigura clientului un soft de calitate, pentru a se verificat daca cerintele clientului au fost respectate. In scopul destarii deseori se include atat dtestarea static a codului sursa cat si examinarea codului in executie, in diferite imprejurari si sub diferite conditii. Testarea software-ul este un compromis intre buget, timp i calitate. Satisfacerea nevoii clientului este cheia spre o afacere reusita.

De unde apar erorile? Principala sursa a aparitiei erorilor este slaba comunicare intre membrii echipei care participa la dezvoltarea produsului. Am fi tentati sa spunem ca un software nu functioneaza corect din cauza codului sursa insa, de cele mai multe ori, echipa nu intelege exact cerintele clientului, lacunele si neclaritatile, cerinte ascunse sau incomplete pot duce la un set de erori incepand de la proiectarea programului ca design ca apoi ducand la eroarea de cod. Daca ar fi sa o luam statistic erorile se produc din aceasta cauza : Deficient de specificatie 60 % Erori de proiectare 30 % Erori de programare uneori sub 15 % Erorile mai pot fi produse si de lipsa de compatibilitate a programului cu alte aplicatii sau sistemul de operare. De asemenea, exista si riscul de a aparea necompatibilitate a unei versiuni veche cu una noua. Unele functii nefiind transmise mai departe in urmatorul program sau inbunatatita o anumita parte, cea veche riscand sa nu se mai potriveasca perfect in sistem.
.

Costuri Din pacate erorile nu vin singure ci vin si cu costuri destul de mari. Daca eroarea este gasita in faza de proiect si programare a software-ului, costurile sunt minime, aproape de 0. Daca eroarea este gasita dupa livrarea produsului, costurile cresc semnificant.

Glenford Myers a scris 10 principii a testarii unui program : 1. Un caz de test trebuie sa defineasca neaparat iesirea sau rezultatul dorit. (A necessary
part of a test case is a definition of the expected output or result.) 2. Un programator ar trebui sa evigte sa isi testeze propriul program. A programmer should avoid attempting to test his or her own program. 3. Companiile de programare nu ar trebui sa isi testeze proprile produse. A programming organization should not test its own programs. 4. Fiecare rezultat al trestuui trebuie examinat foarte minutios. Thoroughly inspect the results of each test.

5. Cazurile de test trebuie scrise atat pentru conditii de intrare valide cat si pentru cele invalide si neasteptate. Test cases must be written for invalid and unexpected, as
well as valid and expected, input conditions.

6. Testarea este procesul de excutie a programului cu scopul de a gasi erori. Testing is the
process of executing a program with the intent of finding errors.

7. Evitati cazurile throw-away cu exceptia cazului in care programul este cu adevarat un throw-away. Avoid throw-away test cases unless the program is truly a throw-a
way program.

8. Nu se planifica procesul de testare presupunand ca nu vor fi gasite erori. Do not plan a


testing effort under the tacit assumption that no errors will be found.

9. Probabilitatea de a gasi erori intr-un fragment de cod este proportional cu numarul de erori deja gasite. A good test case is one that has a high probability of detecting an
as-yet undiscovered error

10. Testarea este un lucru extreme de creative si intelectual. Testing is an extremely


creative and intellectually challenging task.

Etapele procesului de testare : Planificarea Analiza Proiectarea

Implementarea Executia Evaluarea

Metode de testare Functionala Non-functionala Tehnici de testare Exista nenumarate tipuri de testare, printre cele mai importante de afla: 1. Black box testing - Proiectarea sistemului de interne nu este luat n considerare n acest tip de testare. Testele sunt bazate pe cerinele i funcionalitate. 2. White box testing - Aceast testare se bazeaz pe cunotinele de logica intern a codului unei aplicaii. De asemenea este cunoscut sub numele de cutie de testare din sticl. 3. Unit testing - Testarea de componente software individuale sau module. Se face de obicei de ctre programator i nu de testeri, deoarece necesit cunoaterea detaliat a proiectrii programului intern i codul acestuia. 4. System testing - ntregul sistem este testat n conformitate cu cerinele. Este o testare de tip Black-box, care se bazeaz pe cerintele generale, acoper toate prile combinate ale unui sistem. 5. Compatibility testing - Testeaza cat de bine se descurca softul intr-un anumit ambient (hardwere,software,sistemul de operare/mediu de retea). 6. Comparison testing - Compararea punctelor forte i a punctelor slabe a produsului actual cu versiunile mai vechi.

Concluzii De ce se fac testari a produselor inainte de a fi lansate (release)? Testarea este mai mult decat depanare. Testarea este folosita nu numai pentru a localiza defectele ci i s le corecteze. Acesta este, de asemenea, utilizata in validare, procesul de verificare, masurare i fiabilitate. Testarea ocupa de multe ori cel mai mult timp din dezvoltarea produsului. Fara testare nu se poate oferi un produs de calitate.

Bibliografie:
http://www.softwaretestinghelp.com/types-of-software-testing/ https://www.ece.cmu.edu/~koopman/des_s99/sw_testing/#conclusions http://ro.wikipedia.org/wiki/Testarea_software http://www.slideshare.net/andreijechiu/tehnici-de-testare-19909961 http://www.testdesigners.com/softwareqa/myerstestingprinciples.html http://www.endlesslycurious.com/wp-content/uploads/2008/08/bugfixingcost.jpg https://yorktown.cbe.wwu.edu/sandvig/mis314/lectures/images/bugFixCostGraph.png