Testare: Diferență între versiuni
(→Ce inseamna "testarea software / QA Engineering?") |
(→Ce inseamna "Testarea software / QA Engineering?") |
||
| Linia 29: | Linia 29: | ||
* Planificare si control | * Planificare si control | ||
| + | ** Verificarea misiunii de testare, definirea obiectivelor si specificarea activitatii de testare astfel incat aceasta sa atinga obiectivele si scopul misiunii | ||
| + | ** Compararea progresului / evolutiei actual(e) cu planul initial si raportarea starii de fapt, inclusiv deviatiile de la plan. Pentru a controla eficient procesul de testare, acesta trebuie monitorizat pe toata durata proiectului. | ||
* Analiza si Design | * Analiza si Design | ||
* Implementare si executie | * Implementare si executie | ||
Versiunea de la data 12 august 2009 00:41
Acest articol este în curs de editare de către dragos.iorgulescu. Dacă doriți să interveniţi în procesul de editare, cereți mai înainte permisiunea autorului pe pagina sa de discuţii.
Introducere
Cauzele defectelor
Defectele sunt cauzate de erorile umane introduse in timpul dezvoltarii unui program. Ele se manifesta fie prin functionarea incorecta a aplicatiei la nivel logic, fie prin nefunctionarea sa sau printr-un comportament, sa ii spunem, deviant (erori, crash-uri, etc.). Oricare are fi natura unui defect, el poarta numele de "BUG" (ce NU este un acronim de la "Behaves Usually Good" :) ). Bug-urile apar datorita faptului ca oamenii ce realizeaza aplicatiile sunt, evident, oameni. Indiferent de nivelul de experienta al dezvotlatorilor, design-erilor, arhitectilor si a testerilor, erorile sunt ceva natural. Problema care se ridica este "cum procedam astfel incat produsele software sa contina cat mai putine erori probabile?". Voi incerca prin cele ce urmeaza sa aduc cat mai multe raspunsuri si solutii acestei probleme.
Sa incepem!
Ce inseamna "Testarea software / QA Engineering?"
Nimic altceva decat suma tuturor procedurilor, operatiilor si actiunilor menite sa asigure buna functionare a programelor. Prin "buna functionare" intelegem:
- Respectarea specificatiilor / cererilor clientului
- Implementarea corecta a cerintelor de functionare (requirements)
- Absenta erorilor de proiectare logica si algoritmica
- Siguranta datelor folosite in cadrul programului
- Viteza optima de rulare a aplicatiei
- Folosirea eficienta a resurselor disponibile
- Grad ridicat de usability (?)
In acceptiunea generala, testarea in general se caracterizeaza prin rularea testelor. Aceasta este, in schimb, doar partea vizibila din exterior. Pentru a asigura toate cele de mai sus, este nevoie de mult mai multe etape pana a ajunge in punctul executiei testelor. Din motive de eficienta, planurile de teste trebuie neaparat sa contina si o perioada de timp alocata planificarii testelor, design-ului test case-urilor, planificarii executiei si, bineinteles, analizei rezultatelor.
Procesul fundamental de testare este alcatuit din urmatoarele activitati principale:
- Planificare si control
- Verificarea misiunii de testare, definirea obiectivelor si specificarea activitatii de testare astfel incat aceasta sa atinga obiectivele si scopul misiunii
- Compararea progresului / evolutiei actual(e) cu planul initial si raportarea starii de fapt, inclusiv deviatiile de la plan. Pentru a controla eficient procesul de testare, acesta trebuie monitorizat pe toata durata proiectului.
- Analiza si Design
- Implementare si executie
- Evaluarea rezultatelor si raportarea acestora
- Finalizarea procesului de testare