This is an old revision of the document!
Laborator 3: Implementarea testării unitare și a acoperirii codului
Obiective
Implementarea testării unitare pentru funcționalitățile aplicației dezvoltate în laboratoarele anterioare
Măsurarea și analiza acoperirii codului pentru îmbunătățirea calității software
Integrarea testelor unitare în pipeline-ul CI/CD
Cerințe tehnologice
Limbaj și framework de testare: PyTest (Python) / Jest (JavaScript) / JUnit (Java)
Măsurarea acoperirii codului: Coverage.py, Istanbul, JaCoCo
CI/CD Pipeline: GitHub Actions/GitLab CI/CD/Jenkins pentru rularea testelor automat
Raportare și analiză: Codecov/SonarQube pentru interpretarea metricilor de acoperire
Funcționalități
1. Scrierea testelor unitare
Crearea unui set de teste unitare pentru componentele principale ale aplicației
Utilizarea mocking/stubbing pentru izolarea dependențelor
Testarea funcțiilor critice de procesare a imaginilor, autentificare și interacțiune cu baza de date
2. Măsurarea acoperirii codului
Configurarea unui instrument de măsurare a acoperirii codului
Generarea rapoartelor de acoperire pentru identificarea zonelor neacoperite de teste
Stabilirea unui prag minim de acoperire necesar pentru livrarea codului
3. Integrarea testelor în pipeline-ul CI/CD
Configurarea rulării automate a testelor la fiecare commit/pull request
Impunerea unui prag minim de acoperire a codului pentru aprobarea unui build
Generarea și publicarea rapoartelor de testare și acoperire
Evaluare
* Implementarea testelor unitare pentru funcționalități cheie (40%)
* Măsurarea și raportarea acoperirii codului (30%)
* Integrarea testării și a metricilor de acoperire în pipeline-ul CI/CD (30%)
Resurse suplimentare