top 15 code coverage tools
Lista de las herramientas de cobertura de código más populares para Java, JavaScript, C, C ++, C #, PHP, Eclipse, .Net y muchos otros lenguajes de programación:
En las pruebas de software, hay varias formas de medir la cobertura de las pruebas. El método de cobertura de código es una de las técnicas más importantes.
Usando las herramientas de cobertura de código, uno puede identificar la cantidad de código probado mientras se ejecutan las pruebas. En palabras simples, la cobertura del código nos dice qué parte del código fuente está cubierto por un conjunto de casos de prueba. Es una métrica importante para mantener una calidad estándar de los esfuerzos de control de calidad.
Se mide la cobertura del código en porcentaje del número de líneas ejecutadas del número total de líneas de código durante la ejecución de pruebas.
Al momento de escribir los casos de prueba, se deben tener en cuenta todos los criterios para una cobertura máxima de código, es decir, los casos de prueba deben escribirse para cubrir todas las declaraciones, funciones, condiciones, rutas, decisiones, bucles, valor de parámetro, criterios de entrada y salida.
Tenemos varias herramientas en el mercado para medir la cobertura del código. Exploremos algunos de ellos en detalle en este artículo.
******************
=>> Contáctenos para sugerir su listado aquí.
******************
Lo que vas a aprender:
Herramientas de cobertura de código más populares en 2019
A continuación, se incluye la lista de las herramientas de cobertura de código más populares disponibles en el mercado.
# 1) Parasoft JTest
Parasoft Jtest es uno de los productos del conjunto de herramientas de prueba de Parasoft.
Jtest le permite acelerar el desarrollo de aplicaciones basadas en Java con un riesgo mínimo, una guía y un análisis adecuados. Se utiliza para pruebas unitarias y cobertura de códigos integrados con pruebas manuales y de automatización. Su informe proporciona una buena imagen del código cubierto y, por lo tanto, minimiza los riesgos.
Características principales:
- Se utiliza para aplicaciones basadas en Java.
- Es una herramienta multitarea que incluye análisis de flujo de datos, pruebas unitarias, análisis estático, detección de errores en tiempo de ejecución, pruebas de cobertura de código, etc.
- Puede recopilar cobertura de diferentes marcos y métodos de prueba.
- Se puede ejecutar en modo de línea de comandos, GUI basada en eclipse o con sistemas CI.
- Sus informes y análisis de alta calidad también incluyen detalles de prueba basados en trazabilidad y cambio de código.
Tipo de licencia: Software comercial propietario
URL oficial: Parasoft JTest
Pros y contras:
- Su uso es muy caro.
- Es una buena herramienta para obtener un producto de la mejor calidad con una solución polivalente para reducir tiempos y riesgos.
- Los informes y análisis son muy fáciles de entender y completan al máximo los aspectos de calidad.
Último lanzamiento: Versión 10.3.3 el 7 de noviembre de 2017.
# 2) Testwell CTC ++
Testwell CTC ++ es una herramienta muy popular de Verifysoft Technology. Es una herramienta confiable de análisis y cobertura de código para C, C ++, C # y Java.
Esta es la opción principal para la mayoría de las industrias en cualquier dominio. Asegura la integridad de las pruebas. Viene con un kit de calificación. Una prueba gratuita, capacitación en línea y presentaciones en vivo también están disponibles para esta herramienta. Está disponible en tres paquetes: CTC ++ Host only, CTC ++ Host-Target add-on y CTC ++ Bitcov add-on.
c preguntas y respuestas de la entrevista para los novatos
Para C # y Java, requiere un paquete adicional por separado.
Características principales:
- Su principal característica es que se puede utilizar para aplicaciones de diferentes idiomas y dominios.
- También se puede utilizar con todas las herramientas de prueba unitaria.
- Como herramienta de cobertura de código, proporciona una cobertura completa que incluye todos los criterios.
- Los informes se pueden obtener en formato de texto simple, HTML, JSON, XML y Excel.
Tipo de licencia : Inicialmente, la versión de prueba está disponible sin costo alguno. Para comprarlo o su complemento, es necesario contactarlos.
URL oficial: Testwell CTC ++
Pros y contras:
- Es muy confiable y fácil de usar. Evita la entrega de código no probado.
- Está disponible una versión de prueba gratuita.
- Se puede utilizar para aplicaciones en diferentes lenguajes como C, Java, C #, etc.
- Es bueno para todos los dominios como salud, transporte, automotriz, etc., con una alta cobertura de código.
- Es compatible con todos los compiladores y compiladores cruzados.
- Su costo no se divulga, por lo tanto, debe comunicarse con la empresa para obtener detalles sobre los precios.
Último lanzamiento: Versión 8.2.2
#3) Cobertura
Cobertura es una herramienta de cobertura de código fuente abierto para Java. Esta es una herramienta basada en Jcoverage. Para utilizar esta herramienta, se debe declarar el complemento Maven en el archivo POM.XML.
Características principales:
- Es compatible con Java 7, Java 8, Java 9 y Java 10.
- Cobertura se puede ejecutar desde la línea de comandos o desde la hormiga.
- Después de la compilación, calcula el código de bytes de Java.
- Cubre todos los criterios de cobertura del código, incluidas las ramas, la clase, el paquete, etc.
- Los informes se producen en HTML o XML.
- Estos informes tienen las características de filtrado, ascendente y descendente.
Tipo de licencia: GNU General Public License (GPL)
URL oficial: Cobertura
Pros y contras:
- Es una herramienta de cobertura de código fuente abierto.
- Sus informes son fáciles de entender con opciones para filtrar según la necesidad.
- Está bien diseñado para desarrolladores y probadores.
- Funciona solo para Java.
Último lanzamiento: Versión 2.1.1
#4) JaCoCo
JaCoCo es un kit de herramientas de cobertura de código gratuito desarrollado por EclEmma. Fue desarrollado para reemplazar la herramienta de cobertura de código de Emma. Solo se puede utilizar para medir y generar informes sobre aplicaciones basadas en Java.
Características principales:
- Esta herramienta de cobertura de código solo se puede utilizar para Java. Es compatible con Java 7, Java 8, Java 9 y Java 10.
- Es compatible con todos los tipos de versión de archivo de clase Java publicada.
- Cubre líneas, instrucciones, métodos, tipo, ramas y complejidad ciclomática en la cobertura del código.
- Puede instrumentar el código Java de dos formas diferentes, es decir, mientras se ejecuta el código con el agente Java o antes de ejecutar el código que está fuera de línea.
- Almacena los datos resultantes en un archivo o los envía a través de TCP. Sus formatos de informe incluyen CVS, XML y HTML.
- Admite pruebas de regresión junto con pruebas funcionales, donde los casos de prueba se basan en Junit.
URL oficial: JaCoCo
Pros y contras:
- Esta es una herramienta de cobertura de código fuente abierto.
- Está destinado únicamente a la cobertura del código Java.
- Ofrece un buen rendimiento para proyectos Java a gran escala en un tiempo de ejecución mínimo.
- Requiere menos implementación con dependencias mínimas de bibliotecas y recursos externos.
- Hay muchas herramientas que admiten JaCoCo como Jenkins, Netbeans, Gradle, TeamCity, VS TEAM SERVICES, etc.
- Es fácil configurar JaCoCo en Maven, Junit, etc., para obtener un informe de cobertura de código.
- El informe generado por JaCoCo es colorido y fácil de entender.
Último lanzamiento: Versión 0.8.1 el 21 de marzo de 2018.
# 5) CodeCover
La herramienta CodeCover es una herramienta extensible de prueba de caja de vidrio de código abierto que se puede utilizar como cobertura de código para el software Java. Fue desarrollado en 2007 en la Universidad de Stuttgart. Se puede ejecutar en la línea de comandos, Eclipse y Ant.
Características principales:
- Es una herramienta de prueba de caja de vidrio para aplicaciones java.
- Cubre declaraciones, bucles, sucursales, etc. junto con la cobertura de términos, la cobertura del operador de interrogación y la cobertura sincronizada.
- Los informes se generan en el formato de plantilla de velocidad del motor.
Tipo de licencia: EPL - Licencia pública de Eclipse.
software para copiar dvd a la computadora
URL oficial: CodeCover
Pros y contras:
- Es una herramienta gratuita que se puede utilizar para la cobertura del código.
- Se utiliza para mejorar la calidad de las pruebas y crear nuevos casos de prueba.
- Está limitado para su uso en Java y COBOL.
- También tiene limitaciones para instrumentar un único directorio de origen.
Último lanzamiento: Versión 1.0.1.2 en 2011
# 6) Cobertura de diana
Bullseye es una herramienta de cobertura de código para programas C ++ y C. Su precio es de 800 dólares el primer año y 200 dólares anuales por renovación.
Características principales:
- Este analizador de cobertura de código se puede utilizar para C ++ y C.
- Tiene la función de exportar el resultado a formato HTML, XML y GUI.
- Viene con características adicionales como fusionar, excluir código, visualizar, etc.
- La mayor decepción es que la fusión de resultados solo se puede realizar a nivel funcional. No está permitido en la declaración o nivel de condición.
Tipo de licencia: Licencia flotante
URL oficial: Diana
Pros y contras:
- Su uso está limitado a C ++ y C.
- Los costos de las herramientas son altos. Especialmente si uno no necesita sus características adicionales como Visualizer, Merge, código de exclusión, etc.
- La herramienta es fácil de usar y su uso es sencillo.
- Los informes son muy sencillos y fáciles de entender.
- Su velocidad de ejecución es muy rápida.
- Su función de fusión no es tan buena.
Último lanzamiento: Versión 8.14 en marzo de 2018
# 7) EMMA
Emma es una herramienta de código abierto muy popular para el software Java para medir la cobertura del código. Fue desarrollado por Vlad Roubtsov. Cubre todo tipo de cobertura como clase, línea, método, etc.
Características principales:
- Es 100% para software Java.
- Su característica especial es que admite el desarrollo empresarial a gran escala.
- Esta herramienta tiene una gran participación en el mercado en comparación con las otras herramientas de cobertura gratuitas.
- Los informes están disponibles en formato XML, HTML y texto sin formato.
Tipo de licencia: CPL - Licencia pública común v1.0.
URL oficial: EMMA
Pros y contras:
- Esta es una herramienta gratuita con muy buena velocidad.
- Es bastante fácil de usar y cubre todos los criterios de cobertura de código.
- Limitado para su uso en software Java.
- Es compatible con ANT.
- Es compatible con la instrumentación de la clase y se puede ejecutar sin conexión o sobre la marcha.
- El mayor inconveniente es que no es compatible con la última versión de Java y no está bien mantenido.
Último lanzamiento: Emma-2.0.5320
# 8) Cubierta abierta
OpenCover es una herramienta de código abierto para la cobertura de código del software .Net. Funciona bien para .Net 2 y superior. Fue desarrollado para superar los problemas que surgen al utilizar la herramienta PartCover para la cobertura del código del software .Net.
Características principales:
- Es para todo el software .Net 2 y superior.
- Puede ser instalado por paquete NuGet, MSI o archivo ZIP.
- Brinda soporte de 64 y 32 bits para .Net 4 y .Net 2.
- Proporciona un proceso de cobertura de código simple.
- También proporciona un mejor manejo de genéricos que PartCover.
- Es una herramienta de línea de comandos.
- Proporciona informes como un archivo de salida XML, que se utiliza para producir informes gráficos. Esto se hace con el apoyo de la herramienta Generador de informes.
Tipo de licencia: Licencia MIT
URL oficial: OpenCover
Pros y contras:
- Es una herramienta gratuita para probar la cobertura de código.
- Es mejor que PartCover de varias formas.
- Proporciona documentación muy útil al instalar OpenCover.
Último lanzamiento: OpenCover 4.6.519 el 8 de febrero de 2016
# 9) NCover
NCover es la mejor herramienta de cobertura de código desarrollada por Peter Waldschmidt para la plataforma .Net. No es una herramienta de código completamente abierto. Solo su versión Beta está disponible de forma gratuita. Cuesta $ 480 por un NCover 3 completo.
Características principales:
- La herramienta NCover es solo para la plataforma .Net.
- Esto cubre el estado de cuenta y la cobertura de sucursales.
- Esta herramienta analiza el código instrumentándolo detrás de lo privado.
- La herramienta NCoverExplorer está disponible para navegar por el código fuente con análisis de cobertura.
- Los informes se presentan en métricas de formato HTML.
Tipo de licencia: Licencia flotante
URL oficial: NCover
Pros y contras:
- Es la mejor herramienta de cobertura de código para el software .Net.
- Solo la versión Beta es gratuita. De lo contrario, cuesta mucho utilizar esta herramienta.
- Tiene 4 años de madurez y es una herramienta muy rápida.
- El soporte es muy activo y sigue actualizando las versiones con algunas correcciones y funciones nuevas.
- Es muy fácil crear datos de cobertura de código con esta herramienta.
- Es bueno para pruebas de cobertura de código tanto manuales como automatizadas.
Último lanzamiento: NCOVER V5.5.3706.979 en septiembre de 2017
# 10) Squish COCO
COCO es una herramienta multiplataforma y de compilador cruzado de cobertura de código en varios idiomas de froglogic.
Los lenguajes admitidos por COCO incluyen C ++, C, C #, System C, Tcl y QML. Los informes están disponibles en diferentes formatos como HTML, XML, Text, JUnit y Cobertura. FROGLOGIC no divulga el costo de la herramienta. Sin embargo, la licencia adquirida tendrá una validez de 1 año.
mejor convertidor de mkv a dvd gratuito
Para obtener más detalles, es necesario ponerse en contacto con el soporte. La versión de prueba, la demostración, los programas de capacitación y el soporte en línea están disponibles, pero con limitaciones según la licencia adquirida.
Características principales:
- Es una herramienta de cobertura de código multiplataforma y de compilador cruzado.
- Instrumenta el código fuente.
- Se puede integrar con diferentes compilaciones, pruebas y marcos de CI.
- La función de combinar informes está disponible para un mejor análisis.
Tipo de licencia: Licencia de lógica de rana - Licencia flotante.
URL oficial: Squish COCO
Pros y contras:
- Admite varios tipos de proyectos en un lenguaje como C ++, C, C #, System C, Tcl y QML.
- Su versión de prueba está disponible en el mercado con limitaciones.
- Cada licencia incluye un año de soporte y actualizaciones.
- Facilita el proceso.
- Cubre criterios como declaración, ramas y condiciones.
- El usuario puede elegir un formato de informe diferente.
- Encuentra pruebas redundantes y código inaccesible o inaccesible.
Último lanzamiento: Versión 4.0 en 2017
# 11) CoverageMeter
La herramienta CoverageMeter es la cadena de herramientas de cobertura de código más utilizada para aplicaciones C / C ++. Su última versión es la 1.4. Ayuda a encontrar el código fuente no probado. Contiene dos subherramientas, es decir, CoverageBrowser y CoverageScanner.
CoverageScanner funciona como una herramienta de línea de comandos y sustituye al compilador. Está adaptado a la mayoría de compiladores que se utilizan en el mercado. CoverageBrowser funciona como una interfaz gráfica que se utiliza para analizar y gestionar informes finales. Después de la ejecución, el informe final se puede analizar y gestionar en el CoverageBrowser.
Características principales:
- La herramienta funciona principalmente en dos partes, es decir, CoverageScanner y CoverageBorwser.
- También viene con dos pequeñas herramientas gratuitas: agente de ejecución y Visual Studio 2005 y 2008 opcional.
- Solo se puede usar para aplicaciones basadas en C y C ++.
- Su costo es de aproximadamente $ 115,00. Sin embargo, su versión de prueba también está disponible en el mercado.
Tipo de licencia: Shareware
URL oficial: CoberturaMeter
Pros y contras:
- Su prueba gratuita está disponible en el mercado.
- Está limitado solo para programas C y C ++.
- Cubre todos los criterios de cobertura de código como funcional, declaración, condición, ruta, etc.
Último lanzamiento: Versión 1.4
# 12) TCG
GCT, Generic Coverage Tool, es una herramienta de cobertura de código gratuita para C de Brain Marick. Mide ramas, bucles y cobertura de operadores relacionales. La herramienta obtiene el código fuente de C y luego realiza la instrumentación y produce el objeto utilizando el compilador del sistema C. De otra manera, como un verdadero compilador, llama al compilador de C después de instrumentar.
Características principales:
- Es bueno para los programas C.
- En la última versión, se comporta como un buen compilador.
- Cubre ramas, condiciones múltiples, condiciones de contorno y bucles.
Tipo de licencia: GNU - Licencia pública general.
URL oficial: GCT
Pros y contras:
- Es un código abierto y fácil de usar con el poderoso sistema de informes.
- La herramienta solo se ejecuta en UNIX.
- La herramienta es grande y tiene muchas piezas instaladas. Esto requiere aproximadamente 33000 bloques de 1k.
- Tiene herramientas de informes flexibles.
Último lanzamiento: GCT 1.4
# 13) TCAT C / C ++
TCAT es una herramienta de cobertura de código para analizar C, C ++ y JAVA. Su versión 2.1 funciona bien para NT 4.xy Windows 95. El kit de TCAT consta del motor instrumentado, la unidad de tiempo de ejecución y el analizador orientado a gráficos. Para encontrar el costo real y las limitaciones, uno debe contactarlos o enviar un correo electrónico.
Características principales:
- Analiza ramas, funciones y cobertura de códigos de pares de llamadas.
- Funciona para C, C ++ y Java.
- El método de señalar y hacer clic en los informes de cobertura facilita el uso de la herramienta.
- Disponibilidad de documentación de usuario completa y un potente software de visualización para ayudar a los usuarios.
- Tiene una versión de demostración que no requiere una clave de licencia, mientras que la versión completa requiere una clave de licencia.
Tipo de licencia: Administrador de licencias flotantes estándar (flexlm)
URL oficial: TCAT C / C ++
Pros y contras:
- Limitado a C, C ++ y JAVA.
- Maneja fácilmente proyectos grandes y complejos sin problemas de capacidad.
- Buena comprensión del programa a partir del árbol de llamadas y los dígrafos.
- Es muy confiable, con cálculos mínimos y está completamente completo para uso de desarrolladores y probadores.
- La versión de demostración está disponible solo por un período de 10 días y eso también con algunas restricciones.
- El costo de la licencia no se divulga.
Último lanzamiento: TCAT C/C++, Ver. 3.2.
#14) Gretel
Gretel es una herramienta de cobertura de código gratuita para el programa Java de Carls Howells en la Universidad de Oregon. Para instalar Gretel JVM 1.3 o posterior, se requiere BCEL (Byte Code Engineering Library).
Características principales:
- Es compatible con la cobertura de declaraciones para el programa Java.
- También ayuda a la cobertura de prueba residual al volver a instrumentar el programa y eliminar el instrumento del código ya ejecutado.
- Puede iniciarse en una línea de comandos o GUI.
- Los informes están disponibles en la GUI.
Tipo de licencia: BSD
URL oficial: Gretel
Pros y contras:
- Es una herramienta de código abierto.
- No es compatible con JUnit.
Último lanzamiento: Versión 1.0rc2 en junio de 2002.
# 15) JCov
Jcov es una herramienta de cobertura de código Java de código abierto. Está desarrollado e implementado con SUN JDK. Funciona instrumentando el código de bytes de Java de dos formas, es decir, instrumentación estática e instrumentación dinámica.
Características principales:
- La herramienta es buena para proyectos Java.
- Reporta cobertura de bloque, línea, rama y método.
- Puede guardar los datos recopilados en el sistema de archivos o en un servidor.
- Instrumenta el código de bytes de Java.
- Puede instrumentarse sobre la marcha y sin conexión.
Tipo de licencia: LPG V2
URL oficial: JCov
Pros y contras:
- Es una herramienta de cobertura de código fuente abierto.
- Está limitado solo a proyectos Java.
- Cubre casi todos los criterios de cobertura del código.
Último lanzamiento: JCov Versión 3 en 2014.
Conclusión
El uso de la cobertura de código para mantener una calidad estándar de pruebas conduce a incluir casos de prueba adicionales para asegurarse de que el código se ejecute mientras se ejecutan conjuntos de pruebas tanto como sea posible. De hecho, esto es muy útil para realizar pruebas de regresión eficaces.
Las herramientas de cobertura de código solo se utilizan para medir el código cubierto durante la ejecución de pruebas.
Es muy raro encontrar una cobertura de código del 100%, e incluso una cobertura de código del 100% no prueba una prueba de calidad del 100%. Puede lograr una cobertura de código del 100% sin dejar de lado algunos de los casos de prueba importantes. Para lograr un mejor nivel de pruebas efectivas, se debe optar por las pruebas de mutación en lugar de la cobertura de código normal.
******************
=>> Contáctenos para sugerir una lista aquí.
******************
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Las 15 mejores herramientas JAVA para desarrollo, compilación, generación de perfiles, cobertura de código y revisión
- TOP 40 herramientas de análisis de código estático (las mejores herramientas de análisis de código fuente)
- Las 10 herramientas de revisión de código más populares para desarrolladores y probadores
- Implementación de Java: creación y ejecución de un archivo JAR de Java
- Máquina virtual Java: cómo JVM ayuda a ejecutar aplicaciones Java
- Modificadores de acceso en Java: tutorial con ejemplos
- Tutorial de reflexión de Java con ejemplos