Tutorial TestingV6Ing. Gustavo Guimerans
Centro de Ensayos de Software
Por favor espere…Ha llegado el fin de InternetPerdonen las molestias
IPv6 Loading
Lima, LACNIC23 – Mayo 2015
¿Quiénes somos?
LACNIC23 – Mayo 2015 2
¿Quiénes somos?
Especializados en servicios de testing
• Evaluar la calidad de los sistemas
Emprendimiento conjunto
• Vínculo Academia-Industria
Símbolo de calidad
• Desde 2004
LACNIC23 – Mayo 2015 3
Servicios• Testing funcional
• Ensayos de plataformas
• Capacitación en testing
Carrera – Desde 2011 – 11 ediciones
Grado y Posgrado
Especializaciones
• Consultoría en testing
Departamento de testing
Proceso de testing
Apoyo en proyectos de testing
• Certificación / Homologación /ConformidadLACNIC23 – Mayo 2015 4
Contexto
LACNIC23 – Mayo 2015
INTERNET
Clientes Routers SwitchesWeb
ServersFirewall
Applications
Servers
Bases de
Datos
5
que puede generar
Repasemos con un caso
Una falla
(externa)Error humanoUn defecto
(interno)
puede generar
Sistema de gestión
del aeropuerto
¿Una IP?
192.168.233.1
LACNIC23 – Mayo 2015 6
El testing…
Es una investigación técnica y empírica orientada
a proporcionar información sobre la calidad de un
producto de software para un actor o usuario
“Es una actividad cognitiva,
no es una actividad mecánica”
LACNIC23 – Mayo 2015 7
Cem Kaner
Axioma
Edsger Wybe Dijkstra
http://www.cs.utexas.edu/users/EWD/
LACNIC23 – Mayo 2015 8
Metodología
LACNIC23 – Mayo 2015 9
E A C T
T I V
A I
P D A
A D E S
¿Nivel?
Metodología
LACNIC23 – Mayo 2015 10
Planificación de pruebas
Estudio de la arquitectura del
sistema
Determinación del alcance de las
pruebas
Priorización de funcionalidades
Diseño de pruebas
Definición de la estrategia de
testing
Diseño de casos de prueba y misiones
de testing exploratorio
Validación de casos de prueba y
misiones de testing exploratorio
Configuración de las pruebas
Armado de ambiente IPv4
Armado de ambiente IPv6
Documentación de la configuración de
ambientes
Ejecución de pruebas
Ejecución en sistema bajo prueba IPv4
Ejecución en sistema bajo prueba IPv6
Pruebas de regresión
Evaluación de las pruebas
Revisión de las pruebas
Determinación del nivel de
certificación
Mejora de la base de conocimiento
Metodología
Planificación de pruebas
Diseño de pruebas
Configuración de las pruebas
Ejecución de pruebas
Evaluación de las pruebas
LACNIC23 – Mayo 2015 11
Actores Organización promotora - LACNIC
• Centraliza la metodología
• Determina quiénes son capacitadores autorizados
Capacitadores - LACNIC y CES
• Diseñan y ofrecen capacitaciones sobre la metodología
Organización interesada probar sistemas
• Entienden y promueven la importancia de probar sistemas
• Capacitar su personal y prueban sus sistemas
Testers / Consultores
• Se forman para poder brindan el servicio
• Son contratados por las organizaciones interesadas
• Diseñan, ejecutan y documentan las pruebas
• Identificar los problemas y los corrigen
LACNIC23 – Mayo 2015 12
Metodología
Planificación de pruebas
Estudio de la arquitectura del
sistema
Determinación del alcance de las
pruebas
Priorización de funcionalidades
Diseño de pruebas
Definición de la estrategia de testing
Diseño de casos de prueba y misiones
de testing exploratorio
Validación de casos de prueba y
misiones de testing exploratorio
Configuración de las
pruebas
Armado de ambiente IPv4
Armado de ambiente IPv6
Documentación de la configuración de
ambientes
Ejecución de pruebas
Ejecución en sistema bajo prueba IPv4
Ejecución en sistema bajo prueba IPv6
Pruebas de regresión
Evaluación de las pruebas
Revisión de las pruebas
Determinación del nivel
Mejora de la base de conocimiento
Planificación de pruebas
Determinación del alcance de las
pruebas
Priorización de funcionalidades
Estudio de la arquitectura del
sistema
LACNIC23 – Mayo 2015 13
Arquitectura
LACNIC23 – Mayo 2015 14
Planificación de pruebas
LACNIC23 – Mayo 2015 15
Planificación de pruebas
Arquitectura
Alcance y priorización
Datos IP (ej. geolocalización)
Comunicación (ej. alerta)
Consumidoras configuraciones (ej. XML)
LACNIC23 – Mayo 2015 16
Planificación de pruebas
Metodología
Planificación de pruebas
Estudio de la arquitectura del
sistema
Determinación del alcance de las
pruebas
Priorización de funcionalidades
Diseño de pruebas
Definición de la estrategia de testing
Diseño de casos de prueba y misiones
de testing exploratorio
Validación de casos de prueba y
misiones de testing exploratorio
Configuración de las
pruebas
Armado de ambiente IPv4
Armado de ambiente IPv6
Documentación de la configuración de
ambientes
Ejecución de pruebas
Ejecución en sistema bajo prueba IPv4
Ejecución en sistema bajo prueba IPv6
Pruebas de regresión
Evaluación de las pruebas
Revisión de las pruebas
Determinación del nivel
Mejora de la base de conocimiento
Diseño de pruebas
Definición de la estrategia de
testing
Diseño de casos de prueba y misiones de
testing exploratorio
Validación de casos de prueba
y misiones de testing
exploratorio
LACNIC23 – Mayo 2015 17
Estrategia de pruebas
LACNIC23 – Mayo 2015 18
Diseño de pruebas
Creación de CdP
LACNIC23 – Mayo 2015 19
Diseño de pruebas
Pruebas sobre los datos
LACNIC23 – Mayo 2015 20
Diseño de pruebas
… comunicaciones
… arquitectura
INTERNET
Clientes Routers SwitchesWeb
ServersFirewall
Applications
Servers
Bases de
Datos
Metodología
Planificación de pruebas
Estudio de la arquitectura del
sistema
Determinación del alcance de las
pruebas
Priorización de funcionalidades
Diseño de pruebas
Definición de la estrategia de testing
Diseño de casos de prueba y misiones
de testing exploratorio
Validación de casos de prueba y
misiones de testing exploratorio
Configuración de las
pruebas
Armado de ambiente IPv4
Armado de ambiente IPv6
Documentación de la configuración de
ambientes
Ejecución de pruebas
Ejecución en sistema bajo prueba IPv4
Ejecución en sistema bajo prueba IPv6
Pruebas de regresión
Evaluación de las pruebas
Revisión de las pruebas
Determinación del nivel
Mejora de la base de conocimiento
Configuración de las
pruebas
Armado de ambiente IPv4
Armado de ambiente IPv6
Documentación de la
configuración de ambientes
LACNIC23 – Mayo 2015 22
Armado ambientes IPvX
IPv6 IPv6
IPv4 Oráculo
Filtro rechazando IPv4
LACNIC23 – Mayo 2015 23
Configuración de las pruebas
Documentación
Código fuente
Configuración
• Aplicación
• Ambiente
LACNIC23 – Mayo 2015 24
Configuración de las pruebas
Metodología
Planificación de pruebas
Estudio de la arquitectura del
sistema
Determinación del alcance de las
pruebas
Priorización de funcionalidades
Diseño de pruebas
Definición de la estrategia de testing
Diseño de casos de prueba y misiones
de testing exploratorio
Validación de casos de prueba y
misiones de testing exploratorio
Configuración de las
pruebas
Armado de ambiente IPv4
Armado de ambiente IPv6
Documentación de la configuración de
ambientes
Ejecución de pruebas
Ejecución en aplicaciones IPv4
Ejecución en aplicaciones IPv6
Pruebas de regresión
Evaluación de las pruebas
Revisión de las pruebas
Determinación del nivel
Mejora de la base de conocimiento
Ejecución de pruebas
Ejecución en sistema bajo prueba IPv4
Ejecución en sistema bajo prueba IPv6
Pruebas de regresión
LACNIC23 – Mayo 2015 25
Ejecuciones
LACNIC23 – Mayo 2015 26
Ejecución de pruebas
Metodología
Planificación de pruebas
Estudio de la arquitectura del
sistema
Determinación del alcance de las
pruebas
Priorización de funcionalidades
Diseño de pruebas
Definición de la estrategia de testing
Diseño de casos de prueba y misiones
de testing exploratorio
Validación de casos de prueba y
misiones de testing exploratorio
Configuración de las
pruebas
Armado de ambiente IPv4
Armado de ambiente IPv6
Documentación de la configuración de
ambientes
Ejecución de pruebas
Ejecución en sistema bajo prueba IPv4
Ejecución en sistema bajo prueba IPv6
Pruebas de regresión
Evaluación de las pruebas
Revisión de las pruebas
Determinación del nivel
Mejora de la base de conocimiento
Evaluación de las pruebas
Revisión de las pruebas
Mejora de la base de
conocimiento
LACNIC23 – Mayo 2015 27
Determinación del nivel
Niveles
LACNIC23 – Mayo 2015 28
Evaluación de las pruebas
Evaluación de resultados
29LACNIC23 – Mayo 2015
Evaluación de las pruebas
En testing
LACNIC23 – Mayo 2015 30
Evaluación de las pruebas
IPv6UserApp IPv6FullApp
En producción
LACNIC23 – Mayo 2015 31
Evaluación de las pruebas
IPv6UserService IPv6FullService
IPv6System
Roles
Líder de testing
• Define objetivos
• Planifica las pruebas
• Elabora el inventario de funcionalidades y lo prioriza
• Define la estrategia de pruebas
• Definirá la configuración de los ambientes de prueba
• Seguimiento y control del proyecto, de la metodología y la evaluación
Tester
• Elaboración del inventario de pruebas junto al líder de testing.
• Diseñará los CdP, las misiones de TE y ejecutará las pruebas.
• Registra las sesiones de prueba así como los resultados
Experto en IPv6
• Prioriza el inventario junto con el líder de testing.
• Valida, evalúa y colabora en el resto de las tareas.
LACNIC23 – Mayo 2015 32
Proceso de elaboración
LACNIC23 – Mayo 2015
Entender la problemática
Estudio del estándar
Especificación de la metodología y eventualmente protocolo de
pruebas
Verificación del
protocolo y metodología
Actualización…
33
Analogía
34
Analogía
LACNIC23 – Mayo 2015 35
Proyectos similares Tokens
Dispositivo (hardware)
Almacenar certificados y firmas digitales
Provee algoritmos de cifrado
LACNIC23 – Mayo 2015 36
Proyectos similares TV Digital
LACNIC23 – Mayo 2015 37
LACNIC23 – Mayo 2015 38
Planificación de pruebas
Estudio de la arquitectura del
sistema
Determinación del alcance de las
pruebas
Priorización de funcionalidades
Diseño de pruebas
Definición de la estrategia de testing
Diseño de casos de prueba y misiones
de testing exploratorio
Validación de casos de prueba y
misiones de testing exploratorio
Configuración de las
pruebas
Armado de ambiente IPv4
Armado de ambiente IPv6
Documentación de la configuración de
ambientes
Ejecución de pruebas
Ejecución en aplicaciones IPv4
Ejecución en aplicaciones IPv6
Pruebas de regresión
Evaluación de las pruebas
Revisión de las pruebas
Determinación del nivel
Mejora de la base de conocimiento
Ejecución de pruebas
Ejecución en sistema bajo prueba IPv4
T
e
s
t
i
n
gV6
Ejecución en sistema bajo prueba IPv6
Pruebas de regresión
LACNIC23 – Mayo 2015 39
T
e
s
t
i
n
gV6
Ejecución de pruebas
Ejecución en sistema bajo prueba IPv4
Ejecución en sistema bajo prueba IPv6
Pruebas de regresión
Taller: https://goo.gl/aMlLDB
Maquina virtual: http://goo.gl/HMfDRi
Hay algo peor que encontrar un gusano en una manzana…
Encontrar medio gusano!
LACNIC23 – Mayo 2015 40
Manzanas y Gusanos
Manzanas y Gusanos
¿Cómo podemos protegernos de esto?
Hacer una radiografía a la manzana antes de morderla
LACNIC23 – Mayo 2015 41
Gracias
Centro de Ensayos de Software• Sitio: http://www.ces.com.uy
• Carrera de Testing: http://www.ces.com.uy/index.php/carrera-de-testing
• Twitter: @ces_com_uy
• Facebook: /CentroDeEnsayosDeSoftware
• Plataforma de capacitación: http://www.capacitacion.ces.com.uy
• Blog: http://blog.ces.com.uy
• Contacto: [email protected]
• Youtube: Centro de Ensayos de Software
LACNIC23 – Mayo 2015
Más dudas y comentarios, me buscan o…