Una lista de herramientas de calidad software imprescindibles
En los últimos años se han disparado las opciones para automatizar el control de la calidad software. Hemos pasado de los maravillosos años en que hacíamos inspecciones de código a mano y por muestreo, a multitud de herramientas de calidad software.
El caso es que para ayudaros a realizar una primera selección, dentro del amplio mundo de las herramientas de calidad software, en este post os dejo algunas de las más populares y recomendadas. Hay que tener en cuenta que las siguientes son herramientas de calidad software que realizan un control desde el punto de vista del estudio estático y de caja blanca (es decir, para que nos entendamos, analizan sin ejecutar el software y viendo los fuentes).
Una lista de herramientas de calidad software
PMD. Analizador estático de código que utiliza unos conjuntos de reglas para identificar problemas dentro del software. Detecta cosas como código duplicado (te recomiendo aquí este post), código muerto (variables, parámetros o métodos sin usar), complejidad de métodos (if innecesarios, etc., te recomiendo aquí este otro post sobre código complejo). Trabaja principalmente con lenguaje Java, aunque, con menos soporte, también posee conjuntos de reglas para JavaScript, xsl y ecmascript. Página oficial: http://pmd.sourceforge.net/. La licencia es: BSD. Alguna cifra, las descargas en sourceforge a día de hoy andan por: 748.736.
Check Style. Herramienta de análisis estático de código que se utiliza para comprobar que el código analizado cumple con una serie de reglas de estilo. Ejemplo, analiza el código según el estandar “Sun Code Conventions” (mira las cabeceras, importaciones de paquetes, Javadoc, etc.). Página oficial: http://checkstyle.sourceforge.net/. Trabaja para Java. La licencia es: GNU Lesser General Public License Version 2.1.
SONAR. Una herramienta de software libre y gratuita que permite gestionar la calidad del código fuente. Al instalarla podremos recopilar, analizar, y visualizar métricas del código fuente. Sonar es básicamente la fusión de las siguientes herramientas Checkstyle y PMD, más otras que no menciono en este post, como Findbugs, Clover y Cobertura. También realiza un histórico de todas las métricas del proyecto. Permite visualizar informes con resumenes de las métricas. Página oficial: http://www.sonarsource.org. Trabaja, principalmente, para Java. Aunque da soporte, gracias a la amplia librería de plugins (algunos de pago), a los siguientes lenguajes: ABAP, C, Cobol, C#, Delphi/Pascal, Flex/ActionScript, Groovy, JavaScript, Natural, PHP, PL/SQL, Visual Basic 6, Web y XML. La licencia es: LGPL.
Google CodePro Analytix. Otra de las herramientas de calidad software, ofrece un entorno para evaluación de código, métricas, análisis de dependencias, cobertura de código, generación de Test unitarios, etc. Mira las excepciones, refactorizaciones potenciales (te dejo un post de refactorización), convenios de JavaDoc, métricas, etc. Disponible como plugin de Eclipse. Página oficial: http://code.google.com/intl/es-ES/javadevtools/codepro/doc/index.html. Trabaja para Java, concretamente en Eclipse. La herramienta es gratis.
Simian. Herramienta para detectar código duplicado (que es el mayor enemigo de la mantenibilidad, es decir, que si hay código repetido te va a costar más euros mantener el software, te recomiendo aquí este post) en desarrollos realizados con los lenguajes: Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML y Visual Basic. Página oficial: http://www.redhillconsulting.com.au/products/simian/. La licencia es libre si su uso está destinado a proyectos OpenSource.
Como podéis imaginar hay muchas más herramientas de calidad software, herramientas de este tipo orientadas a evaluar calidad software. Pero en mi experiencia, las anteriores son quizás de las herramientas de calidad software más representativas y ampliamente usadas. Hay muchas más de software libre y también buenas herramientas comerciales. Y en general su demanda ha crecido bastante por su uso en empresas que han externalizado el desarrollo y quieren evaluar las entregas.
Probablemente en los próximos “oficializaré en el blog” un listado de herramientas de calidad software.
Y si se te ocurre alguna más, déjala en los comentarios de este post.
19 Respuestas to “Una lista de herramientas de calidad software imprescindibles”
Trackbacks/Pingbacks
- Bitacoras.com - Información Bitacoras.com...Valora en Bitacoras.com: En los últimos años se han disparado las opciones para automatizar el control de la calidad ...
- ¿Vas a lanzar un proyecto? ¿No sabes con qué proveedor contar? Te asesoramos GRATIS sobre los mejores proveedores TI - Javier Garzás | Javier Garzás - [...] de código, métricas, ISO 20000, etc.). Aprovecho para dejar algún post sobre herramientas, como una lista de herramientas de ...




