Este documento presenta los resultados de un estudio sobre la calidad y seguridad de aplicaciones realizado por Sopra Steria en colaboración con Koukio Solutions en empresas españolas entre 2014 y 2015. El estudio evaluó diversos aspectos como la calidad del código, seguridad, procesos de pruebas y mejores prácticas. Los resultados mostraron que las empresas deben mejorar en calidad, seguridad y procesos formales para reducir costes y plazos de mantenimiento de aplicaciones.
Sopra - Benchmark de calidad y seguridad de aplicaciones
1. Benchmark sobre calidad y seguridad de aplicacionesBenchmark sobre calidad y seguridad de aplicaciones
BENCHMARK
Calidad y seguridad de aplicaciones
1
José Antonio Rodríguez
2. Benchmark sobre calidad y seguridad de aplicaciones
¿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.
3. Benchmark sobre calidad y seguridad de aplicaciones
¿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 seguridad90% 10%
Frecuencia ataques vs gasto en seguridad
Perímetro
4. Benchmark sobre calidad y seguridad de aplicaciones
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 Solutions
en empresas españolas, en el periodo 2014 – 2015.
5. Benchmark sobre calidad y seguridad de aplicaciones
EVALUACIÓN DE CALIDAD
5
Facilidad para encontrar los
cambios introducidos en el
sistema
0.00 0.10 0.20 0.30 0.40 0.50
Arquitectura
Datos
Gestión de excepciones
Lógica
0.26
0.25
0.44
0.02
Desglose (número de violaciones por cada 1.000 líneas de código)
6. Benchmark sobre calidad y seguridad de aplicaciones
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
1.96
7. Benchmark sobre calidad y seguridad de aplicaciones
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
11.47
8. Benchmark sobre calidad y seguridad de aplicaciones
EVALUACIÓN DE CALIDAD
8
Evaluación del uso correcto del
framework y de las librerías,
compatibilidad del código con las
plataformas de 32 y 64 bits
Desglose (número de violaciones por cada 1.000 líneas de código)
0.00 0.00 0.00 0.01 0.01 0.01
Sisema operativo
0.01
9. Benchmark sobre calidad y seguridad de aplicaciones
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.50 1.00 1.50 2.00
Datos
Tolerancia a fallos
Lógica
Disponibilidad
0.23
0.07
1.62
1.11
Desglose (número de violaciones por cada 1.000 líneas de código)
10. Benchmark sobre calidad y seguridad de aplicaciones
EVALUACIÓN DE CALIDAD
10
Facilidad para ser probado:
simplicidad para probar los cambios
en el sistema
Desglose (número de violaciones por cada 1.000 líneas de código)
0.00 0.20 0.40 0.60 0.80 1.00 1.20
Relacionado con el S.O.
Estándares
Buenas prácticas
0.10
0.23
1.04
11. Benchmark sobre calidad y seguridad de aplicaciones
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
12. Benchmark sobre calidad y seguridad de aplicaciones
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
Desglose (número de violaciones por cada 1.000 líneas de código)
13. Benchmark sobre calidad y seguridad de aplicaciones
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. Benchmark sobre calidad y seguridad de aplicaciones
PRINCIPALES INCIDENCIAS DE SEGURIDAD
14
Robo / Acceso a la información
Modificación de información
Modificación no autorizada de
programas
15. Benchmark sobre calidad y seguridad de aplicaciones
PRINCIPALES CAUSAS
15
Uso abusivo de los recursos /
privilegios
Vulnerabilidades en el software
base / hardware
16. Benchmark sobre calidad y seguridad de aplicaciones
IMPACTO
16
Sanciones o acciones regulatorias
Pérdida de clientes
Daño en la relación con empleados
17. Benchmark sobre calidad y seguridad de aplicaciones
OBSTÁCULOS PARA LA PRÁCTICA DE DESARROLLO SEGURO
17
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 Calidad y Seguridad del
Desarrollo
18. Benchmark sobre calidad y seguridad de aplicaciones
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, etc.
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
De 0 (mínimo) a 4 (máximo)
19. Benchmark sobre calidad y seguridad de aplicaciones
EVALUACIÓN DEL PROCESO DE PRUEBAS
19
Se valora si las técnicas que se usan son
apropiadas, efectivas y medibles.
De 0 (mínimo) a 4 (máximo)
1.00 2.00 3.00 4.00
Gestión de pruebas basada en riesgos
Técnicas de pruebas estáticas
Planificación y estimación de pruebas
Especificaciones basadas en requisitos
Metricas para la gestión y mejora…
2.00
2.24
2.56
2.74
1.82
20. Benchmark sobre calidad y seguridad de aplicaciones
EVALUACIÓN DEL PROCESO DE PRUEBAS
20
Se valora el uso de las herramientas
y el entorno de pruebas.
De 0 (mínimo) a 4 (máximo)
1.00 2.00 3.00 4.00
Herramientas de automatización
Entorno de pruebas
Herramientas de gestión de pruebas
Conocimiento de herramientas
Datos de pruebas
1.85
2.50
1.91
2.12
2.88
21. Benchmark sobre calidad y seguridad de aplicaciones
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 en cuanto a las distintas disciplinas,
funciones, conocimientos y requeridos.
De 0 (mínimo) a 4 (máximo)
1.00 2.00 3.00 4.00
Equipo independiente de pruebas
Formación
Perfiles de Testing
Especialización por tipos de pruebas
Motivación y compromiso
2.18
1.82
1.68
1.91
1.50
22. Benchmark sobre calidad y seguridad de aplicaciones
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
Media del mercado
23. Benchmark sobre calidad y seguridad de aplicaciones
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
procesos
24. Benchmark sobre calidad y seguridad de aplicaciones
DATOS DEL PONENTE
JOSE ANTONIO RODRIGUEZ
24
Forma parte del Spanish Software Testing Qualifications Board (SSTQB,
organismo español perteneciente al ISTQB)
ISTQB Certified Tester Advanced Level - Test Manager
Especialidad en Software Quality Assurance (SQA) desde hace 15 años. Desde
el año 2013 pertenece el Centro de Competencias de Testing de Sopra,
participando en la puesta en marcha de servicios de pruebas complejos con
un alto componente de externalización nacional e internacional.
Datos de contacto
jose-antonio.rodriguez@sopra.com
Móvil : (+34) 615 098 037
Notas del editor
Estudio de mercado que ha hecho Sopra y Koukio sobre calidad, seguridad y los procesos de pruebas
Cerca de 30 empresas de todos los sectores
NO pretende ser una presentación técnica
Encuesta de seguridad a las empresas participantes
Encuesta del proceso de pruebas a las empresas participantes
Sólo aparecen los datos de las violaciones, no del resto
Menos de 4 de cada mil consideramos que no es grave
Más de 4 cada mil hay que tomar medidas
La organización tiene que tener conciencia del problema, compromiso y motivación
Eso deriva en la creación de un grupo que defina los requisitos de seguridad y los procesos
A partir de ahí cae en cascada el resto: formación de las personas y asignación de presupuestos (tiempo y dinero)
Monitorización, planificación y control
Análisis de pruebas
Diseño de pruebas
Implementación de pruebas
Ejecución de pruebas
Evaluación de los criterios de salida
Actividades de cierre de pruebas