This shows you the differences between two versions of the page.
icalc:laboratoare:laborator-09 [2023/05/07 21:19] dragos.isopencu |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laborator 09 - Regression & System Testing ===== | ||
- | |||
- | ==== Regression testing ==== | ||
- | |||
- | Testarea prin regresie este un tip de testare folosit pentru a determina o bucată de cod nouă va avea afecta negativ alte părți ale codului pe care nu le modifica în mod direct. În mod normal, atunci când introducem cod nou într-un modul al unui proiect, există teste unitare care verifică buna funcționare a modulului respectiv. Slăbicunea acestei metode este că nu verifică și posibilele efecte laterale ale noului modul. Astfel, testarea prin regresie este caracterizată prin testarea noului modul în contextul întregului proiect. | ||
- | |||
- | Testare prin regresie poate fi făcută în 3 moduri: | ||
- | - Retest all | ||
- | - Regression test selection | ||
- | - Prioritization of test cases | ||
- | |||
- | === Retest all === | ||
- | Cea mai costisitoare metodă, implică rerularea tuturor testelor aferente proiectului. Este de dorit să evităm această metodă pe cât posibil deoarece cosnumă foarte mult timp și resurse. | ||
- | === Regression test selection === | ||
- | Implică împărțirea testelor deja existente în suită în 2 categorii: cele care pot fi rulate pentru regresie și cele care nu sunt necesare pentru testarea prin regresie. | ||
- | === Prioritization of test cases === | ||
- | Testele sunt proritizate după impactul pecare îl are componenta testată în proiect. Componentele ale căror funcționalități sunt folosite des și/sau sunt critice sistemului vor avea o prioritate mai mare. | ||
- | |||
- | |||
- | ==== System testing ==== | ||
- | Dacă în ultimul laborator am discutat despre cum testele de integrare sunt folosite pentru a garanta că două componente interacționează corespunzător, în acest laborator vom discuta despre testarea întregului sistem. De regulă, testarea de sistem se face doar atunci când toate modulele sunt complete și integrate corespunzător, deoarece implică testarea cap-coadă a tuturor funcționalităților proiectului. Bineînțeles, acest tip de testare este necesar și pentru a verifica dacă proiectul final poate fi compilat cu succes. | ||
- | |||
- | ==== Exerciții ==== | ||
- | |||
- | |||
- | |||