38
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

Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 2: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 3: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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.”

Page 4: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 5: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

#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

Page 6: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 7: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 8: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

¡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

Page 9: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

❑ 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!

Page 10: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

❑ 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

Page 11: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

❑ ¿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

Page 12: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

Herramientas para la Inspección

12© FATTO Consultoría y Sistemas – www.fattocs.com

Page 13: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 14: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 15: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Relación de todos los proyectos

15© FATTO Consultoría y Sistemas – www.fattocs.com

Page 16: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Visión general proyecto “AppWeb01” (1/2)

16© FATTO Consultoría y Sistemas – www.fattocs.com

Page 17: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Visión general proyecto “AppWeb01” (2/2)

17© FATTO Consultoría y Sistemas – www.fattocs.com

Page 18: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Violaciones (1)

18© FATTO Consultoría y Sistemas – www.fattocs.com

Page 19: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Violaciones (2)

19© FATTO Consultoría y Sistemas – www.fattocs.com

Page 20: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube - Seguridad

20© FATTO Consultoría y Sistemas – www.fattocs.com

Page 21: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Manutención (1)

21© FATTO Consultoría y Sistemas – www.fattocs.com

Page 22: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Manutención (2)

22© FATTO Consultoría y Sistemas – www.fattocs.com

Page 23: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Manutención (3)

23© FATTO Consultoría y Sistemas – www.fattocs.com

Page 24: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Duplicaciones (1)

24© FATTO Consultoría y Sistemas – www.fattocs.com

Page 25: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Duplicaciones (2)

25© FATTO Consultoría y Sistemas – www.fattocs.com

Page 26: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Duplicaciones (3)

26© FATTO Consultoría y Sistemas – www.fattocs.com

Page 27: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Cobertura de Código

27© FATTO Consultoría y Sistemas – www.fattocs.com

Page 28: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Documentación y Comentarios

28© FATTO Consultoría y Sistemas – www.fattocs.com

Page 29: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

SonarQube – Complejidad Ciclomática y Cognitiva

29© FATTO Consultoría y Sistemas – www.fattocs.com

Page 30: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 31: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 32: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

❑ 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

Page 33: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

❑ 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

Page 34: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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.

Page 35: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

¿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

[email protected]

Page 36: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

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

Page 37: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

37

EVALUACIÓN

© FATTO Consultoría y Sistemas – www.fattocs.com

Page 38: Inspección de código para la entrega continua de ...fattocs.com/files/es/presentaciones/20191021-ANALISE-ESTATICA v… · 2 De preferencia al uso de una conexión de banda ancha

Presentador

AUGUSTO MARIANO PINHEIRO

• E-mail: [email protected]

• WhatsApp: +55 27 99946-2525

38© FATTO Consultoria y Sistemas – www.fattocs.com