top 15 code coverage tools
Llista de les eines de cobertura de codi més populars per a Java, JavaScript, C, C ++, C #, PHP, Eclipse, .Net i molts altres llenguatges de programació:
A les proves de programari, hi ha diverses maneres de mesurar la cobertura de les proves. El mètode de cobertura de codi és una de les tècniques més importants.
Mitjançant les eines de cobertura de codi, es pot identificar la quantitat de codi provat mentre s’executen les proves. En paraules simples, la cobertura del codi ens indica quina part del codi font està coberta per un conjunt de casos de prova. És una mètrica important per mantenir una qualitat estàndard dels esforços de control de qualitat.
Es mesura la cobertura del codi en percentatge del nombre de línies executades del nombre total de línies de codi mentre s’executen les proves.
En el moment d’escriure casos de prova, s’hauria de tenir en compte tots els criteris per a una cobertura màxima del codi, és a dir, s’haurien d’escriure casos de prova per cobrir totes les declaracions, funcions, condicions, camins, decisions, bucles, valor dels paràmetres, criteris d’entrada i sortida.
Disposem de diverses eines al mercat per mesurar la cobertura del codi. A continuació, expliquem alguns d’ells en aquest article.
******************
= >> Contacti amb nosaltres per suggerir el vostre llistat aquí.
******************
Què aprendreu:
Eines de cobertura de codi més populars el 2019
A continuació es mostra la llista de les eines de cobertura de codi més populars disponibles al mercat.
# 1) Parasoft JTest
Parasoft Jtest és un dels productes de la suite d'eines de prova de Parasoft.
Jtest us permet accelerar el desenvolupament d'aplicacions basades en Java amb un risc mínim, una guia adequada i una anàlisi. S'utilitza per a la prova unitària i la cobertura de codi integrada amb proves manuals i d'automatització. El seu informe proporciona una bona imatge del codi cobert i, per tant, minimitza els riscos.
Característiques clau:
- S'utilitza per a aplicacions basades en Java.
- És una eina de tasques múltiples que inclou anàlisi del flux de dades, proves d’unitats, anàlisis estàtiques, detecció d’errors en temps d’execució, proves de cobertura de codi, etc.
- Pot recollir cobertura des de diferents marcs i mètodes de prova.
- Es pot executar en mode de línia d'ordres, GUI basada en eclipsi o amb sistemes CI.
- Els informes i anàlisis d’alta qualitat també inclouen detalls de proves basats en la traçabilitat i el canvi de codi.
Tipus de llicència: Programari comercial propietari
URL oficial: Parasoft JTest
Pros i contres:
- És molt car d’utilitzar.
- És una bona eina per obtenir un producte de la millor qualitat amb una solució polivalent per reduir el temps i els riscos.
- Els informes i les anàlisis són molt fàcils d’entendre i completen els màxims aspectes de qualitat.
Darrera versió: Versió 10.3.3 el 7 de novembre de 2017.
# 2) Testwell CTC ++
Testwell CTC ++ és una eina molt popular de Verifysoft Technology. És una eina fiable d’anàlisi i cobertura de codi per a C, C ++, C # i Java.
Aquesta és l'elecció principal per a la majoria de les indústries de qualsevol domini. Assegura la completesa de les proves. Inclou un kit de qualificació. Aquesta eina també ofereix una prova gratuïta, formació en línia i presentacions en directe. Està disponible en tres paquets CTC ++ Host només, CTC ++ Host-Target add-on i CTC ++ Bitcov add-on.
preguntes i respostes d’entrevistes tècniques d’analistes de negocis
Per a C # i Java, requereix un paquet complementari separat.
Característiques clau:
- La seva característica principal és que es pot utilitzar per a aplicacions de diferents idiomes i dominis.
- Es pot utilitzar també amb totes les eines de prova d’unitat.
- Com a eina de cobertura de codi, proporciona una cobertura completa que inclou tots els criteris.
- Els informes es poden obtenir en format text directe, HTML, JSON, XML i Excel.
Tipus de llicència : Inicialment, la versió de prova està disponible de forma gratuïta. Per comprar-lo o el seu complement, cal posar-se en contacte amb ells.
URL oficial: Testwell CTC ++
Pros i contres:
- És molt fiable i fàcil d’utilitzar. Evita qualsevol lliurament de codi no provat.
- Hi ha disponible una versió de prova gratuïta.
- Es pot utilitzar per a aplicacions en diferents idiomes com C, Java, C #, etc.
- És bo per a tots els dominis, com ara salut, transport, automoció, etc., amb una cobertura de codi elevada.
- Admet tots els compiladors i compiladors creuats.
- El seu cost no es divulga, per tant, cal que us poseu en contacte amb l'empresa per obtenir informació sobre els preus.
Darrera versió: Versió 8.2.2
# 3) Cobertura
Cobertura és una eina de cobertura de codi obert per a Java. Aquesta és una eina basada en Jcoverage. Per utilitzar aquesta eina s’ha de declarar el complement Maven al fitxer POM.XML.
Característiques clau:
- És compatible amb Java 7, Java 8, Java 9 i Java 10.
- Cobertura es pot executar des de la línia d'ordres o ant.
- Després de la compilació, calcula el codi byt java.
- Cobreix tots els criteris de cobertura del codi, incloses les sucursals, la classe, el paquet, etc.
- Els informes es produeixen en HTML o XML.
- Aquests informes tenen les característiques de filtrar, ascendir i descendir.
Tipus de llicència: GNU General Public License (GPL)
URL oficial: cobertura
Pros i contres:
- És una eina de cobertura de codi font obert.
- Els seus informes són fàcils d'entendre amb opcions per filtrar segons la necessitat.
- Està ben dissenyat tant per a desenvolupadors com per a provadors.
- Funciona només per a Java.
Darrera versió: Versió 2.1.1
# 4) JaCoCo
JaCoCo és un joc d'eines de cobertura de codi gratuït desenvolupat per EclEmma. Va ser desenvolupat per substituir l'eina de cobertura del codi Emma. Només es pot utilitzar per mesurar i informar d'aplicacions basades en Java.
Característiques clau:
- Aquesta eina de cobertura de codi només es pot utilitzar per a Java. És compatible amb Java 7, Java 8, Java 9 i Java 10.
- És compatible amb tot tipus de versió de fitxer de classe Java publicada.
- Cobreix línies, instruccions, mètodes, tipus, branques i complexitat ciclomàtica en la cobertura del codi.
- Pot instrumentar el codi Java de dues maneres diferents, és a dir, mentre s’executa el codi amb l’agent Java o abans d’executar el codi que està fora de línia.
- Emmagatzema les dades resultants en un fitxer o les envia mitjançant TCP. Els seus formats d'informes inclouen CVS, XML i HTML.
- Admet proves de regressió juntament amb proves funcionals, on els casos de prova es basen en Junit.
URL oficial: JaCoCo
Pros i contres:
- Es tracta d’una eina de cobertura de codi de codi obert.
- És obligatori només per a la cobertura de codi Java.
- Ofereix un bon rendiment per a projectes Java a gran escala en un temps d'execució mínim.
- Requereix menys implementació amb dependències mínimes de biblioteques i recursos externs.
- Hi ha moltes eines que admeten JaCoCo com Jenkins, Netbeans, Gradle, TeamCity, VS TEAM SERVICES, etc.
- És fàcil configurar JaCoCo a Maven, Junit, etc., per obtenir un informe de cobertura de codi.
- L'informe generat per JaCoCo és colorit i fàcil d'entendre.
Darrera versió: Versió 0.8.1 el 21 de març de 2018.
# 5) CodeCover
L'eina CodeCover és una eina extensible de proves de caixes de vidre de font obert que es pot utilitzar com a cobertura de codi per al programari Java. Es va desenvolupar el 2007 a la Universitat de Stuttgart. Es pot executar a la línia d'ordres, Eclipse i Ant.
Característiques clau:
- És una eina de prova de caixes de vidre per a aplicacions Java.
- Cobreix extractes, bucles, sucursals, etc. juntament amb la cobertura del termini, la cobertura de l'operador de signes d'interrogació i la cobertura sincronitzada.
- Els informes es generen en el format de velocitat del motor de plantilla.
Tipus de llicència: EPL - Llicència pública Eclipse.
com utilitzar arrays.sort a Java
URL oficial: CodeCover
Pros i contres:
- És una eina gratuïta que es pot utilitzar per cobrir codis.
- S'utilitza per millorar la qualitat de les proves i per crear nous casos de prova.
- És limitat per utilitzar-lo a Java i COBOL.
- També té limitacions per instrumentar només un directori d'origen únic.
Darrera versió: Versió 1.0.1.2 el 2011
# 6) BullseyeCoverage
Bullseye és una eina de cobertura de codi per a programes C ++ i C. El seu preu és de 800 dòlars el primer any i 200 dòlars anuals per a la renovació.
Característiques clau:
- Aquest analitzador de cobertura de codi es pot utilitzar per a C ++ i C.
- Té la funció d’exportar el resultat a format HTML, XML i GUI.
- Inclou funcions addicionals com combinar, excloure codi, visualitzar, etc.
- La decepció més gran és que la fusió de resultats només es pot fer a nivell funcional. No es permet al nivell de sentència ni de condició.
Tipus de llicència: Llicència flotant
URL oficial: Bullseye
Pros i contres:
- El seu ús es limita a C ++ i C.
- Els costos de l’eina són elevats. Especialment si no es necessiten funcions addicionals com Visualizer, Merge, excloent codi, etc.
- L'eina és fàcil d'utilitzar i el seu ús és senzill.
- Els informes són molt senzills i fàcils d’entendre.
- La seva velocitat d'execució és molt ràpida.
- La seva funció de fusió no és tan bona.
Darrera versió: Versió 8.14 al març de 2018
# 7) EMMA
Emma és una eina de codi obert molt popular per al programari Java per mesurar la cobertura de codi. Va ser desenvolupat per Vlad Roubtsov. Cobreix tot tipus de cobertura, com ara classe, línia, mètode, etc.
Característiques clau:
- És 100% per al programari Java.
- La seva característica especial és que admet el desenvolupament empresarial a gran escala.
- Aquesta eina té una gran quota al mercat en comparació amb les altres eines de cobertura gratuïtes.
- Els informes estan disponibles en format XML, HTML i text normal.
Tipus de llicència: CPL: llicència pública comuna v1.0.
URL oficial: EMMA
Pros i contres:
- Aquesta és una eina gratuïta amb molt bona velocitat.
- És molt fàcil d’utilitzar i cobreix tots els criteris de cobertura del codi.
- Limitat per al seu ús en programari Java.
- Admet ANT.
- Admet instrumentació de classe i es pot executar fora de línia o sobre la marxa.
- L’inconvenient més gran és que no admet la versió més recent de Java i que no es manté bé.
Darrera versió: Emma-2.0.5320
# 8) OpenCover
OpenCover és una eina de codi obert per a la cobertura de codi del programari .Net. Funciona bé per a .Net 2 i versions posteriors. Es va desenvolupar per superar els problemes enfrontats mentre s'utilitzava l'eina PartCover per a la cobertura de codi del programari .Net.
Característiques clau:
- És per a tots els programes .Net 2 i superiors.
- Es pot instal·lar mitjançant un paquet NuGet, un fitxer MSI o ZIP.
- Ofereix compatibilitat de 64 i 32 bits per a .Net 4 i .Net 2.
- Proporciona un procés senzill de cobertura de codi.
- També proporciona un millor maneig de genèrics que PartCover.
- És una eina de línia d'ordres.
- Ofereix informes com a fitxer de sortida XML, que s’utilitza per produir informes gràfics. Això es fa amb el suport de l'eina generadora d'informes.
Tipus de llicència: Llicència MIT
URL oficial: OpenCover
Pros i contres:
- És una eina gratuïta per provar la cobertura de codi.
- És millor que PartCover de diverses maneres.
- Proporciona documentació molt útil durant la instal·lació d’OpenCover.
Darrera versió: OpenCover 4.6.519 el 8 de febrer de 2016
# 9) NCover
NCover és la millor eina de cobertura de codi desenvolupada per Peter Waldschmidt per a la plataforma .Net. No és una eina de codi obert completament. Només la seva versió beta està disponible de forma gratuïta. Costa 480 dòlars per un NCover 3 complet.
Característiques clau:
- L'eina NCover és només per a la plataforma .Net.
- Això inclou la cobertura de declaracions i sucursals.
- Aquesta eina analitza el codi instrumentant-lo darrere que és privat.
- L'eina NCoverExplorer està disponible per examinar el codi font amb anàlisi de cobertura.
- Els informes es presenten en mètriques de format HTML.
Tipus de llicència: Llicència flotant
URL oficial: NCover
Pros i contres:
- És la millor eina de cobertura de codi per al programari .Net.
- Només la versió beta és gratuïta. En cas contrari, costarà molt utilitzar aquesta eina.
- Té 4 anys de maduresa i és una eina molt ràpida.
- El suport és molt actiu i continua actualitzant les versions amb algunes correccions i funcions noves.
- És molt fàcil crear dades de cobertura de codi amb aquesta eina.
- És bo per a proves de cobertura de codi manuals i automàtiques.
Darrera versió: NCOVER V5.5.3706.979 el setembre de 2017
# 10) Squish COCO
COCO és una eina de cobertura de codis en diversos idiomes de multiplataforma i compilador creuada per froglogic.
Els llenguatges compatibles amb COCO inclouen C ++, C, C #, System C, Tcl i QML. Els informes estan disponibles en diferents formats com HTML, XML, Text, JUnit i Cobertura. FROGLOGIC no divulga el cost de l’eina. Tot i això, la llicència adquirida serà vàlida durant 1 any.
Per obtenir més informació, cal posar-se en contacte amb el servei d'assistència. Està disponible la versió de prova, la demostració, la formació i l'assistència en línia, però amb limitacions segons la llicència adquirida.
millor anti spyware per a Windows 10
Característiques clau:
- És una eina de cobertura de codis multiplataforma i de compilador.
- Instrumenta el codi font.
- Es pot integrar amb diferents versions, proves i marcs de CI.
- La característica de combinar informes està disponible per a una millor anàlisi.
Tipus de llicència: Llicència Frog logic: llicència flotant.
URL oficial: Squish COCO
Pros i contres:
- Admet múltiples tipus de projectes en un llenguatge com C ++, C, C #, System C, Tcl i QML.
- La versió de prova està disponible al mercat amb limitacions.
- Cada llicència inclou un any de suport i actualitzacions.
- Facilita el procés.
- Cobreix criteris com declaració, sucursals i condicions.
- L'usuari pot triar un format d'informe diferent.
- Cerca proves redundants i codi inaccessible o inexistent.
Darrera versió: Versió 4.0 el 2017
# 11) Mesurador de cobertura
L'eina CoverageMeter és la cadena d'eines de cobertura de codi més utilitzada per a aplicacions C / C ++. La seva última versió és la versió 1.4. Ajuda a trobar el codi font no provat. Conté dues subeines, és a dir, CoverageBrowser i CoverageScanner.
CoverageScanner funciona com una eina de línia d'ordres i substitueix el compilador. S'adapta a la majoria dels compiladors que s'utilitzen al mercat. CoverageBrowser funciona com una interfície gràfica que s’utilitza per analitzar i gestionar els informes finals. Després de l'execució, l'informe final es pot analitzar i gestionar al CoverageBrowser.
Característiques clau:
- L’eina funciona principalment en dues parts, és a dir, CoverageScanner i CoverageBorwser.
- També inclou dues petites eines gratuïtes: l'agent d'execució i Visual Studio 2005 i 2008 opcionals.
- Es pot utilitzar només per a aplicacions basades en C i C ++.
- El seu cost és d'aproximadament 115,00 dòlars. Tot i això, la seva versió de prova també està disponible al mercat.
Tipus de llicència: Shareware
URL oficial: CoverageMeter
Pros i contres:
- La seva prova gratuïta està disponible al mercat.
- És limitat només per al programa C i C ++.
- Cobreix tots els criteris de cobertura de codi com a funcionals, sentències, condicions, camins, etc.
Darrera versió: Versió 1.4
# 12) GCT
GCT, Generic Coverage Tool, és una eina gratuïta de cobertura de codi per a C per Brain Marick. Mesura la cobertura de sucursals, bucles i operadors relacionals. L'eina obté el codi font C i, a continuació, fa instrumentació i produeix l'objecte mitjançant el compilador C del sistema. D’una altra manera, com un veritable compilador, anomena compilador C després d’instrumentar.
Característiques clau:
- És bo per als programes C.
- A la darrera versió, es comporta com un bon compilador.
- Cobreix branques, condicions múltiples, condicions límit i bucles.
Tipus de llicència: GNU - Llicència pública general.
URL oficial: GCT
Pros i contres:
- És un codi obert i és fàcil d'utilitzar amb el potent sistema d'informes.
- L'eina només s'executa a UNIX.
- L'eina és gran i té moltes parts a la instal·lació. Això requereix aproximadament 33.000 blocs 1k.
- Disposa d’eines d’informació flexibles.
Darrera versió: GCT 1.4
# 13) TCAT C / C ++
TCAT és una eina de cobertura de codi per analitzar C, C ++ i JAVA. La seva versió 2.1 funciona bé per NT 4.x i Windows 95. El kit de TCAT consisteix en el motor instrumentat, la unitat d'execució i l'analitzador orientat als gràfics. Per trobar el cost i les limitacions reals, cal posar-se en contacte amb ells o enviar un correu electrònic.
Característiques clau:
- Analitza la cobertura de codi de sucursals, funcions i parells de trucades.
- Funciona per a C, C ++ i Java.
- El mètode d'assignació i de clic per informar de la cobertura facilita l'ús de l'eina.
- Disponibilitat de documentació completa de l’usuari i potent programari de visualització per ajudar els usuaris.
- Té una versió de demostració que no requereix una clau de llicència, mentre que la versió completa requereix una clau de llicència.
Tipus de llicència: Gestor de llicències flotants estàndard (flexlm)
URL oficial: TCAT C / C ++
Pros i contres:
- Limitat a C, C ++ i JAVA.
- Gestiona fàcilment projectes grans i complexos sense problemes de capacitat.
- Bona comprensió del programa a partir de l’arbre de trucades i els dígrafs.
- És molt fiable, amb càlculs mínims i és completament complet per a ús de desenvolupadors i provadors.
- La versió de demostració només està disponible per a un període de 10 dies i també amb algunes restriccions.
- El cost de la llicència no es divulga.
Darrera versió: TCAT C / C ++, Veure. 3.2.
# 14) Gretel
Gretel és una eina gratuïta de cobertura de codi per al programa Java de Carls Howells a la Universitat d'Oregon. Per instal·lar Gretel JVM 1.3 o posterior, cal BCEL (Byte Code Engineering Library).
Característiques clau:
- Admet la cobertura de declaracions per al programa Java.
- També ajuda a la cobertura de proves residuals reinstrumentant el programa i traient l’instrument del codi ja executat.
- Es pot iniciar en una línia d'ordres o GUI.
- Els informes estan disponibles en GUI.
Tipus de llicència: BSD
URL oficial: Gretel
Pros i contres:
- És una eina de codi obert.
- No és compatible amb JUnit.
Darrera versió: Versió 1.0rc2 el juny del 2002.
# 15) JCov
Jcov és una eina de cobertura de codi Java de codi obert. Està desenvolupat i implementat amb SUN JDK. Funciona instrumentant el bytecode java de dues maneres: instrumentació estàtica i instrumentació dinàmica.
Característiques clau:
- L’eina és bona per als projectes Java.
- Informa de la cobertura de blocs, línies, sucursals i mètodes.
- Pot desar les dades recollides al sistema de fitxers o en un servidor.
- Instruments bytecode java.
- Pot instrumentar tant sobre la marxa com fora de línia.
Tipus de llicència: GLP V2
URL oficial: JCov
Pros i contres:
- És una eina de cobertura de codi font obert.
- Es limita només a projectes Java.
- Cobreix gairebé tots els criteris de cobertura del codi.
Darrera versió: JCov versió 3 el 2014.
Conclusió
L’ús de la cobertura de codi per mantenir una qualitat estàndard de les proves porta a incloure casos de prova addicionals per assegurar-se que el codi s’executa mentre s’executen les proves suite. De fet, això és molt útil per fer proves de regressió efectives.
Les eines de cobertura del codi només s’utilitzen per mesurar el codi cobert mentre s’executen proves.
És molt rar trobar una cobertura de codi del 100%, i fins i tot una cobertura de codi del 100% no demostra proves de qualitat del 100%. És possible que obtingueu una cobertura de codi del 100% sense deixar de trobar alguns dels casos de prova importants. Per tal d'aconseguir un millor nivell de proves efectives, s'hauria d'optar per les proves de mutació en lloc de cobrir el codi normal.
******************
= >> Contacti amb nosaltres per suggerir un llistat aquí.
******************
Lectura recomanada
- Les millors eines de prova de programari 2021 (Eines d'automatització de proves de control de qualitat)
- 15 millors eines JAVA per al desenvolupament, compilació, perfils, cobertura de codi i revisió
- TOP 40 Eines d’anàlisi de codi estàtic (les millors eines d’anàlisi de codi font)
- Top 10 de les eines de revisió de codi més populars per a desenvolupadors i verificadors
- Desplegament de Java: creació i execució del fitxer JAR de Java
- Màquina virtual Java: com ajuda JVM a executar aplicacions Java
- Modificadors d'accés a Java: tutorial amb exemples
- Tutorial de reflexió de Java amb exemples