Madurez del mercado español
Calidad y seguridad de aplicaciones
Ponente
Luisa Morales Gómez-Tejedor
¿Por qué un estudio sobre la
calidad y la seguridad?
2
! Según estudios de mercado, los costes de mantenimiento suponen el 67% del coste total del ciclo de vida de una aplicación.
Desglose del esfuerzo total del ciclo de vida
Distribución del tiempo en tareas de mantenimiento (McClure)
6% 28% 19% 23% 18% 6% Estudiar Código Estudiar Documentación Estudiar Peticiones Actualizar Documentación Realizar Pruebas Implementar Cambios Componentes que afectan a la complejidad técnica (70%)
Desglose del esfuerzo de mantenimiento
! Alrededor del 70% de esa cifra (47% del ciclo de vida de una Aplicación) se invierte en tareas cuya duración está
estrechamente ligada a la complejidad técnica.
¿Por qué un estudio sobre la
calidad y la seguridad?
3
! El 70% de los daños producidos por fallos de seguridad se deben a ataques cuyo punto de entrada han sido las aplicaciones. Gartner
! Sin embargo, en general las
empresas gastan en
seguridad de aplicaciones del
orden del 10% de su presupuesto global de seguridad informática.
Protección
Antivirus Encriptación (SSL) Firewalls / Advanced Routers Firewall Web Servers Databases Backend Server Application Servers Aplicaciones % ataques 70% 30% % gasto en seguridad 90% 10%
Frecuencia ataques vs gasto en seguridad
Autoría del Benchmark
4
! Compañía consultora de
integración de sistemas, con una alta especialización en calidad y pruebas.
! Compañía experta en soluciones
tecnológicas aplicadas al negocio, comercializadora de la
herramienta CodAudit.
Industrializa la auditoría de calidad y seguridad del software,
basándose en estándares de programación mundialmente reconocidos. Estudio de mercado elaborado por Sopra en colaboración con Koukio
Evaluación de Calidad
5
! Facilidad para encontrar los
cambios introducidos en el sistema 0,00 0,05 0,10 0,15 0,20 0,25 0,30 0,35 0,40 0,45 Arquitectura Datos Gestión de excepciones Lógica 0,26 0,25 0,44 0,02
Evaluación de Calidad
6
! Reglas relacionadas con
algoritmos, reutilización de objetos, etc.
Desglose (número de violaciones por cada 1.000 líneas de código)
0,00 0,50 1,00 1,50 2,00
Memoria Buenas prácticas
0,20
Evaluación de Calidad
7
! Reglas relacionadas con las
buenas prácticas de programación
Desglose (número de violaciones por cada 1.000 líneas de código)
0,00 2,00 4,00 6,00 8,00 10,00 12,00
Legibilidad Comprensibilidad
0,05
Evaluación de Calidad
8
! Evaluación del uso correcto del
framework y de las librerías, compatibilad del código con las plataformas de 32 y 64 bits
0,00 0,00 0,00 0,01 0,01 0,01
Sistema operativo
0,01
Evaluación de Calidad
9
! Reglas relacionadas con la
robustez de la implementación, gestión de colas, complejidad esencial de McCabe, etc.
0,00 0,20 0,40 0,60 0,80 1,00 1,20 1,40 1,60 1,80 Datos Tolerancia a fallos Lógica Disponibilidad 0,23 0,07 1,62 1,11
Evaluación de Calidad
10
! Facilidad para ser probado:
simplicidad para probar los cambios en el sistema
0,00 0,20 0,40 0,60 0,80 1,00 1,20
Relacionado con el S.O. Nivel unitario Pruebas unitarias
0,10
0,23
1,04
Evaluación de Calidad
11
Número de violaciones por cada 1.000 líneas de código
0,00 2,00 4,00 6,00 8,00 10,00 12,00
Mantenibilidad Fiabilidad Eficiencia Facilidad para ser probado Modificabilidad Portabilidad 11,51 3,03 2,16 1,37 0,97 0,01
Evaluación de Seguridad
12
! Estándares internacionales de
programación segura, análisis de la estructura de datos, control de flujo, gestión de memoria y detección de vulnerabilidades 0,00 0,50 1,00 1,50 2,00 2,50 3,00 3,50 Severidad 1 (Bloqueante) Severidad 2 (Crítica) Severidad 3 (Mayor) Severidad 4 (Menor) Severidad 5 (Informativo) 2,70 0,30 3,38 0,15 1,25
Evaluación de Seguridad
13 ¿Cuáles han sido las principales incidencias de seguridad?
¿A qué causas se han debido? ¿Qué impacto han tenido?
¿Cuáles son los principales obstáculos para el desarrollo seguro?
1 Muy bajo 2 Bajo 3 Medio 4 Alto 5 Muy alto Índice de riesgo
14
Principales incidencias de
seguridad
! Robo / Acceso a la información
! Modificación de información
! Modificación no autorizada de
Principales causas
15
! Uso abusivo de los recursos / privilegios
Impacto
16
! Sanciones o acciones regulatorias
! Pérdida de clientes
obstáculos para la práctica de
desarrollo seguro
17
! Complejidad de los productos
de Medición del Software
! Cambios técnicos en los
estándares de Desarrollo
! Falta de procesos de
Desarrollo seguro
! Falta de cultura / formación de
programadores
! Falta de personal especializado en
seguridad del Desarrollo
! Restricciones de presupuesto
! Falta de tiempo dedicado a la
Evaluación del proceso de
pruebas
18
! Integración de las pruebas en el
ciclo de vida del proyecto. Se valora la metodología, procedimientos, documentación. 1,00 2,00 3,00 4,00 Metodología Fases de pruebas Documentación de procedimientos Comunicación y escalado de Gestión de incidencias 2,38 2,32 2,29 2,18 2,68
Evaluación del proceso de
pruebas
19
! Se valora si las técnicas que se usan
son apropiadas, efectivas y medibles.
1,00 2,00 3,00 4,00
Gestión de pruebas basada en Técnicas de pruebas estáticas Planificación y estimación de pruebas Especificaciones basadas en Metricas para la gestión y mejora
2,00 2,24
2,56 2,74 1,82
Evaluación del proceso de
pruebas
20
! Se valora el uso de las
herramientas y el entorno de pruebas. 1,00 2,00 3,00 4,00 Herramientas de automatización Entorno de pruebas Herramientas de gestión de Conocimiento de herramientas Datos de pruebas 1,85 2,50 1,91 2,12 2,88
Evaluación del proceso de
pruebas
21
! Se valora la definición de los skills
de testing y su formación, así como la composición del equipo.
1,00 2,00 3,00 4,00
Equipo independiente de pruebas Formación Perfiles de Testing Especialización por tipos de Motivación y compromiso 2,18 1,82 1,68 1,91 1,50
Evaluación del proceso de
pruebas
22 El dato de las Best Practices se ha calculado con la media de las tres compañías con los valores más altos.
De 0 (mínimo) a 4 (máximo) 0,00 1,00 2,00 3,00 4,00 Ciclo de Vida Técnicas Herramientas Organización 2,37 2,27 2,25 1,82 4,00 3,73 3,87 3,93 Best Practices
Medir para mejorar
23 Detectar debilidades Afrontar las causas Aseguramiento del negocio Reducción de costes Reducción de plazos ROI desde el primer año Instaurar procesosDatos de la ponente
Luisa Morales Gómez-Tejedor
24 Inicia su profesión en 1985. Desde el año 2005 dirige el
Centro de Pruebas de Sopra, donde lidera la puesta en marcha de servicios de pruebas complejos con un alto componente de externalización nacional e internacional. Forma parte de la dirección ejecutiva del Spanish Software Testing Qualifications Board (SSTQB, organismo español perteneciente al ISTQB).
Datos de contacto
Teléfono : +34 91 112 81 01 +34 639 037 843