55595874 NBR 06473 2003 Cal Virgem E Cal Hidratada Analise Quimica
Inspección de código para la entrega continua de...
Transcript of Inspección de código para la entrega continua de...
1© FATTO Consultoría y Sistemas – www.fattocs.com
Presentador: Augusto Mariano Pinheiro
21 de octubre de 2019
Inspección de código para la entrega continua de software de calidad
2
De preferencia al uso de una conexión de banda ancha.
Sí fuera necesario, ajuste el idioma de la sala en la barra de
herramientas superior.
El evento tendrá ~50 min de presentación y 10 min de preguntas al
final
Puedes enviar tus preguntas por el chat durante la presentación
Para quien posee un certificado PMP, el evento Vale 1 PDU.
La grabación y material serán publicados posteriormente en nuestra
página web y redes sociales:
ORIENTACIONES INICIALES
FATTO Consultoría y Sistemas
3
❑ Misión: “Ayudar a nuestros clientes en la planeación y evaluación dedesempeño de procesos de TI para aumentar el éxito de su negocio.”
Agenda
❑ Necesidades del desarrollo moderno de software
▪ Ágil, DevOps e sus practicas
❑ Integración Continua
❑ Herramientas para la Inspección Continua
❑ SonarQube
❑ Metas de calidad de código e indicadores
❑ Conclusiones
4© FATTO Consultoría y Sistemas – www.fattocs.com
#1 Nuestra mayor prioridad es satisfacer al cliente, mediante la entrega temprana y continua de software con valor.
#2 Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo.Los procesos agiles aprovechan el cambio, para proporcionar ventaja competitiva al cliente.
#3 Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.
Principios del Manifiesto Ágil
5
Necesidades del desarrollo
6© FATTO Consultoría y Sistemas – www.fattocs.com
❑ #9: Continua atención a la excelencia técnica y buen diseño, aumenta la agilidad.
❑ ¿ Innovar?
❑ #1: ¡Satisfacer al cliente!
▪ Software en funcionamiento mas que documentación amplia
❑ #2: Aceptar cambios de requerimientos
▪ Responder a cambios mas que seguir un plan
Necesidades del control de operaciones
7© FATTO Consultoría y Sistemas – www.fattocs.com
❑ Mantener el ambiente de producción funcionando y estable
❑ Mantener el ambiente de producción organizado
¡Necesidades de todos!
8© FATTO Consultoría y Sistemas – www.fattocs.com
❑ #1: ¡Atender a los requerimientos del negocio!
❑ #2: Permitir al cliente tener ventajas competitivas a través de la entrega continua de software con valor
❑ #3: Todo esto, sin comprometer la estabilidad del ambiente de producción
❑ Devops es un termino creado para describir un conjunto de prácticas para laintegracción entre los equipos del desarrollo de softwares, operaciones (infraestructura) y de apoyo involucradas (como control de calidad) y la adopción de procesos automatizados para la producción rápida y segura de aplicaciones y servicios.
DevOps como respuesta a esas necesidades
9© FATTO Consultoría y Sistemas – www.fattocs.com
¡Foco de la presentación de hoy!
❑ Integración Continua
❑ Entrega Continua
❑ Micro servicios
❑ Infraestructura como código
❑ Monitoreo y registro en log
❑ Comunicación y colaboración
Prácticas de DevOps
10© FATTO Consultoría y Sistemas – www.fattocs.com
❑ ¿Que es?▪ Es una práctica en que los desarrolladores, con frecuencia, juntan los cambios
hechos en código en un repositorio central, después de eso, compilaciones, inspecciones y pruebas son ejecutadas.
❑ Objetivos1) Investigar y encontrar bugs más rápido2) Mejorar la calidad del software3) Reducir el tiempo que lleva para validar y lanzar nuevas actualizaciones
de software
❑ Requiere, al mismo tiempo▪ Un (o más) componente(s) de automatización▪ Un componente cultural
CI – Continuous Integration
11© FATTO Consultoría y Sistemas – www.fattocs.com
Herramientas para la Inspección
12© FATTO Consultoría y Sistemas – www.fattocs.com
Inspección continua con el SonarQube
13© FATTO Consultoría y Sistemas – www.fattocs.com
❑ Que es:
▪ Herramienta de revisión/inspección automática de código-fuente creada para detectar bugs, vulnerabilidades y malas prácticas de programación.
▪ Permite la definición de los parámetros de inspección, análisis de los resultados, consultas y acciones de corrección y tratamiento.
❑ Provee informaciones para todos los involucrados a través de sus dashboards:
▪ Equipo de desarrollo
▪ Coordinador del proyecto
▪ Área de calidad
▪ Arquitecto
SonarQube
14© FATTO Consultoría y Sistemas – www.fattocs.com
❑ Características que son evaluadas durante las inspecciones:
▪ Confiabilidad• Violaciones (clasificas por severidad)
▪ Seguridad• Vulnerabilidades
▪ Manutención• Problemas potenciales
▪ Cobertura• Pruebas unitarias
▪ Duplicación• De líneas, bloques o archivos
▪ Tamaño• Densidad de comentarios (anotaciones)
▪ Complejidad• Ciclomática y Cognitiva
❑ Cálculo de lo Débito Técnico
▪ Estimativa de esfuerzo (HH) para corregir los problemas encontrados
SonarQube – Relación de todos los proyectos
15© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Visión general proyecto “AppWeb01” (1/2)
16© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Visión general proyecto “AppWeb01” (2/2)
17© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Violaciones (1)
18© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Violaciones (2)
19© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube - Seguridad
20© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Manutención (1)
21© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Manutención (2)
22© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Manutención (3)
23© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Duplicaciones (1)
24© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Duplicaciones (2)
25© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Duplicaciones (3)
26© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Cobertura de Código
27© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Documentación y Comentarios
28© FATTO Consultoría y Sistemas – www.fattocs.com
SonarQube – Complejidad Ciclomática y Cognitiva
29© FATTO Consultoría y Sistemas – www.fattocs.com
Metas de Calidad de Código como parte de un Acuerdo de Niveles de Servicio
30© FATTO Consultoría y Sistemas – www.fattocs.com
Métrica Objetivo Severidad
Cobertura de código en la camada del negocio >= 50% Media
% de las pruebas automatizadas ejecutadas con éxito = 100% Media
Densidad de comentarios en la camada del negocio >= 30% Baja
Complejidad por método <= 10% Media
Densidad de duplicación <= 5% Baja
Bloques duplicados en la misma clase = 0 Media
Líneas de código-fuente comentadas = 0 Media
Violaciones bloqueadoras = 0 Alta
Violaciones críticas = 0 Alta
Violaciones mayores <= 5% Media
Violaciones menores <= 5% Baja
Débito técnico <= 10% No se aplica
Metas de Calidad de Código como parte de un Acuerdo de Niveles de Servicio
31© FATTO Consultoría y Sistemas – www.fattocs.com
Grupo Métrica Unidad Meta
Proyecto
Complejidad / Archivo Media total <= 10
Complejidad / Clase Media total <= 10
Complejidad / Función Media total <=3
Duplicaciones % <=4%
Vulnerabilidades (confirmadas o potenciales) Unidades =0
Tasa del débito técnico % <= 2,5%
SQALE RATING (Maintainability Rating) Nota A
Violaciones de código (posibles bugs, estilo de la codificación, malas practicas de codificación):
Violaciones Críticas Unidades =0
Violaciones Bloqueadoras Unidades =0
Indicadores relacionados a las pruebas
Cobertura de Pruebas Unitarias (en la camada del negocio) % >=70%
Pruebas Unitarias ejecutadas con éxito % >=100%
Pruebas Unitarios no ejecutados Unidades =0
❑ Ventajas
▪ Muchos defectos diferentes pueden ser descubiertos en una única inspección
▪ Versiones incompletas del sistema pueden ser inspeccionadas
❑ No es adecuada
▪ Para verificar algunos requerimientos no funcionales, como desempeño, por ejemplo
▪ Para demonstrar que el software es útil
Consideraciones finales: Inspecciones
32© FATTO Consultoría y Sistemas – www.fattocs.com
❑ Ventajas
▪ Permite encontrar inconsistencias entre un programa e su especificación, esto es, revelar defectos
▪ Permite demonstrar si el software es (y hace) lo que el cliente desea
❑ Limitaciones
▪ Según Dijkstra, “Pruebas pueden solamente revelar la presencia de defectos, no su ausencia”
▪ Alto costo da realización de las pruebas funcionales
▪ Solo pueden ser realizados después de la conclusión del desarrollo del componente de software
Consideraciones finales: Pruebas
33© FATTO Consultoría y Sistemas – www.fattocs.com
Conclusión
34© FATTO Consultoría y Sistemas – www.fattocs.com
❑ ¡Inspecciones y pruebas no son prácticas excluyentes, pero sí, complementarias!
▪ Cada una tiene ventajas y desventajas una sobre la otra
▪ Deben ser utilizadas en conjunto en el proceso de Verificación y Validación
❑ Recordatorio: Calidad no es un atributo que se inserta en el producto al final del desarrollo, pero, si debe tener atención en todas las actividades del ciclo de vida del software.
¿Como FATTO te puede ayudar?
35© FATTO Consultoría y Sistemas – www.fattocs.com
❑ Actividades
▪ Instalación, configuración y preparación de las herramientas
▪ Automatización del proceso de inspección
▪ Mentoría de los involucrados en el proceso
▪ Creación del línea de base de los errores
▪ Implantación asistida
▪ Interpretación y evaluación de los resultados de la inspección
▪ Ajustes en las reglas y perfiles de inspección
❑ Contactos
PRÓXIMOS EVENTOS
❑WEBINAR:
▪ Medición Funcional con el Método COSMIC
▪ Fecha: 18/11/2019
1:00 PM (Hora de Bogotá y Lima)
❑ Subscripciones gratuitas em: https://bit.ly/2JaeBGs
36© FATTO Consultoría y Sistemas – www.fattocs.com
37
EVALUACIÓN
© FATTO Consultoría y Sistemas – www.fattocs.com
Presentador
AUGUSTO MARIANO PINHEIRO
• E-mail: [email protected]
• WhatsApp: +55 27 99946-2525
38© FATTO Consultoria y Sistemas – www.fattocs.com