Oct 20 2008

Coverage Validator

Categoría: Test UnitariosJuan @ 12:33 am

Es un software para Windows de la empresa Software Verification para analizar qué y cuantas líneas de código son ejecutadas al utilizar un programa en C++. Concretamente es utilizado para ver cuantas líneas de nuestro código son tocadas por los tests que estamos haciendo para probar dicho programa o lo que en anglosajón es llamado “test coverage”. Es decir, el programa muestra las líneas ejecutadas por nuestras pruebas (statement or line coverage).

Para analizar el código y ver qué lineas son ejecutadas el programa usa los fichero PDB o MAP. Esto da una gran ventaja a esta programa, no hay que instrumentar (compilar con parámetros específicos) el código de nuevo para ver qué líneas son utilizadas en su ejecución.

Su punto más débil es que sólo muestra la cobertura para los ficheros donde se han ejecutado líneas. Por ejemplo, si tenemos dos ficheros A y B con 10 líneas cada uno y tenemos distintos test que sólo ejecutan 5 líneas del fichero A entonces la cobertura total sería un 50% (mitad de las líneas de A) en lugar de del 25% real ya que B no es usado. Esto no es un problema cuando se tienen tests para todos los ficheros pero antes de ser así, los porcentajes totales varían de forma no alineada con la realidad.

Exceptuando este punto débil, opino que este software es muy bueno comparando su calidad y características con su precio. La licencia son 200$ que comparado con otros productos similares es “casi” regalado. En la web, por cierto, se puede encontrar una versión de evaluación de 30 días.

Además, el programa puede ser lanzado desde la línea de comandos y escribir informes en XML y HTML lo que es de grandísima ayuda al usarlo con un sistema de integración contínua (por ejemplo Hudson).

Aquí os dejo una imagen de ejemplo:

Ejemplo “Coverage Validator”

Ya sé que dije que iba a hablar del OOPSLA en la entrada anterior y no es el caso pero tenía esta anotación pendiente.

Etiquetas: