View
3.396
Download
2
Category
Preview:
DESCRIPTION
http://sg.com.mx/sgce/2013/sessions/mejores-pr%C3%A1cticas-para-testing-aplicaciones Se mostrarán las mejores prácticas para la generación de las diferentes tipos de pruebas que existen para las aplicaciones antes de salir a producción.
Citation preview
Mejores Practicas para el Testeo de Aplicaciones
Hugo Pallares Vega
2
Introducción
El testeo de aplicaciones (en inglés software testing) son las investigaciones que proporcionan información objetiva e independiente sobre la calidad del producto a las partes interesadas.
Dependiendo del tipo de pruebas, estas actividades podrán ser implementadas en cualquier momento de dicho proceso de desarrollo.
Por esto, las actividades, técnicas, documentación, enfoques y demás elementos que condicionarán las pruebas a realizar deben ser seleccionadas y utilizadas de la manera más eficiente según contexto del proyecto.
3
Introducción
El testeo de aplicaciones (en inglés software testing) son las investigaciones que proporcionan información objetiva e independiente sobre la calidad del producto a las partes interesadas.
Dependiendo del tipo de pruebas, estas actividades podrán ser implementadas en cualquier momento de dicho proceso de desarrollo.
Por esto, las actividades, técnicas, documentación, enfoques y demás elementos que condicionarán las pruebas a realizar deben ser seleccionadas y utilizadas de la manera más eficiente según contexto del proyecto.
4
Temario
1. Los Diferentes Tipos de Pruebas.
2. Las Etapas para la Generación de las Pruebas.
3. Obtener los Requerimientos.
4. Ciclo para la Generación de Casos de Pruebas.
5. Definición de Carga .
6. Ejecución de Pruebas.
7. Análisis de Resultados.
5
1 Los Diferentes Tipos de Pruebas.
6
Pruebas de Carga:Se realiza generalmente para observar el comportamiento de una aplicación bajo una cantidad de peticiones esperada. Esta carga puede ser el número esperado de usuarios concurrentes utilizando la aplicación y que realizan un número específico de transacciones durante el tiempo que dura la carga.
Pruebas de Estrés:Permite ver el comportamiento de la aplicación con mas usuarios de los que fue diseñada . se van incrementando el número de usuarios que se agregan a la aplicación hasta tirar la aplicación o ver el comportamiento con carga excesiva.
Pruebas Funcionales:
Nos permite medir el comportamiento del programa desde el punto de vista del usuario final.
Los Diferentes Tipos de Pruebas
7
Pruebas de Regresión:Es un tipo particular de prueba de carga en la cual el objetivo es la de probar un error detectado en la aplicación, hacer las correcciones necesarias y volver a ejecutar la prueba para ver si la aplicación presento el error detectado.
Pruebas de Caja Negra:Las pruebas de caja negra se limita a suministrarle datos como entrada y estudiar la salida, sin preocuparse de lo que pueda estar haciendo el módulo por dentro.
Las pruebas de caja negra están especialmente indicadas en aquellos módulos que van a ser interactuar con el usuario (en sentido general: teclado, pantalla, ficheros, canales de comunicaciones, etc. etc.).
Otro tipo de pruebas
Los Diferentes Tipos de Pruebas
8
2 Las Etapas para la Generación de Pruebas.
9
Fin
Obtener Requerimientos
Definir Carga para las Aplicaciones
Creación de Casos de Prueba
Ejecución de la Prueba
Analizar Resultados
Modificación al Sistema
Resultados No Esperados
Resultados Esperados
Las Etapas para la Generación de Pruebas
10
3 Obtener los Requerimientos.
11
Requerimientos:
También conocidos como requisitos, se definen como las necesidades o problemas que el cliente o usuario desea resolver.
Su administración requiere de priorizarlos, documentarlos, revisarlos y aprobarlos.
El objetivo es que todas las partes cuenten con una explicación escrita del problema. Se pueden obtener de escenarios de uso, relación de evento-respuesta, o descripción de necesidades.
Entre otra información los requerimientos contienen: Especificaciones, Reglas del Negocio, Reglas de Cálculo, Validaciones de Información, Descripción de Procesos de la Operación.
Ejemplos:
1. Investigar la lentitud de la nueva aplicación en el ambiente de producción.
2. Comprobar la experiencia del usuario final con las nuevas opciones de la aplicación.
3. Generar registro contable por los intereses moratorios.
4. Realizar el pago de servicios médicos (Farmacia, Consultas Médicas) de manera directa para proveedores de la red con 100 usuarios concurrentes.
5. Transferencia de Pago de Servicios (Tarjetas de Crédito, Cable, Teléfono).
Obtener los Requerimientos
12
4 Ciclo para la Creación de Casos De pruebas.
13
Ciclo para la Creación de Casos de Pruebas
Definir Lista de Funciones
Identificar las Reglas del Negocio
Definir Casos de Pruebas
Generación de Guiones
Creación de Casos de Prueba
14
Lista de Funciones (o pasos).
Una función es una acción dentro de la aplicación que regularmente esta asociada a un proceso de negocio.
Lista de funciones es una relación de acciones ordenadas de manera lógica y que se llevan a cabo de manera sistemática para llegar a un resultado deseado.
Puede representar acciones generales o particulares. Esto significa que pueden descomponerse en subfunciones y así de manera sucesiva.
La descomposición debe llevarse a cabo de una manera ordenada y lógica.
Ciclo para la Creación de Casos de Pruebas
15
Lista de Funciones (o pasos).
1. Escenarios de Uso.
2. Requerimientos.
3. Procesos de Negocio.
4. Procedimientos.
5. Diagramas de Flujo de Proceso.
6. Diseño de la Aplicación.
7. Especificaciones.
8. Instructivos de Operación.
9. Manuales de Usuario.
10.Entrevistas con el Usuario de la Aplicación.
Manual del Sistema
Proceso del Negoc
io
Especificacio
nes
Ciclo para la Creación de Casos de Pruebas
16
Ejemplo de Lista de Funciones:
Un ejemplo de una lista de funciones puede darse al momento de efectuar un retiro de efectivo de un cajero automático.
1. Insertar de Tarjeta
2. Teclear NIP
3. Consulta de Saldo
4. Retiro de Efectivo
5. Impresión de Comprobante
6. Retiro de Tarjeta
Retiro de Efectivo
1. Insertar Tarjeta
2. Teclear NIP
3. Consultar Saldo
4. Retirar Efectivo.
5. Imprimir Comprobante
6. Retirar Tarjeta
Ciclo para la Creación de Casos de Pruebas
17
Reglas del Negocio:
Son las condiciones que regulan el desarrollo de un proceso y establecen el deber ser.
Constituyen las políticas de operación o de servicio que se dan en un proceso.
Dentro de la aplicación, a menudo están determinadas por los valores de los datos y por la relación de estos con otros y con los elementos de infraestructura.
Ciclo para la Creación de Casos de Pruebas
18
Ejemplos de Reglas del Negocio:
a) No hay precios negativos para los artículos
Precio Negativo
$-20.00Error
b) El sexo de una persona solo puede ser masculino o femenino
Sexo <> M / F Error
c) Una fecha siempre debe ser una fecha válida (No existe 30 de Febrero)
6/7/2013 Fecha Inválida Error
Ciclo para la Creación de Casos de Pruebas
19
Reglas del Negocio.
Las Reglas del Negocio también pueden incluir premisas que pueden controlar las relaciones entre los datos.
Por ejemplo estas reglas especifican:
a) Todo pedido debe ser realizado por un cliente y debe existir en el sistema con estatus vigente.
Si
Cliente
No
Elaborar Pedido
Cliente Existe ?
Registrar Cliente
Ciclo para la Creación de Casos de Pruebas
20
Si
No
Eliminar Pedidos
Tiene Pedidos ?
Eliminar Cliente
b) Una vez que un cliente haya hecho algún pedido, se deberá garantizar que no es posible eliminarlo, a menos que previamente se eliminen todos sus pedidos
Ciclo para la Creación de Casos de Pruebas
21
Casos de Prueba.
1. Es una definición lógica de la prueba a la que se someterá un proceso de negocio bajo condiciones determinadas.
2. El propósito es identificar un objetivo en forma de resultados esperados y definir los datos más importantes, así como sus valores para obtener dicho resultado.
3. La característica principal es que existe una entrada conocida y una salida esperada.
4. Para su definición se utilizan la lista de funciones y las reglas de negocio asociadas con los requerimientos.
Ciclo para la Creación de Casos de Pruebas
22
Ciclo para la Creación de Casos de Pruebas
Casos de Prueba.
Caso 1
Entradas
Resultados esperados
Casos Especiales
Entradas
Resultados esperados
Caso 2
Entradas
Resultados esperados
Caso 3
Entradas
Resultados esperados
Caso 4
Entradas
Resultados esperados
Reglas de Negocio
Lista de Funciones
23
Casos de Prueba.
Con los casos seleccionados se pueden cubrir con alguna de las diferentes tipos de pruebas, por ejemplo:
1. Pruebas unitarias (Aplicadas por el programador).
2. Pruebas de funcionalidad (Aplicadas por el área de calidad).
3. Pruebas integrales / Aceptación (Aplicadas en conjunto con el usuario final).
4. Pruebas de estrés, etc.
Pruebas Unitarias
Módulo-1 Módulo-
2 Módulo-3
Caso 1
Entradas
Salidas
Casos Esp.
Entradas
Salidas
Caso 2
Entradas
Salidas
Caso 3
Entradas
Salidas
Pruebas de Funcionalidad
Caso 1
Entradas
Salidas
Casos Esp.
Entradas
Salidas
Caso 2
Entradas
Salidas
Caso 3
Entradas
Salidas
Pruebas Integrales / Aceptación
Ciclo para la Creación de Casos de Pruebas
24
Ejemplos de Casos de Prueba:
Caso 1.
Objetivo. Confirmar la Cancelación de un Contrato por Falta de Pago.
Regla de Negocio: El pago de la membresía no se ha realizado para el periodo actual y han transcurrido dos meses desde el aniversario del contrato.
Resultado esperado
1. Contrato cambia a estatus cancelado por falta de pago.
2. Se genera notificación correspondiente al cliente.
Caso 2.
Objetivo. Reactivar una contrato cancelado por falta de pago, sin cargo moratorio.
Regla de Negocio: Se ha realizado el pago de un contrato con estatus de pago pendiente y no han transcurrido más de tres meses desde el aniversario.
Resultado esperado:
3. Contrato cambia a estatus vigente.
4. Se genera contabilidad del pago.
Ciclo para la Creación de Casos de Pruebas
25
Elaboración de Guiones.
Objetivo de Prueba del Guión:
• Propósito del guión (Descripción de lo que se quiere probar).
• Función(es) Asociada(s).
Pasos para Procesar el Guión:
• Secuencia lógica de las acciones que se llevarán a cabo.
• Flujo de trabajo que muestra los pasos para realizar la prueba a través del guión.
Estructura de Cada Paso:
• Número o Nombre del Paso.
• Descripción del Paso.
• Resultados Esperados de cada Paso.
• Verificación de Resultados.
Ciclo para la Creación de Casos de Pruebas
26
Ejercicio:
Durante este ejercicio usted practicará lo siguiente:
1. Identificar y definir el requerimiento de prueba.
2. Elaborar lista de funciones afectadas.
3. Identificar las reglas del negocio.
4. Definir asos de prueba.
Ciclo para la Creación de Casos de Pruebas
27
Ejercicio:
La Aplicación
• Para validar el funcionamiento de la aplicación de correo, el cliente debe acceder a su cuenta de correo a través de su usuario y password.
• El cliente deberá de enviar un correo a softwareguru@mexico.com.
• Se deberá de adjuntar cualquier tipo de archivo ubicado en la unidad c de su equipo de computo.
• Después de adjuntar el documento se deberá de seleccionar el acuse de recibo antes de enviar.
Requerimiento de adecuación (supuestos)
• El archivo a enviar deberá de ser menor a 2 MB.
• En la sección de asunto se deberá de ingresar: Archivo adjunto.
• En la sección de mensaje, enviar un saludo.
Ciclo para la Creación de Casos de Pruebas
28
Ejercicio:
Definición del Problema
Requerimiento de Prueba:
• Confirmar que el archivo demo adjuntado salga del servidor de correo poniendo como destinatario el correo del emisor.
• Para lo anterior se solicita generar los siguientes productos del proceso de pruebas.
• Elaborar el guión o los guiones de prueba considerando todas las actividades y funciones que usted identifique.
• Se recomienda descomponer el proceso llegando al nivel de sus funciones más básicas y construir los guiones asociados a dichas funciones.
Productos Requeridos:
1. Lista de funciones
2. Reglas del negocio
3. Casos de prueba
Ciclo para la Creación de Casos de Pruebas
29
Solución del Ejercicio:
Lista de Funciones
1. Login a mi correo electrónico.2. Oprimir el botón nuevo correo.3. Adjuntar archivo ubicado en la unidad c.4. Ingresar el correo de sofwareguru@mexico.com5. Ingresar el correo de hugo.pallares@globallynx.com6. En la sección asunto Ingresar: Archivo adjunto7. En la sección mensaje ingresar : Buenos días.8. Dar clic en el botón enviar.9. Dar clic en el botón de correos entrantes.10. Validar que exista el correo que acabo de enviar con el adjunto11. Salir
Las funciones se ejecutan en el orden listado deseablementeLa función Login debe procesarse antes de enviar el correo
Ciclo para la Creación de Casos de Pruebas
30
Solución del Ejercicio:
Reglas de Negocio
1. Se deberá de adjuntar un archivo menor a 2 MB.
2. Se deberá de ingresar el correo del emisor.
3. Se deberá de enviar un saludo.
Caso de Prueba
Caso 1.Envio de imagen de 1 MB . Operación exitosa
Caso 2. Envío de un archivo .zip de 4 MB. Error (Archivo muy grande)
Ciclo para la Creación de Casos de Pruebas
31
5 Definición de Carga.
32
Dependiendo el tipo de prueba que se va a generar, es necesario definir la cantidad de usuarios que van a necesitar durante las pruebas.
Si en los requerimientos se pide que simule la carga de un día de trabajo necesitaríamos conocer los procesos de negocio que se generan para esa aplicación , así como el horario de mayor carga para saber el numero de usuarios que necesitamos.
Definición de Carga
33
Procesos de Negocio
Crear Cuenta 40 200 210 200 15010
0 75 15
Búsqueda por vuelos 5 250 400 400 24020
0 50
Comprar boletos 3 300 350 500 20010
0 50 30
Procesos Administrativos
Respaldo del sistema 1 1 1 1
12 2 4 6 8 10 12 2 4 6 8 10 12
am pmTipico día de trabajo app:Venta de Boletos
Max Usuarios
Definición de Carga
34
¿Cuantas iteraciones (transacciones) necesitamos generar por minuto si la prueba debe de emular 2 horas con 500 usuarios, asumiendo que el promedio de la iteracion dura 5 min?
Cuantas transacciones se generarán por minuto:
• 120 min / 5 min = 24 por usuario
• 500 usuarios X 24 iteraciones = 120,000 iteraciones
• 120,000 iteraciones / 120 minutos = 1000 iteraciones por minuto
Definición de Carga
35
6 Ejecución de Pruebas.
36
Para la ejecución de la prueba debemos de considerar lo siguiente:
Ubicación de generadores de Carga: Es el lugar en el cual se estarán ejecutando los usuarios virtuales /físicos.
Número de usuarios: El total de usuarios virtuales a ejecutar del proceso de negocio.
Procesos de negocio involucrados: El nombre del/los proceso de negocio a realizar.
Delay en “n” segundos: El tiempo de espera entre cada iteración del usuario.
Accesos de usuarios cada “n” segundos: Es el tiempo en el cual se agregara a la carga un nuevo usuario virtual.
Ejecución de Pruebas
37
Una vez definido lo anterior se generara el escenario de pruebas.
Ejecución de Pruebas
38
7 Análisis de Resultados.
39
Una vez generada la prueba se deberá de analizar todos los datos para determinar si se cumplió o no con el objetivo planteado.
Análisis de Resultados
40
Con el análisis de los datos podemos llegar a diferentes conclusiones de acuerdo al comportamiento durante la prueba.
Análisis de Resultados
41
Log de Defectos Revisar Defecto
Corregidor Defecto
Nueva Prueba
Cerrar Defecto
¿Necesita Corregir?
Corregido?
Nuevo
Corregido
Cerrado / Rejected
Estatus de Defecto Ciclo de Vida de Defectos
Análisis de Resultados
Abierto/ Reabierto
42
Conclusión
Mejores Practicas para Testeo de Aplicaciones
Preguntas
hugo.pallares@globallynx.com
Recommended