
Entender la taxonomía de pruebas y en qué clasificación esta ubicado SonarQube como herramienta.
Reconocer cuáles son las ventajas de SonarQube y por qué debemos usarlo cuando tenemos como misión mejorar la calidad de productos de software.
Visualizar la arquitectura de SonarQube y entender cómo funciona el análisis de calidad de software y cuáles son los componentes involucrados para lograr desarrollar una estrategia de inspección continua de calidad.
Instalar el servidor web de SonarQube en una maquina con Ubuntu Server, configurarlo haciendo uso de PostgreSQL para almacenar los datos de los reportes y Ngnix como proxy reverso para el acceso desde internet.
Docker es hoy en día la herramienta por defecto para realizar por defecto despliegues de servicios de software, SonarQube no es la excepción y en esta clase revisaremos la posibilidad de realizar el despligue de nuestro servidor de inspección de calidad con Docker, desde las imágenes por defecto que están en el Docker Registry oficial hasta la personalización de esta instancia.
El software como servicio (SaaS), es un módelo que hoy día tiene más acogida en los usuarios, en resumen consiste en contratar los servicios de un software por lo general desplegado en la nube donde el usuario se olvida de todo el mantenimiento asociado al despliegue de la herramienta y se concentra en el uso de la misma, para el caso de SonarQube este servicio se conoce con el nombre de SonarCloud y en esta clase vamos a aprender como usarlo.
Integrar Apache Ant con SonarQube Scanner para analizar proyectos basados en Java.
Aprender a integrar Maven con SonarQube Scanner para analizar proyectos basados en Java. Agregar el plugin de JavaCoCo para generar reportes de covertura y visualizarlos en SonarQube.
Aprender a integrar Gradle con SonarQube Scanner para analizar proyectos basados en Java y Kotlin, de esta forma incluir el desarrollo de aplicaciones móviles al proceso de mejoramiento de la calidad con SonarQube.
GitHub Actions es una herramienta muy popular para ejecutar flujos de trabajo sin tener que compartir el código con herramientas externas al repositorio, en esta clase vamos a ver cómo ejecutar el análisis de calidad con SonarQube desde este lugar.
La cultura de los equipos de desarrollo ha hecho que la comunicación entre los desarrolladores suceda en aplicaciones como Slack, en esta clase revisaremos como podemos integrar SonarQube a este servicio de mensajería instantánea para recibir notificaciones sobre la calidad de los proyectos.
El Northeast Blackout fue un apagón en Estados Unidos que dejo a más de 50 millones de personas sin energía eléctrica causado por un BUG en el sistema de alarmas.
Situaciones como estas son evidencia de la necesidad de implementar mejores prácticas de calidad en la construcción de proyectos de Software, es por eso que en este curso abordamos SonarQube, una herramienta para realizar análisis estático de código, sin embargo en este curso vamos mucho más allá de ello y es por ello que usted aprenderá a:
Identificar los Issues que reporta SonarQube, de esa forma interpretar los diferentes tipos (Bugs, Vulnerabilidades, Code Smells) y las severidades para definir una estrategia inteligente de mejora.
Interpretar las métricas de calidad como la covertura de pruebas, duplicación de código y complejidad de las funcionalidades.
Gestionar la deuda técnica para mantener la calidad del proyecto con altos estándares de calidad según los atributos de Confiabilidad, Mantenibilidad y Seguridad.
Usar la escala de SQALE (Software Quality Assessment based on Lifecycle Expectations) para evaluar la calidad del proyecto.
Definir compuertas de calidad en SonarQube para determinar si un proyecto esta listo o no para ser desplegado en producción.
Comparación de SonarQube con otras herramientas similares disponibles.
Por otro lado el curso también cuenta con un componente técnico importante con el cual al finalizarlo usted será capaz de:
Instalar el servidor web de SonarQube desde cero usando un servidor Ubuntu sobre un proveedor Cloud como Azure.
Instalar el servidor de SonarQube usando Docker y también a usar SonarCloud, la oferta de Software como Servicio.
Inspeccionar la calidad del código fuente con SonarQube Scanner o en diferentes plataformas (Java, Node, .NET) y sus respectivos plugins.
Crear un pipeline de Integración Continua con BuddyWorks o Jenkins y asociar SonarQube al proceso, de esta forma el proceso de inspección sucederá de forma continua a lo largo del ciclo de vida del proyecto.
Analizar la calidad de las ramas de un código almacenado en un repositorio en GitHub por medio de GitHub Actions.
Integrar los IDE's más populares (VS Code, Eclipse, IntelliJ) con SonarLint y crear un estándar de calidad compartido entre todos los desarrolladores.
Integrar SonarQube con Slack para enviar notificaciones automáticas.
En BDTech creemos firmemente en los beneficios de enseñar tecnología sin olvidar las bases teóricas, este curso es una combinación maravillosa de esos dos mundos.