Descargar - Testing Uy

Próximo escalón hacia la calidad
del software: Shift Left
Amalia Álvarez
TestingUY
14 de Abril 2015
Agenda
1
Algunos
números
2
Shift Left
3
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Próximos
escalones
2
Agenda
1
Algunos
números
2
Shift Left
3
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Próximos
escalones
3
Algunos números
Misión: Orbitar Venus
Lanzamiento: Mayo 1989
Fin: Impacto en Venus Oct. 1994
Datos:
- Logró mapear el 98% de la
superficie de Venus
- Tamaño del software: 22 KLOC
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
4
Algunos números
Pruebas:
 En 2.4 años no se
encontraron todos los
defectos.
 En los últimos 3 meses, se
encontraron 6 defectos
críticos.
 Hubo problemas de
software: JPL liberó software
3 veces.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
5
Algunos números
Misión: Orbitar Júpiter
Lanzamiento: Oct. 1989
Fin: Impacto en Júpiter Set.
2003
Highlights:
- Voló a través de 5 lunas de
Júpiter, Asteroides y cometas
antes de impactar en Júpiter
- Tamaño del software: 22 KLOC
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
6
Algunos números
Pruebas:
 Primeras 10 semanas:
1 sólo error crítico.
 Primeras 76 semanas:
5 defectos críticos.
 Luego de 5.5 años de
pruebas, se
encontraron 4
defectos en 8
semanas.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
7
Primeras conclusiones
• Los resultados de las pruebas nos pueden
decir que quedan defectos en el
producto.
• Los resultados de las pruebas no nos
pueden decir que no quedan más
defectos en el producto.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
8
Primeras conclusiones
• Las pruebas intensivas de estos productos
resultaron en misiones exitosas. Pero…
– Eran sistemas muy pequeños (22.000 LOC)
– Podemos pagar procesos de pruebas tan
largos como sean necesarios?
– Si no, qué riesgos hay si el producto falla?
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
9
Otros números…
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
10
Cómo afecta la calidad a los
costos del proyecto?
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
11
Agenda
1
Algunos
números
2
Shift Left
3
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Próximos
escalones
13
Shift Left
• Objetivo del aseguramiento de la calidad
• Dar confianza de que los requisitos de un producto
de software se cumplirán y será adecuado para el
uso pretendido.
• Como las pruebas no nos asegura que el
producto no tenga defectos, debemos
adelantar las actividades de QA más
temprano en el proceso de Ingeniería.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
14
Shift Left
• El Aseguramiento de la Calidad busca
planificar actividades en el proyecto:
– Revisiones
– Verificaciones
– Validaciones
– Auditorías
Cada actividad de QA tiene propósitos diferentes.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
15
Verificar
Revisiones técnicas
Auditorías
Aseguramiento de la Calidad
Validar
16
Shift left – Actividades de QA
• Revisiones
– Evalúa el estado de un producto o actividad.
• Verificaciones
– Evalúa cumplimiento de requisitos.
• Validaciones
– Evalúa adecuación al uso.
• Auditorías
– Evalúa si se dice lo que se hace y se hace lo
que se dice.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
17
Shift left
• ¿Cómo decidimos qué actividad hacer y
cuándo?
– ¿Cuál es el costo de que queden defectos en
el producto?
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
18
Shift left - Análisis de criticidad
Planificar las actividades de QA de acuerdo al
riesgo de falla en el producto.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
19
Shift left – Resolver problemas
Lecciones
aprendidas
QA
Productos
Análisis
Retrabajo
Implementa
Mejora
Procesos
El retrabajo
corrige el
problema.
Problemas
La mejora elimina la causa raíz del problema.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
20
Shift Left - Plan de SQA
•
•
•
•
•
•
•
•
•
Análisis de criticidad del producto
Actividades a realizar
Productos a evaluar
Criterios a utilizar
Nivel de independencia requerido
Registros de las actividades
Resolución de problemas
Uso de herramientas
Mediciones
Recomiendo: Std IEEE 730:2014 – SQA Planning.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
21
Agenda
1
Algunos
números
2
Shift Left
3
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
Próximos
escalones
22
Próximos escalones
• En el proyecto
– Entrenar en QA.
– Planificación del aseguramiento de la calidad.
• Foco en lo más importante.
• Asegurar recursos:
–
–
–
–
Humanos
Infraestructura
Datos
Otros…
• Incorporar otros aspectos que requieren
aseguramiento: Ej. Seguridad.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
23
Próximos escalones
• En la organización
Defectos encontrados en revisiones
– Definición de procesos organizacionales:
• Resultados repetibles.
• Mayor uniformidad.
• Mejora continua.
1
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22
9 10 11 12 13 14 15 16 17 18 19 20 21 22
9 10 11 12 13 14 15 16 17 18 19 20 21 22
Un defecto es un tesoro porque nos
permite aprender para mejorar.
No podemos conformarnos con
buscar defectos, hay que prevenirlos.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
25
Próximos escalones – Principios para la
mejora de la calidad del software
•
Un programa de calidad de software
adecuadamente gestionado ahorra tiempo y
dinero:
– “Quality is free” P. Crosby
•
La calidad surge de la comparación con los
mejores y la debe demandar el cliente.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
26
Próximos escalones – Principios para la
mejora de la calidad del software
•
Los desarrolladores se deben sentir
responsables por la calidad del software que
desarrollan y deben ser capaces de planificar,
medir y controlar su propio trabajo.
•
El trabajo bien hecho se debe reconocer y los
problemas de calidad se deben identificar y
tomar alguna acción.
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
27
Reflexión final
• “Aseguramiento de la calidad es mucho
más que Pruebas,
– y más eficiente” Tom Gilb
El objetivo final es diseñar
la calidad en el producto.
Design Quality in
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
29
Referencias
Tom Gilb. Lean QA. 6WCSQ. 2014.
Watts Humphrey. Faster-Cheaper-Worse. 4WCSQ. 2008.
IEEE. Std 730. Software Quality Assurance Processes. 2014.
Capers Jones. Software Assessments, Benchmarks, and Best
Practices. 2000.
• UNIT-ISO/IEC 12.207 – Ingeniería de sistemas y de software –
Procesos del ciclo de vida del software. 2008
• John D. Vu. “Software Process Improvement Journey: From
Level 1 to Level 5.” 7th SEPG. 1997.
• Linda Westfall. The Certified Software Quality Engineer
Handbook. 2010.
•
•
•
•
Próximo escalón hacia la calidad del software: Shift Left - TestingUY2 2015
@amaalvarezbalbi
30
Muchas gracias!
@amaalvarezbalbi
[email protected]