Tipos de Cobertura

Code Coverage

Mide que lineas, branches y funciones del codigo fuente se ejecutan por tests automatizados.

Metricas: Line coverage, branch coverage, function coverage, statement coverage.

Requirements Coverage

Mide que requisitos de negocio tienen test cases correspondientes.

Herramientas de Code Coverage

HerramientaLenguajesIntegracion
Istanbul/nycJavaScript/TypeScriptJest, Mocha, Vitest
JaCoCoJavaMaven, Gradle
coverage.pyPythonpytest
SonarQubeMulti-lenguajeCI/CD dashboards

Leyendo Reportes de Cobertura

Archivo                 | % Stmts | % Branch | % Funcs | % Lines |
------------------------|---------|----------|---------|---------|
src/auth/login.js       |   95.2  |   88.0   |  100.0  |   95.0  |
src/payment/checkout.js |   45.0  |   30.0   |   50.0  |   44.2  |
  • login.js al 95% esta bien testeado
  • checkout.js al 45% esta criticamente sub-testeado para un modulo de pagos

Estableciendo Targets

Area de CodigoTarget SugeridoRazon
Pagos/financiero90%+Alto riesgo de negocio
Autenticacion/seguridad90%+Critico de seguridad
Logica de negocio core80%+Funcionalidad principal
Utilidades70%+Codigo compartido

La Trampa del Coverage

No perseguir 100% ciegamente. Problemas: tests sin sentido que ejecutan sin verificar, testing de codigo trivial, ignorar otros tipos de testing.

Enfoque correcto: Foco en caminos criticos, logica de negocio y areas de riesgo.

Coverage en CI/CD

Configura quality gates para hacer cumplir minimos de cobertura. Rastrea tendencias — coverage nunca debe disminuir despues de un PR merge.

Ejercicio: Analiza un Reporte de Cobertura

Dado un reporte para e-commerce con payment/process al 42%, payment/refund al 15%, cart/checkout al 38%, identifica riesgos y recomienda acciones.

Solucion

Riesgos Criticos: payment/process y payment/refund sub-testeados — riesgo financiero directo. cart/checkout es el camino de ingresos.

Recomendaciones:

  1. Inmediato: Subir payment/process a 85%+ y refund a 80%+
  2. Este sprint: Subir cart/checkout a 80%+, enfocarse en branch coverage
  3. Proximo sprint: Subir cart/coupon branch de 60% a 75%+
  4. Quality gate: Nuevo codigo en pagos y checkout requiere 85%+

Puntos Clave

  • Code coverage mide ejecucion; requirements coverage mide mapeo de requisitos
  • Branch coverage es mas valioso que line coverage
  • Enfocar targets en riesgo: modulos de pago y seguridad necesitan 90%+
  • No perseguir 100% — enfocarse en assertions significativas
  • Usar quality gates en CI/CD para prevenir regresion
  • Reportes de cobertura identifican brechas — son herramientas diagnosticas