Hola, buenas:
Para aquellos que queráis disponer de un entorno con Sonar, Jenkins, Nexus, Trac, Redmine y Subversion listo para entrar en producción en cuestión de minutos, os recomiendo visitar http://clinkerhq.com
Javier, buena recopilación.
Un saludo
Yo nunca he usado el Sonar, me pregunto si se puede usar con Git o es solo para svn?
Hola Javier,
solamente un apunte: Sonar actualmente no tiene soporte para C y C++. Existía un plugin para ello pero no ha sido mantenido y con las nuevas versiones de la herramienta, no funciona.
Muy buena recopilación.
Un saludo.
Hola amigos
¿alguien conoce alguna herramienta que evlue en cloud?
Saludos
Un día tendría que poner un listado de ecosistemas tambien
No es buena noticia, porque si ya era dificil encontrar cosas para C…
Hola Pepe:
Unos comentarios más arriba se cita http://clinkerhq.com que proporciona un producto llamado Clinker Cloud que te ofrece tu ecosistemas en la nube con una instancia exclusiva, privada y dedicada.
http://clinkerhq.com/products#cloud
Un saludo
Hola Javier:
Pues sí, sería interesante conocer a la competencia de Clinker
Un saludo
Pero hay? (no hace falta que me digas nombres
Hola,
Optimyth Software, ofrece la funcionalidad de análisis estático de código de su producto comercial checKing en cloud. Se puede probar gratuitamente y los precios son competitivos. Puedesponer en contacto con nosotros para cualquier duda o consulta.
http://www.checkinginthecloud.com
Un abrazo,
J.
Javier,
excelente resumen de la oferta fundamentalmente gratuita y/o open source. Está claro que la necesidad de calidad calidad de software es una realidad y que cada vez las herramientas son más y mejores.
Los que nos dedicamos a esto no nos podemos dormir
No sé has dónde conoces la herramientas de Optimyth. Si quieres puedes empezar echando un vistazo a lo que tenemos en cloud http://www.checkinginthecloud.com y si tienes tiempo e interés no tienes más que decírmelo y te cuento lo que hacemos.
Un abrazo,
J.
¡Hola a todos!
Muy buen post de herramientas… Añadiría algunas como Findbugs, JMeter, Selenium, … En esta página se recopilan bastantes alternativas:
http://java-source.net/open-source/code-analyzers
Por mi parte añadir que, además del ecosistema de ClinkerHQ que ayuda a poner todas esas herramientas en la nube, hay muchas extensiones interesantes y encima son “made in Spain”, como por ejemplo:
- Sonar City Model (para ver tu código como una ciudad en 3D)
http://tinyurl.com/78dcm8s
- Sonar PMD Model Plugin (una integración del modelo de categorías de PMD en Sonar)
http://tinyurl.com/7fjznoo
- Sonar ABC Metric (muy útil la métrica ABC que mide el trabajo del código).
http://tinyurl.com/7sfdreq
En eXcentia también hemos contribuido a la internacionalización de Sonar desarrollando el paquete en Español con licencia LGPL (¡hay que defender la calidad de software en nuestro idioma!) y con un manual de Sonar on-line también en nuestro idioma.
También hay otras extensiones para integrar JMeter en el cuadro de mandos de Sonar (también LGPL) o extensiones para añadir logos de proyecto o imagenes…
¡Un saludo!
Gracias Antonio por la lista.
Los JMeter, Selenium me los apunto para otra lista de caja negra.
Bye!
Hola Javier Salado:
¿Dónde están los precios? Los de Clinker Cloud está aquí http://clinkerhq.com/pricing
Desde 55€/mes tienes todo un ecosistemas listo para centrarte en tus proyectos.
Un saludo
Hola!
Nosotros en la Universidad Rey Juan Carlos, en el grado de Ingeniería Software, hemos usado la de google para una prácica (de una asignatura de javier por cierto
y nos ha sido la más fácil de usar, mejor que otras como PMD, que tenían más requisitos
Gracias por mostrarnos tantas otras opciones!
Por lo que veo para C++ no funciona ninguna (c++ existe?)
Para el análisis de de memory leak recomiendo
memory validator
http://www.softwareverify.com/cpp-memory.php
Para pruebas recomiendo
mockpp
http://mockpp.sourceforge.net/
Aqui puedes encontrar algo para C, para software crítico
http://www.javiergarzas.com/2012/02/calidad-del-software-critico.html
Gracias!
Pues hablando del rey de roma… Hoy mismo se ha anunciado la disponibilidad de ese plugin que funciona con las nuevas versiones de Sonar, y que incluye 30 nuevas reglas conformes al estándar MISRA-C-2004:
http://sonar.15.n6.nabble.com/sonar-dev-ANN-Release-of-C-plugin-1-4-td4557661.html
Ahora ya no hay excusa para usar Sonar con proyectos en lenguaje C