Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
18 de mayo de 2015
Laura
Elimin
Laura
Elimin
Laura
Elimin
Laura
Índice Elimin
1. Introducción
Objetivo
Existe una gran madurez a nivel de los productos y servicios de comunicaciones respecto a su
cumplimiento de los estándares que definen IPv6. IPv6 es un protocolo maduro, de amplio
desarrollo y soporte, pero de todas formas, su adopción no alcanza de forma significativa a los
usuarios finales.
El presente documento propone una metodología genérica para la prueba de sistemas de
software con foco en IPv6.
Gran parte de los componentes de infraestructura (switches, routers, tarjetas de red, sistemas
operativos, drivers, etc.) soportan IPv6, y se pretende que las aplicaciones maduren en el uso
del protocolo. La presente metodología se define para ayudar a las empresas en el proceso de
adecuación de sus sistemas informáticos para soportar el estándar. Se trata de una orientación
para los expertos en testing y comunicaciones que buscan certificar que cierto sistema opera
adecuadamente sobre IPv6.
El objetivo de la metodología es guiar al equipo certificador en las pruebas de sistemas,
verificando que brindan su funcionalidad en entornos comunicados con IPv6.
Permite al equipo de pruebas y consultores externos, conocer los aspectos más relevantes a
ser evaluados durante las pruebas y llegar al adecuado desarrollo y ajuste de los sistemas.
Actores
La metodología está diseñada considerando cuatro tipos de actores:
1.Organización promotora - LACNIC
§ Centraliza la metodología
3.Testers / Consultores
Página 4
Centro de Ensayos de Software
Página 5
Centro de Ensayos de Software
2. Etapas
La metodología define cinco etapas: Planificación de pruebas, Diseño de pruebas,
Configuración de ambiente de pruebas, Ejecución de pruebas y Evaluación de las pruebas. Las
etapas agrupan actividades vinculadas.
Figura 1 - Etapas
Diseño de pruebas
En esta etapa se define la estrategia de prueba para cada ítem del inventario de pruebas y se
diseñan los casos de prueba y las misiones de testing exploratorio.
Dado que las pruebas tienen el objetivo de detectar problemas con el manejo de las
direcciones IP, se presentan una serie de ideas de prueba relacionadas a los datos que darán
Página 6
Centro de Ensayos de Software
Ejecución de pruebas
En primera instancia, si existe la posibilidad, se prueba la aplicación corriendo en su ambiente
IPv4 (si se tratara de una migración a IPv6). De esta manera, se tendrá información sobre el
estado de la aplicación antes de los cambios (migración o ajustes en el código fuente). Los
errores encontrados no serán atribuidos luego al cambio a IPv6. Estas pruebas son además
una oportunidad para capturar tráfico en las interfaces de interés, a los efectos de validar
experimentalmente cuáles son los servicios que hacen uso de las redes.
Luego, se comienza con la prueba exhaustiva de los ítems del inventario en un ambiente IPv6.
Si el ambiente no logra ser IPv6 puro se monitorizan las interfaces donde pueden viajar
paquetes IPv4.
De existir problemas que no estaban en la versión IPv4 o que pueden ser atribuibles a este
protocolo, se detienen las pruebas hasta su corrección. Con la nueva versión se ejecutan
pruebas de regresión sobre las funcionalidades donde se encontraron problemas y donde
pueden impactar los cambios.
Página 7
Centro de Ensayos de Software
3. Actividades
A continuación se presenta un diagrama con las actividades y luego una descripción detallada
de cada una.
Página 8
Centro de Ensayos de Software
3%(*)&1(%0 6+0%07&%
456 3%(*)&1(%0 !+.10
/0/+()1 &%7+82)9+9)1-%0
!-+2
:)(%;+22 $1/.%(
,-.%(-%. $%&
!"# '()*+&+
!"#$%& !"#$%'
Si se busca que un sistema con interface Web pueda ser accedido IPv6 por los usuarios finales
desde Internet, la frontera está antes del firewall de la figura. Es posible incluso que en ciertos
casos una traducción de direcciones IPv6 a IPv4 sea suficiente para el propósito.
Si por el contrario se busca explorar la compatibilidad IPv6 en los servidores de aplicaciones de
la figura, las interacciones ya no serían con el usuario final sino con los servidores Web y las
bases de datos, mientras que las interfaces en la frontera son todas aquellas que comunican
estos servidores con el resto del mundo.
Datos IPv6 - Si dentro del inventario aparece una funcionalidad que utiliza como dato una
dirección IP, rango o prefijo, se vuelve necesario verificar su funcionamiento en las distintas
formas en las cuales el estándar permite escribir las direcciones. Este tipo de funcionalidad
seguramente será de ALTA prioridad.
Ejemplo: Funcionalidad de Creación de usuario donde se asocie una dirección o rango a
un usuario particular desde donde podrá acceder al sistema.
Página 9
Centro de Ensayos de Software
Página 10
Centro de Ensayos de Software
Página 11
Centro de Ensayos de Software
o 2001:0db8:0000:0000:0000:0000:1428:57ab:8080
• Verificar validación de que no sea la misma IP.
o 2001:0db8:0000:0000:0000:0000:1428:57ab
o 2001:0db8::1428:57ab
• Direcciones ULA y/o Global Aggr. según corresponda.
• Máscaras de -3/0/37/64/75/128/140.
Pruebas de comunicaciones
Es importante ejercitar las funcionalidades que se sabe o se presume que pueden provocar
comunicación entre los componentes y comunicación a través de las fronteras del sistema.
Se sugiere por ejemplo:
• Provocar la interacción con la base de datos.
o Alta, modificación, consulta y eliminación de un objeto.
• Provocar el envío de correos electrónicos.
• Provocar alarmas.
• Reestablecer contraseñas.
• Provocar la conexión a otros sistemas.
o Utilizando funcionalidades que consuman datos de otros sistemas.
• Identificar funcionalidades que detecten el país a través de la IP cliente.
o Esto se da generalmente en el inicio en la aplicación.
• Separar los componentes (servidor de aplicaciones, DBMS).
• Ejecutar funcionalidades que utilicen el broadcast (no se maneja igual en las
tecnologías).
• Revisar registros de sistema IPv6 para auditoría.
o Usar funcionalidades que generen registros con la IP.
Estas ideas son buenas candidatas para misiones generales de testing exploratorio.
Página 12
Centro de Ensayos de Software
Página 13
Centro de Ensayos de Software
Página 14
Centro de Ensayos de Software
Los Certificadores analizarán la información recibida y podrán pedir más en la medida que se
requiera.
Los documentos a entregar se encuentran detallados en la sección Documentación requerida.
Página 15
Centro de Ensayos de Software
4. Roles
A continuación se detallan los roles involucrados en la metodología de pruebas para uso de
sistemas en IPv6. Estos roles pueden ser desempeñados por una misma persona, por ejemplo
el líder puede ser un experto en IPv6.
No se incluyen en esta descripción los roles técnicos y gerenciales de la Organización
interesada en la certificación, con los cuales se interactúa durante el proceso.
Líder de testing
El líder de testing participará en la planificación de las pruebas, definiendo objetivo y alcance
junto con la contraparte de la Organización interesada en la certificación.
Elaborará el inventario de funcionalidades demarcando claramente las fronteras del sistema
bajo prueba, enumerando las funcionalidades que se probarán, priorizándolas, así como las
que no serán probadas.
El líder será el responsable de definir la estrategia de pruebas para las funcionalidades
inventariadas.
Además, planificará la configuración de los ambientes de prueba junto con los responsables de
infraestructura de la Organización interesada en la certificación y el experto en IPv6.
Participará activamente en el seguimiento y control del proyecto, el seguimiento de la
metodología de pruebas y la evaluación de pruebas.
Tester
El tester participará en la elaboración del inventario de pruebas junto al líder de testing.
Como tarea principal diseñará los casos de prueba, las misiones de testing exploratorio y
ejecutará las pruebas.
Además es muy importante que registre detalladamente las sesiones de prueba así como los
resultados obtenidos en los casos de prueba diseñados y planificados.
Experto en IPv6
El experto en IPv6 participará en la priorización del inventario junto con el líder de testing.
También colaborará en la configuración de los ambientes de prueba, diseño y validación de
casos, misiones de prueba, así como en la etapa de evaluación de pruebas.
Evaluador
El evaluador de la organización deberá poseer amplios conocimientos y una vasta experiencia
en testing. A su vez, deberá especializarse en este tipo de pruebas y podrá asesorarse con un
experto en IPv6.
Página 16
Centro de Ensayos de Software
5. Comprobación
Para la certificación IPv6 se definen 5 niveles: IPv6UserApp, IPv6FullApp, IPv6UserService,
IPv6FullService y IPv6System.
IPv6UserApp
Se otorga la certificación IPv6UserApp si la aplicación permite, al usuario final, utilizar la
aplicación con IPv6 de la misma forma en la que lo hace con IPv4.
Se pretende verificar que la experiencia de usuario final del sistema bajo prueba (humano o
sistema informático) por IPv6 es funcionalmente equivalente de la de IPv4, por ejemplo en
interfaces:
• Aplicaciones Web, front-end.
• Servicios (WS, RMI, EJB, CORBA, etc.)
Página 17
Centro de Ensayos de Software
IPv6FullApp
Se otorga la certificación IPv6FullApp si la aplicación permite al usuario final, administrador y
al resto de los sistemas con los que interactúa (todas las interfaces) trabajar en forma similar
con IPv6 que con IPv4.
Los sistemas, subsistemas, módulos, interfaces y funcionalidades inventariadas y verificadas
incluirán la visión del usuario final, usuario administrador y personal de soporte. Para estos
usuarios el sistema bajo prueba es funcionalmente equivalente sobre IPv6 que sobre IPv4. A
modo de ejemplo, esto incluye:
• Todas las funcionalidades para cualquier usuario del sistema desde cualquier origen
• En aplicaciones Web, por ejemplo, front-end y back-end.
Esto incluirá no sólo funcionalidades de interfaz gráfica, por ejemplo, los registros de actividad
en el sistema (logs) que presenten direcciones IP deberán ser compatibles con IPv6.
IPv6UserService
Se otorga la certificación IPv6UserService cuando se prueba la aplicación en el ambiente
que será o es de producción y la aplicación permite al usuario final utilizar la aplicación
con IPv6 de la misma forma en la que lo hace con IPv4.
La infraestructura será la misma en la que trabajará o trabaja el sistema en producción.
A modo de ejemplo, la aplicación ejecutará en un ambiente que puede involucrar componentes
de infraestructura como:
• Alta disponibilidad/failovers.
• Unidades iSCSI.
• Bases de datos.
• Balanceadores de carga/failover.
• Métodos y dispositivos de respaldo.
• Aceleradores.
• Firewalls.
• Virtualización.
Por ejemplo, para la resolución de nombres se utilizará DNS con direcciones IPv6 y registros
AAAA.
No es necesario que los componentes de infraestructura estén certificados con IPv6 Ready.
Página 18
Centro de Ensayos de Software
IPv6FullService
Se otorga la certificación IPv6FullService cuando se prueba la aplicación en el ambiente
que será o es de producción y la aplicación permite al usuario final, administrador y al resto
de los sistemas con los que interactúa (todas las interfaces) trabajar en forma similar con IPv6
que con IPv4.
Al igual que en IPv6UserService, no es necesario que los componentes de infraestructura estén
certificados con IPv6 Ready.
IPv6System
Se otorga la certificación IPv6System cuando se prueba la aplicación en el ambiente que
será o es de producción y la aplicación permite al usuario final, administrador y al resto de
los sistemas con los que interactúa (todas las interfaces) trabajar en forma similar con IPv6
que con IPv4. Además, internamente el sistema funciona completamente bajo IPv6.
Esto no quiere decir que se certifica cada uno de los componentes por separado, ni tampoco el
ambiente por sí solo en el cual se ejecuta el sistema. Quiere decir que la aplicación ejecuta en
un ambiente, con comunicaciones IPv6 internas y externas, de forma similar que con IPv4.
La infraestructura será la misma en la que trabajará o trabaja el sistema en producción.
Como en las anteriores certificaciones, no es necesario que los componentes de infraestructura
estén certificados con IPv6 Ready.
Resumen comparativo
A continuación se presenta una tabla comparativa entre las certificaciones:
IPv6 para
usuario final
IPv6 para
todas las
interfaces
Prueba en el
ambiente de
producción o
similar
IPv6 entre
componentes
internos
Página 19
Centro de Ensayos de Software
3%(*)&1(%0 6+0%07&%
456 3%(*)&1(%0 !+.10
/0/+()1 &%7+82)9+9)1-%0
!-+2
:)(%;+22 $1/.%(
,-.%(-%. $%&
!"# '()*+&+
!"#$%& !"#$%'
Aspectos Observaciones
Función
Informatización de las intervenciones quirúrgicas.
Desarrollado y mantenido por EMPRESA, a partir de un proyecto
Aplicación1
Desarrollo
de código abierto (sourceforge).
Fuentes
Se cuenta con acceso al código fuente de las aplicaciones.
Hosteado
Se encuentra alojado en EMPRESA-HOSTING.
Ambiente
Se cuenta con acceso a un ambiente de desarrollo y testing.
La identificación de los terminales se realiza mediante la
Notas
numeración IP de éstos, sobre una IP-VPN MPLS.
Página 20
Centro de Ensayos de Software
Componente Descripción
Apache
2.2
Servidor WEB.
Tomcat
6
Servidor de aplicaciones.
Módulo de Apache para implementar esquemas de balanceo de carga
mod_jk
(apache)
y alta disponibilidad entre servidores.
MySQL
5.x
Motor de Base de Datos.
Linux
HA
(Ker
2.6.19)
Sistema Operativo (soporte de alta disponibilidad y balance de carga).
VMWare
Sistema para virtualización de sistemas operativos.
JRE
1.6.0
Máquina virtual Java.
JBoss
4
Framework para desarrollo de aplicaciones en entorno Java.
Open
LDAP
2
Servidor de Información de Directorios sobre IP.
Aplicación1 Aplicación2
Apache
2.2
X X
Tomcat
6
X
mod_jk
(apache)
X X
MySQL
5.x
X X
Linux
HA
(Ker
2.6.19)
X X
VMWare
X
JRE
1.6.0
X X
Jboss
4
X
Open
LDAP
2
X
Inventario de pruebas
En este documento deben explicar los subsistemas, módulos e interfaces a probar junto con
las funcionalidades asociadas a cada uno. Debe estar priorizado según la criticidad con
Página 21
Centro de Ensayos de Software
respecto al cambio IPv4 a IPv6 y debe tener un detalle que explique en qué consiste cada
funcionalidad.
Por ejemplo, el inventario puede contener esta información:
Prioridad
Usuario
Módulo
Id
Nombre
IPV6
Observaciones
Alguna
1
Nuevo
Objeto
ALTA
observación
2
Actualizar
Objeto
MEDIA
Alguna
Usuario
final
Gestión
de
objetos
3
Consultar
objeto
ALTA
observación
Configurar
4
Objetos
MEDIA
Configurar
Configuración
5
Sistema
MEDIA
Gestión
de
6
Respaldar
BAJA
Administrador
repositorio
7
Restaurar
BAJA
Figura 9 - Inventario de funcionalidades
Diseño de pruebas
Prioridad
Usuario
Módulo
Id
Nombre
IPV6
Observaciones
Estrategia
Alguna
1
Nuevo
Objeto
ALTA
observación
PLAN
2
Actualizar
Objeto
MEDIA
EXPL
Alguna
Usuario
final
Gestión
de
objetos
3
Consultar
objeto
ALTA
observación
PLAN
Configurar
4
Objetos
MEDIA
PLAN
Configurar
Configuración
5
Sistema
MEDIA
EXPL
Gestión
de
6
Respaldar
BAJA
EXPL
Administrador
repositorio
7
Restaurar
BAJA
EXPL
Figura 10 - Inventario con estrategia de pruebas
Página 22
Centro de Ensayos de Software
Funcionalidad
1
Variables
Resultado
esperado
Fecha
Id
Diseñador
Precondición
Resumen
Variable1
Variable2
Variable3
Variable4
General
Mensaje
creación
El
objeto
Se
Se
se
Debe
estar
actualizan
almacenaron
actualizó
creado
el
los
variable1
variable2
variable3
variable4
los
campos
con
f1_cp1
07/08/12
Mauricio
objeto
valores
dato1
dato1
dato1
dato1
en
la
BD
éxito
El
objeto
se
Debe
estar
Se
Se
elimina
el
eliminó
creado
el
elimina
el
variable1
variable2
variable3
variable4
elemento
de
con
f1_cp2
07/08/12
Gustavo
objeto
objeto
dato2
dato2
dato2
dato2
la
BD
éxito
El documento de casos de prueba diseñados contendrá varias de este tipo de tablas, pudiendo
contener otros elementos como tablas de decisión, máquinas de estado, etc. dependiendo de
la técnica usada para el diseño.
Misiones
Áreas
Fecha
Id
Diseñador
Detalle
Área1
Área2
Área3
Área4
creación
Las misiones de testing exploratorio deben cubrir todas las áreas (funcionalidades) que se
decidieron probar con testing exploratorio en el inventario de pruebas.
Página 23
Centro de Ensayos de Software
Ejecución de pruebas
Funcionalidad
1
Ejecución
Resultado
Id
Ambiente
Versión
Incidentes
Fecha
Tester
obtenido
windows,
mozila
f1_cp1
Error
firefox
3.1b3
223-‐266
20/08/2012
María
windows,
mozila
f1_cp2
OK
firefox
3.1b3
20/08/2012
María
Las sesiones de testing exploratorio tienen que registrarse en documentos separados, donde
se presentan datos como la misión, las áreas probadas, la fecha y hora de inicio y cierre de
sesión, las notas de lo que sucede en la interacción con la aplicación (texto e imágenes) e
incidentes encontrados.
Capturas de tráfico
En los casos que existan interfaces que no son IPv6 puras, se deberá entregar capturas de
tráfico para poder analizar los paquetes que viajan entre el emisor y el receptor.
Se espera un archivo de captura que pueda ser manejable y estudiado por alguna herramienta
libre.
Página 24
Centro de Ensayos de Software
Página 25
Centro de Ensayos de Software
7. Glosario
A continuación se presenta un glosario con una definición de algunos términos, buscando
manejar los conceptos de una forma común.
Misión específica de Objetivo que puede utilizarse en una sesión de testing, involucra
testing exploratorio funcionalidades o aspectos puntuales. Por ejemplo, “Verificar los
estados de un expediente”.
Misión general de Objetivo que puede utilizarse en una sesión de testing, involucra
testing exploratorio funcionalidades o aspectos generales a la aplicación. Por ejemplo,
“Estudiar la usabilidad del sistema”.
Oráculo Entidad que determina los resultados esperados del sistema.
Parser Analizador que extrae información de valor dentro de un conjunto
mayor.
Sesiones de testing Lapso de tiempo entre 45 y 120 minutos en el cual el tester se enfoca
exploratorio en una misión particular.
Sistema Se trata de la aplicación delimitada por sus componentes esenciales.
Por ejemplo, los componentes de software en los servidores de
aplicaciones, en los PC clientes, la base de datos. Los componentes de
red quedan afuera del concepto de sistema.
Página 26
Centro de Ensayos de Software
Página 27