top 15 code coverage tools
Lista das ferramentas de cobertura de código mais populares para Java, JavaScript, C, C ++, C #, PHP, Eclipse, .Net e muitas outras linguagens de programação:
No teste de software, existem várias maneiras de medir a cobertura do teste. O método de cobertura de código é uma das técnicas mais importantes.
Usando as ferramentas de cobertura de código, é possível identificar a quantidade de código testado durante a execução dos testes. Em palavras simples, a cobertura do código nos diz quanto do código-fonte é coberto por um conjunto de casos de teste. É uma métrica importante para manter um padrão de qualidade dos esforços de controle de qualidade.
A cobertura do código é medida em porcentagem do número de linhas executadas em relação ao número total de linhas de código durante a execução de testes.
No momento de escrever casos de teste, deve-se colocar todos os critérios em mente para cobertura máxima de código, ou seja, os casos de teste devem ser escritos para cobrir todas as instruções, funções, condições, caminhos, decisões, loops, valor de parâmetro, critérios de entrada e saída.
Temos várias ferramentas no mercado para medir a cobertura de código. Vamos explorar alguns deles em detalhes neste artigo.
******************
= >> Contate-Nos para sugerir sua lista aqui.
******************
O que você aprenderá:
Ferramentas de cobertura de código mais populares em 2019
A seguir está a lista das ferramentas de cobertura de código mais populares disponíveis no mercado.
# 1) Parasoft JTest
Parasoft Jtest é um dos produtos da suíte de ferramentas de teste da Parasoft.
O Jtest permite acelerar o desenvolvimento de aplicativos baseados em Java com risco mínimo, orientação adequada e análise. É usado para teste de unidade e cobertura de código integrada com teste manual e de automação. Seu relatório fornece uma boa imagem do código coberto e, portanto, minimiza os riscos.
Características principais:
- É usado para aplicativos baseados em Java.
- É uma ferramenta multitarefa que inclui análise de fluxo de dados, teste de unidade, análise estática, detecção de erro de tempo de execução, teste de cobertura de código, etc.
- Ele pode reunir cobertura de diferentes estruturas e métodos de teste.
- Ele pode ser executado no modo de linha de comando, GUI baseada em Eclipse ou com sistemas CI.
- Seus relatórios e análises de alta qualidade também incluem rastreabilidade e detalhes de teste baseados em mudanças de código.
Tipo de licença: Software comercial proprietário
URL oficial: Parasoft JTest
Prós e contras:
- É muito caro de usar.
- É uma boa ferramenta para o produto da melhor qualidade com uma solução polivalente para reduzir o tempo e os riscos.
- Os relatórios e análises são muito fáceis de entender e completam os aspectos máximos de qualidade.
Último lançamento: Versão 10.3.3 em 7 de novembro de 2017.
# 2) Testwell CTC ++
Testwell CTC ++ é uma ferramenta muito popular da Verifysoft Technology. É uma ferramenta confiável de análise e cobertura de código para C, C ++, C # e Java.
Esta é a escolha principal para a maioria das indústrias em qualquer domínio. Garante a integridade dos testes. Ele vem com um kit de qualificação. Uma avaliação gratuita, treinamento online e apresentações ao vivo também estão disponíveis para esta ferramenta. Ele está disponível em três pacotes CTC ++ Host apenas, add-on CTC ++ Host-Target e add-on CTC ++ Bitcov.
flvto não me deixa converter
Para C # e Java, ele requer um pacote complementar separado.
Características principais:
- Sua principal característica é que pode ser usado para aplicações de diferentes idiomas e domínios.
- Ele também pode ser usado com todas as ferramentas de teste de unidade.
- Como uma ferramenta de cobertura de código, ele fornece cobertura completa, incluindo todos os critérios.
- Os relatórios podem ser obtidos em texto simples, HTML, JSON, XML e formulário Excel.
Tipo de licença : Inicialmente, a versão de teste está disponível gratuitamente. Para comprá-lo ou seu add-on, é necessário entrar em contato com eles.
URL oficial: Testwell CTC ++
Prós e contras:
- É muito confiável e fácil de usar. Isso evita qualquer entrega de código não testado.
- Uma versão de teste gratuita está disponível.
- Ele pode ser usado para aplicativos em diferentes linguagens como C, Java, C # etc.
- É bom para todos os domínios, como saúde, transporte, automotivo, etc., com alta cobertura de código.
- Ele suporta todos os compiladores e compiladores cruzados.
- Seu custo não é divulgado, portanto, você precisa entrar em contato com a empresa para obter detalhes de preços.
Último lançamento: Versão 8.2.2
# 3) Cobertura
Cobertura é uma ferramenta de cobertura de código aberto para Java. Esta é uma ferramenta baseada em Jcoverage. Para usar esta ferramenta, deve-se declarar o plug-in Maven no arquivo POM.XML.
Características principais:
- Suporta Java 7, Java 8, Java 9 e Java 10.
- O Cobertura pode ser executado a partir da linha de comando ou da formiga.
- Após a compilação, ele calcula o bytecode java.
- Abrange todos os critérios de cobertura de código, incluindo ramos, classe, pacote etc.
- Os relatórios são produzidos em HTML ou XML.
- Esses relatórios possuem os recursos de filtragem ascendente e descendente.
Tipo de licença: GNU General Public License (GPL)
URL oficial: Cobertura
Prós e contras:
- É uma ferramenta de cobertura de código-fonte aberto.
- Seus relatórios são fáceis de entender com opções de filtragem de acordo com a necessidade.
- Ele é bem projetado para desenvolvedores e testadores.
- Funciona apenas para Java.
Último lançamento: Versão 2.1.1
# 4) JaCoCo
JaCoCo é um kit de ferramentas de cobertura de código gratuito desenvolvido pela EclEmma. Foi desenvolvido para a substituição da ferramenta de cobertura de código Emma. Ele pode ser usado apenas para medir e relatar aplicativos baseados em Java.
Características principais:
- Esta ferramenta de cobertura de código pode ser usada apenas para Java. Suporta Java 7, Java 8, Java 9 e Java 10.
- É compatível com todos os tipos de versão de arquivo de classe Java lançada.
- Ele cobre linhas, instruções, métodos, tipo, ramificações e complexidade ciclomática na cobertura de código.
- Ele pode instrumentar o código Java de duas maneiras diferentes, ou seja, enquanto executa o código com o agente Java ou antes de executar o código que está offline.
- Ele armazena os dados resultantes em um arquivo ou os envia via TCP. Seus formatos de relatório incluem CVS, XML e HTML.
- Ele suporta testes de regressão junto com testes funcionais, onde os casos de teste são baseados em Junit.
URL oficial: JaCoCo
Prós e contras:
- Esta é uma ferramenta de cobertura de código-fonte aberto.
- Ele é destinado apenas para cobertura de código Java.
- Ele oferece bom desempenho para projetos Java de grande escala em um tempo de execução mínimo.
- Requer menos implementação com dependências mínimas de bibliotecas e recursos externos.
- Existem muitas ferramentas que suportam JaCoCo como Jenkins, Netbeans, Gradle, TeamCity, VS TEAM SERVICES, etc
- É fácil configurar o JaCoCo no Maven, Junit etc., para obter o relatório de cobertura de código.
- O relatório gerado pela JaCoCo é colorido e fácil de entender.
Último lançamento: Versão 0.8.1 em 21 de março de 2018.
# 5) CodeCover
A ferramenta CodeCover é uma ferramenta de teste de caixa de vidro de código aberto extensível que pode ser usada como cobertura de código para software Java. Foi desenvolvido em 2007 na Universidade de Stuttgart. Ele pode ser executado na linha de comando, Eclipse e Ant.
Características principais:
- É uma ferramenta de teste de caixa de vidro para aplicativos Java.
- Ele cobre extratos, loops, ramos, etc. junto com cobertura de prazo, cobertura de operadora de ponto de interrogação e cobertura sincronizada.
- Os relatórios são gerados no formato de velocidade do mecanismo de modelo.
Tipo de licença: EPL - Licença Pública Eclipse.
automatizar a construção ajudará em
URL oficial: CodeCover
Prós e contras:
- É uma ferramenta gratuita que pode ser usada para cobertura de código.
- É usado para aprimorar a qualidade dos testes e para criar novos casos de teste.
- É limitado para uso em Java e COBOL.
- Ele também tem limitações para instrumentar apenas um único diretório de origem.
Último lançamento: Versão 1.0.1.2 em 2011
# 6) BullseyeCoverage
Bullseye é uma ferramenta de cobertura de código para programas C ++ e C. Seu preço é $ 800 para o primeiro ano e $ 200 anuais para renovação.
Características principais:
- Este analisador de cobertura de código pode ser usado para C ++ e C.
- Possui a funcionalidade de exportar o resultado para os formatos HTML, XML e GUI.
- Ele vem com recursos adicionais, como mesclar, excluir código, visualizar etc.
- A maior decepção é que a combinação de resultados só pode ser feita no nível funcional. Não é permitido no nível de instrução ou condição.
Tipo de licença: Licença Flutuante
URL oficial: Alvo
Prós e contras:
- Seu uso é limitado a C ++ e C.
- Os custos das ferramentas são altos. Especialmente se não for necessário seus recursos adicionais como Visualizer, Merge, exclusão de código, etc.
- A ferramenta é amigável e seu uso é simples.
- Os relatórios são muito diretos e fáceis de entender.
- Sua velocidade de execução é muito rápida.
- Seu recurso de mesclagem não é tão bom.
Último lançamento: Versão 8.14 em março de 2018
# 7) EMMA
Emma é uma ferramenta de código aberto muito popular para software Java para medir a cobertura de código. Foi desenvolvido por Vlad Roubtsov. Abrange todos os tipos de cobertura, como classe, linha, método etc.
Características principais:
- É 100% para software Java.
- Sua característica especial é o suporte ao desenvolvimento de empresas em grande escala.
- Essa ferramenta possui uma grande participação no mercado quando comparada às demais ferramentas de cobertura gratuita.
- Os relatórios estão disponíveis em formato XML, HTML e texto simples.
Tipo de licença: CPL - Licença Pública Comum v1.0.
URL oficial: EMMA
Prós e contras:
- Esta é uma ferramenta gratuita com uma velocidade muito boa.
- É muito fácil de usar e cobre todos os critérios de cobertura de código.
- Limitado para uso em software Java.
- Suporta ANT.
- Ele oferece suporte à instrumentação de classe e pode ser executado offline ou instantaneamente.
- A maior desvantagem é que ele não oferece suporte à versão mais recente do Java e não é bem mantido.
Último lançamento: Emma-2.0.5320
# 8) OpenCover
OpenCover é uma ferramenta de código aberto para cobertura de código de software .Net. Funciona bem para .Net 2 e superior. Ele foi desenvolvido para superar os problemas enfrentados ao usar a ferramenta PartCover para cobertura de código de software .Net.
Características principais:
- É para todos os softwares .Net 2 e superiores.
- Ele pode ser instalado pelo pacote NuGet, arquivo MSI ou ZIP.
- Oferece suporte de 64 e 32 bits para .Net 4 e .Net 2.
- Ele fornece um processo simples de cobertura de código.
- Ele também fornece melhor manuseio de Genéricos do que PartCover.
- É uma ferramenta de linha de comando.
- Ele fornece relatórios como um arquivo de saída XML, que é usado para produzir relatórios gráficos. Isso é feito com o apoio da ferramenta Gerador de relatórios.
Tipo de licença: Licença MIT
URL oficial: OpenCover
Prós e contras:
- É uma ferramenta gratuita para teste de cobertura de código.
- É melhor do que PartCover de várias maneiras.
- Ele fornece uma documentação muito útil durante a instalação do OpenCover.
Último lançamento: OpenCover 4.6.519 em 8 de fevereiro de 2016
# 9) NCover
NCover é a melhor ferramenta de cobertura de código desenvolvida por Peter Waldschmidt para a plataforma .Net. Não é uma ferramenta totalmente de código aberto. Apenas sua versão Beta está disponível gratuitamente. Custa $ 480 para um NCover 3 completo.
Características principais:
- A ferramenta NCover é apenas para plataforma .Net.
- Isso cobre a cobertura de declarações e agências.
- Essa ferramenta analisa o código instrumentando-o por trás do que é privado.
- A ferramenta NCoverExplorer está disponível para navegar no código-fonte com análise de cobertura.
- Os relatórios são apresentados em métricas de formato HTML.
Tipo de licença: Licença Flutuante
URL oficial: NCover
Prós e contras:
- É a melhor ferramenta de cobertura de código para software .Net.
- Apenas a versão Beta é gratuita. Caso contrário, custa alto usar esta ferramenta.
- Possui 4 anos de maturidade e é uma ferramenta muito rápida.
- O suporte é muito ativo e continua atualizando os lançamentos com algumas novas correções e recursos.
- É muito fácil criar dados de cobertura de código com esta ferramenta.
- É bom para testes manuais e automatizados de cobertura de código.
Último lançamento: NCOVER V5.5.3706.979 em setembro de 2017
# 10) Squish COCO
COCO é uma plataforma cruzada, bem como uma ferramenta de cobertura de código multilíngue de compilador cruzado da froglogic.
As linguagens suportadas pelo COCO incluem C ++, C, C #, System C, Tcl e QML. Os relatórios estão disponíveis em diferentes formatos como HTML, XML, Texto, JUnit, AND Cobertura. O custo da ferramenta não é divulgado pela FROGLOGIC. No entanto, a licença adquirida será válida por 1 ano.
Para mais detalhes, é preciso entrar em contato com o suporte. Sua versão de teste, demonstração, partes de treinamento e suporte online estão disponíveis, mas com limitações com base na licença adquirida.
Características principais:
- É uma ferramenta de cobertura de código de plataforma cruzada e compilador cruzado.
- Ele instrumenta o código-fonte.
- Ele pode ser integrado a diferentes construções, testes e estruturas de CI.
- O recurso de mesclar relatórios está disponível para uma melhor análise.
Tipo de licença: Licença Frog Logic - Licença Flutuante.
array de classificação bolha c ++
URL oficial: Squish COCO
Prós e contras:
- Ele oferece suporte a vários tipos de projetos em uma linguagem como C ++, C, C #, System C, Tcl e QML.
- Sua versão de teste está disponível no mercado com limitações.
- Cada licença inclui um ano de suporte e atualizações.
- Isso torna o processo mais fácil.
- Abrange critérios como declaração, ramificações e condições.
- O usuário pode escolher um formato de relatório diferente.
- Encontra testes redundantes e código inatingível ou morto.
Último lançamento: Versão 4.0 em 2017
# 11) CoverageMeter
A ferramenta CoverageMeter é a cadeia de ferramentas de cobertura de código mais comumente usada para aplicativos C / C ++. Sua versão mais recente é a 1.4. Ajuda a encontrar o código-fonte não testado. Ele contém duas subferramentas, por exemplo, CoverageBrowser e CoverageScanner.
CoverageScanner funciona como uma ferramenta de linha de comando e substitui o compilador. É adaptado à maioria dos compiladores usados no mercado. CoverageBrowser funciona como uma interface gráfica usada para analisar e gerenciar relatórios finais. Após a execução, o relatório final pode ser analisado e gerenciado no CoverageBrowser.
Características principais:
- A ferramenta funciona principalmente em duas partes, ou seja, CoverageScanner e CoverageBorwser.
- Ele também vem com duas pequenas ferramentas gratuitas - Agente de execução e Visual studio opcional 2005 e 2008.
- Ele pode ser usado apenas para aplicativos baseados em C e C ++.
- Seu custo é de aproximadamente $ 115,00. No entanto, sua versão de teste também está disponível no mercado.
Tipo de licença: Shareware
URL oficial: CoverageMeter
Prós e contras:
- Seu teste gratuito está disponível no mercado.
- É limitado apenas para programas C e C ++.
- Abrange todos os critérios de cobertura de código, como funcional, declaração, condição, caminho, etc.
Último lançamento: Versão 1.4
# 12) GCT
GCT, Generic Coverage Tool, é uma ferramenta gratuita de cobertura de código para C criada por Brain Marick. Mede a cobertura de ramos, loops e operadoras relacionais. A ferramenta obtém o código-fonte C e, em seguida, faz a instrumentação e produz o objeto usando o compilador C do sistema. De outra forma, como um verdadeiro compilador, ele chama o compilador C após a instrumentação.
Características principais:
- É bom para programas C.
- Na versão mais recente, ele se comporta como um bom compilador.
- Abrange ramificações, condições múltiplas, condições de contorno e loops.
Tipo de licença: GNU - Licença Pública Geral.
URL oficial: GCT
Prós e contras:
- É um código aberto e fácil de usar com o poderoso sistema de relatórios.
- A ferramenta funciona apenas no UNIX.
- A ferramenta é grande e possui muitas peças na instalação. Isso requer cerca de 33.000 blocos de 1k.
- Possui ferramentas de relatórios flexíveis.
Último lançamento: GCT 1.4
# 13) TCAT C / C ++
TCAT é uma ferramenta de cobertura de código para analisar C, C ++ e JAVA. Sua versão 2.1 funciona bem para NT 4.xe Windows 95. O kit do TCAT consiste no motor instrumentado, unidade de tempo de execução e analisador orientado a gráficos. Para saber o custo real e as limitações, é necessário contatá-los ou enviar um e-mail.
Características principais:
- Ele analisa ramos, funções e cobertura de código de par de chamadas.
- Funciona com C, C ++ e Java.
- O método de apontar e clicar para relatórios de cobertura torna a ferramenta mais fácil de usar.
- Disponibilidade de documentação de usuário completa e software de visualização poderoso para ajudar os usuários.
- Possui uma versão Demo que não requer uma chave de licença, enquanto a versão completa requer uma chave de licença.
Tipo de licença: Gerenciador de licença flutuante padrão (flexlm)
URL oficial: TCAT C / C ++
Prós e contras:
- Limitado a C, C ++ e JAVA.
- Lida facilmente com projetos grandes e complexos sem problemas de capacidade.
- Boa compreensão do programa de árvore de chamada e dígrafos.
- É muito confiável, com cálculos mínimos e totalmente completo para uso de desenvolvedores e testadores.
- A versão demo está disponível por um período de apenas 10 dias e também com algumas restrições.
- O custo da licença não é divulgado.
Último lançamento: TCAT C / C ++, Ver. 3.2.
# 14) Gretel
Gretel é uma ferramenta gratuita de cobertura de código para o programa Java de Carls Howells da University of Oregon. Para instalar o Gretel JVM 1.3 ou posterior, BCEL (Byte Code Engineering Library) é necessário.
Características principais:
- Suporta cobertura de instrução para programa Java.
- Também auxilia na cobertura de teste residual, re-instrumentando o programa e removendo o instrumento do código já executado.
- Ele pode ser iniciado em uma linha de comando ou GUI.
- Os relatórios estão disponíveis na GUI.
Tipo de licença: BSD
URL oficial: Gretel
Prós e contras:
- É uma ferramenta de código aberto.
- Não é compatível com JUnit.
Último lançamento: Versão 1.0rc2 em junho de 2002.
# 15) JCov
Jcov é uma ferramenta de cobertura de código Java de código aberto. É desenvolvido e implementado com SUN JDK. Ele funciona instrumentando o bytecode java de duas maneiras, ou seja, instrumentação estática e instrumentação dinâmica.
Características principais:
- A ferramenta é boa para projetos Java.
- Ele relata cobertura de bloco, linha, ramal e método.
- Ele pode salvar os dados coletados no sistema de arquivos ou em um servidor.
- Ele instrumenta o bytecode java.
- Ele pode instrumentar em tempo real ou off-line.
Tipo de licença: LPG V2
URL oficial: JCov
Prós e contras:
- É uma ferramenta de cobertura de código-fonte aberto.
- É limitado apenas a projetos Java.
- Ele cobre quase todos os critérios de cobertura de código.
Último lançamento: JCov Versão 3 em 2014.
Conclusão
Usar cobertura de código para manter uma qualidade padrão de leads de teste para incluir casos de teste adicionais para garantir que o código seja executado durante a execução de suítes de teste, tanto quanto possível. Na verdade, isso é muito útil para testes de regressão eficazes.
As ferramentas de cobertura de código são usadas apenas para medir o código coberto durante a execução de testes.
É muito raro encontrar 100% de cobertura de código, e mesmo 100% de cobertura de código não prova 100% de teste de qualidade. Você pode atingir 100% de cobertura de código e ainda perder alguns dos casos de teste importantes. Para atingir um nível melhor de teste eficaz, deve-se optar pelo Teste de Mutação em vez da cobertura de código normal.
******************
= >> Contate-Nos para sugerir uma lista aqui.
******************
Leitura recomendada
- Melhores ferramentas de teste de software 2021 [QA Test Automation Tools]
- 15 melhores ferramentas JAVA para desenvolvimento, construção, criação de perfil, cobertura de código e revisão
- TOP 40 Ferramentas de análise de código estático (melhores ferramentas de análise de código-fonte)
- As 10 ferramentas de revisão de código mais populares para desenvolvedores e testadores
- Implantação Java: Criação e execução de arquivo JAR Java
- Java Virtual Machine: como a JVM ajuda na execução de aplicativos Java
- Modificadores de acesso em Java - Tutorial com exemplos
- Tutorial de reflexão Java com exemplos