Tutorial TestingV6 Ing. Gerardo Rada - LACNIC.net. Ing. Gustavo Guimerans www.CES.com.uy Por favor espere… Ha llegado el fin de Internet Perdonen las molestias IPv6 Loading
¿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
2
Servicios • Testing funcional • Ensayos de plataformas • Capacitación en testing ü Carrera – 12 ediciones ü Grado y Posgrado ü Especializaciones
• Consultoría en testing ü Departamento de testing ü Proceso de testing ü Apoyo en proyectos de testing
• Certificación / Homologación / Conformidad 3
Contexto
INTERNET
Clientes
Routers Switches
Web Servers
Firewall
Applications Servers
Bases de Datos
4
Repasemos con un caso ¿Una IP? 192.168.233.1
Sistema de gestión del aeropuerto
puede generar
Error humano
Un defecto (interno)
que puede generar Una falla (externa)
5
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” Cem Kaner 6
Axioma
Edsger Wybe Dijkstra
http://www.cs.utexas.edu/users/EWD/ 7
Metodología
E T A P A
A
C
I
V
T
¿Nivel?
I D
A
D
E
S 8
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 tesAng
Diseño de casos de prueba y misiones de tesAng exploratorio
Validación de casos de prueba y misiones de tesAng 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 cerAficación
Mejora de la base de conocimiento
9
Metodología Configuración de las pruebas Planificación de pruebas
Ejecución de pruebas
Evaluación de las pruebas
Diseño de pruebas
10
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 11
Metodología Planificación de pruebas
Estudio de la Estudio de la arquitectura del arquitectura del sistema sistema
Determinación Determinación del alcance de las del alcance de las pruebas pruebas
Priorización de Priorización de funcionalidades funcionalidades
Diseño de pruebas
Definición de la estrategia de tesAng
Diseño de casos de prueba y misiones de tesAng exploratorio
Validación de casos de prueba y misiones de tesAng 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
12
Arquitectura
Planificación de pruebas 13
Arquitectura
Planificación de pruebas 14
Alcance y priorización § Datos IP (ej. geolocalización) § Comunicación (ej. alerta) § Consumidoras configuraciones (ej. XML)
Planificación de pruebas 15
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 Diseño de pruebas pruebas
Definición de la Definición de la estrategia de estrategia de tesAng tesAng
Diseño de casos Diseño de casos de de prueba y prueba y misiones misiones de de tesAng tesAng exploratorio exploratorio
Validación de Validación de casos casos de prueba de prueba y y misiones de misiones de tesAng tesAng exploratorio 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
16
Estrategia de pruebas
Diseño de pruebas 17
Creación de CdP
Diseño de pruebas 18
Pruebas sobre los datos … comunicaciones … arquitectura
INTERNET
Clientes
Routers Switches
Web Servers
Firewall
Applications Servers
Bases de Datos
Diseño de pruebas 19
Saltear controles
Request(A) Response(A)
Request(A) Herramienta
Response(A)
Request(A) Request(B) Request(C)
Servidor Web
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 tesAng
Diseño de casos de prueba y misiones de tesAng exploratorio
Validación de casos de prueba y misiones de tesAng exploratorio
Configuración Configuración de las de las pruebas pruebas
Armado de Armado de ambiente ambiente IPv4 IPv4
Armado de Armado de ambiente ambiente IPv6 IPv6
Documentación de la de la configuración de 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
Documentación ambientes
21
Armado ambientes IPvX § Oráculo • IPv6 à IPv6 • IPv4 à IPv4
§ IPv6 filtrando y rechazando IPv4
Configuración de las pruebas 22
¿Dónde están los errores? § Código fuente § Configuración • Aplicación • Ambiente
Configuración de las pruebas 23
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 tesAng
Diseño de casos de prueba y misiones de tesAng exploratorio
Validación de casos de prueba y misiones de tesAng 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 Ejecución de pruebas pruebas
Ejecución en Ejecución en sistema bajo aplicaciones IPv4 prueba IPv4
Ejecución en Ejecución en sistema bajo aplicaciones IPv6 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
Pruebas de regresión
24
Ejecuciones
Ejecución de pruebas 25
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 tesAng
Diseño de casos de prueba y misiones de tesAng exploratorio
Validación de casos de prueba y misiones de tesAng 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 Evaluación de las pruebas las pruebas
Revisión de las Revisión de las pruebas pruebas
Determinación Determinación del nivel del nivel
Mejora de la base de base de conocimiento
Mejora de la
conocimiento
26
Niveles
Evaluación de las pruebas 27
Evaluación de resultados
Evaluación de las pruebas 28
En testing
IPv6UserApp
IPv6FullApp
Evaluación de las pruebas 29
En producción IPv6System IPv6UserService
IPv6FullService
IPv6
Evaluación de las pruebas 30
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
31
Proceso de elaboración Actualización…
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
32
Analogía
33
Analogía
34
Proyectos similares Tokens § Dispositivo (hardware) § Almacenar certificados y firmas digitales § Provee algoritmos de cifrado
35
Proyectos similares TV Digital
36
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 tesAng
Diseño de casos de prueba y misiones de tesAng exploratorio
Validación de casos de prueba y misiones de tesAng exploratorio
T e Armado de ambiente s t IPv6 i n gV6
Configuración de las pruebas
Armado de ambiente IPv4
Ejecución de Ejecución de pruebas pruebas
Ejecución en Ejecución en sistema bajo aplicaciones IPv4 prueba IPv4
Ejecución en Ejecución en sistema bajo aplicaciones IPv6 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
Documentación de la configuración de ambientes
Pruebas de regresión
37
Taller: https://goo.gl/1Y10wQ Formulario: http://goo.gl/forms/8d3C4BRGnn
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
38
Manzanas y Gusanos Hay algo peor que encontrar un gusano en una manzana…
Encontrar medio gusano!
39
Manzanas y Gusanos ¿Cómo podemos protegernos de esto?
Hacer una radiografía a la manzana antes de morderla 40
Centro de Ensayos de Software • • • • • • • •
Gracias
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
Más dudas y comentarios, me buscan o…
[email protected] 41