9. Cobertura
¿Qué mide la cobertura?
Herramientas como coverage.py (a menudo vía pytest-cov) indican qué líneas o ramas ejecutaron tus tests. Es una guía, no una prueba de ausencia de bugs: podés tener 100% de líneas y seguir sin probar casos límite importantes.
Comando típico
Reemplazá mi_paquete por el nombre del paquete o carpeta fuente que querés medir.
Buenas prácticas
- Perseguir cobertura sin calidad de asserts genera tests frágiles o inútiles.
- Revisá ramas
if/elseno cubiertas: suelen esconder errores silenciosos. - En CI, combiná umbral razonable con revisión humana.
Ejercicio 1
Explicá por qué “100% coverage” no implica software libre de defectos.
Ver idea guía
Solo indica que el código fue ejecutado; no valida que los asserts cubran reglas de negocio, datos extremos o concurrencia.
Ejercicio 2
En un proyecto local, ejecutá pytest --cov en un paquete pequeño y leé la sección “missing” del informe.
Ver idea guía
Anotá qué líneas faltan: ¿son ramas de error, código muerto o casos que deberías testear?