Académique Documents
Professionnel Documents
Culture Documents
Práctica No.: 1
Tema: SonarQube
1. Objetivos:
3. Desarrollo de la práctica:
3.1. CONFIGURACIÓN DEL AMBIENTE DE PRUEBAS
Nombre y Versión Características
Página 1 de 17
1 Windows 7 Incluye todas las funciones de la versión
Professional Home Premium más «Protección de datos»
con «Copia de seguridad avanzada», red
administrada con soporte para dominios,
impresión en red localizada mediante
Location Aware Printing y cifrado de
archivos.
2 SonarQube Mediante el análisis del código se obtienen
informes sobre:
• Código duplicado.
• Estándares de codificación.
• Tests.
• Cobertura de pruebas.
• Complejidad ciclomática.
• Bugs potenciales.
• Comentarios.
• Diseño y arquitectura.
3.3.3. Instalación
Descargar el archivo de SonarQube desde el link:
https://www.sonarqube.org/downloads/.
Página 2 de 17
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 3 de 17
Finalmente, ejecutar el servidor de SonarQube con el comando StartSonar.bat.
Página 4 de 17
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 5 de 17
Una vez listo el servidor de SonarQube, es necesario instalar un cliente. Para
ello se utilizará Sonar-Runner que es uno de los clientes para análisis de
código. Se accede al sitio web
http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-
dist/2.3/ y se descarga el archivo sonar-runner-dist-2.3.zip.
Página 6 de 17
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
3.3.4. Desarrollo
Página 7 de 17
Luego desde un navegador ingresamos a la dirección localhost:9000 para evidenciar
que el servidor de SonarQube está ejecutándose sin ningún problema.
Página 8 de 17
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Luego abrimos otro cmd y nos dirigimos al directorio que contiene el proyecto a ser
evaluado.
Página 9 de 17
El programa evaluará nuestro proyecto y mostrará un mensaje de éxito (SUCCESS) si
no hubo ningún inconveniente en la ejecución.
username: admin
password: admin
Página 10 de 17
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Si queremos evidenciar algún problema como “Bugs” o “Code Smells” podemos utilizar
el proyecto de ejemplo que viene integrado con SonarQube.
Página 11 de 17
Ahora seleccionamos la pestaña “Issues” de este proyecto para apreciar las fallas que
tiene, más detalladamente.
Como podemos apreciar el sistema tiene 3 bugs, si hacemos clic en esa opción
SonarQube nos despliega la siguiente información.
Página 12 de 17
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Para evaluar otro proyecto debemos realizar los pasos anteriores que hicimos con
ProyectoMatricula. Ahora evaluamos el proyecto “CuadradoMagico”.
Y obtenemos los siguientes resultados según lo que evaluó SonarQube del proyecto
CuadradoMagico.
Página 13 de 17
Para una vista más detallada de los problemas encontrados damos clic en la pestaña
“Issues”.
Página 14 de 17
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
Página 15 de 17
Finalmente, si hacemos clic en la pestaña “Code” obtenemos un resumen de todas las
vulnerabilidades, “Bugs” y otros problemas que presentan todos los proyectos que han
sido evaluados por la herramienta.
Página 16 de 17
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA DE SISTEMAS
INGENIERÍA DE SISTEMAS INFORMÁTICOS Y DE COMPUTACIÓN
5. Conclusiones y recomendaciones:
• SonarQube permite analizar y medir la calidad técnica de un sistema
software según varias métricas como “Bugs”,Vulnerabilidades y “Code
Smells”.
• SonarQube analiza y audita software escrito en varios lenguajes como:
C / C ++, JavaScript, C#, Java,COBOL entre otros.
• Se recomienda probar SonnarQube en entornos de diferente lenguaje de
programación para apreciar su exactitud.
• Se recomienda a los desarrolladores de SonarQube habilitar una opción
para elegir el lenguaje de programación y que así la evaluación sea más
especializada.
6. Bibliografía:
[1] J. Websec, «¿Qué es SonarQube?,» 04 May. 2017. [En línea]. Available:
http://blog.quantika14.com/blog/2017/05/04/que-es-sonarqube/.
7. Anexos
Anexo 1
https://github.com/SonarSource/sonarqube
Página 17 de 17