Este documento presenta las mejores prácticas para el testeo de aplicaciones. Explica que el testeo de software proporciona información objetiva sobre la calidad del producto a las partes interesadas. También describe que los tipos de pruebas pueden implementarse en cualquier etapa del desarrollo y que las actividades y técnicas de prueba deben seleccionarse de manera eficiente según el contexto del proyecto. Finalmente, presenta un temario sobre los diferentes tipos de pruebas, las etapas para generar pruebas, cómo obt
2. 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. 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. 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.
6. 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. 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
9. 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
11. 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
13. 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. 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. 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.
Manua
l del
Sistem
a
Proces
o del
Negoc
io
Especificacio
nes
Ciclo para la Creación de Casos de Pruebas
16. 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. 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. 18
Ejemplos de Reglas del Negocio:
a) No hay precios negativos para los artículos
Precio Negativo
$-20.00
Error
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. 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. 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. 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. 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. 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
Entrad
as
Salidas
Casos
Esp.
Entrad
as
Salidas
Caso 2
Entrad
as
Salidas
Caso 3
Entrad
as
Salidas
Pruebas de
Funcionalidad
Caso 1
Entrad
as
Salidas
Casos
Esp.
Entrad
as
Salidas
Caso 2
Entrad
as
Salidas
Caso 3
Entrad
as
Salidas
Pruebas Integrales /
Aceptación
Ciclo para la Creación de Casos de Pruebas
24. 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. 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. 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. 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. 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. 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.com
5. Ingresar el correo de hugo.pallares@globallynx.com
6. En la sección asunto Ingresar: Archivo adjunto
7. 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 adjunto
11. Salir
Las funciones se ejecutan en el orden listado deseablemente
La función Login debe procesarse antes de enviar el correo
Ciclo para la Creación de Casos de Pruebas
30. 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
32. 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. 33
Procesos de
Negocio
Crear Cuenta 40 200 210 200 150
10
0 75 15
Búsqueda por vuelos 5 250 400 400 240
20
0 50
Comprar boletos 3 300 350 500 200
10
0 50 30
Procesos
Administrativos
Respaldo del
sistema 1 1 1 1
Max Usuarios
Definición de Carga
34. 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
36. 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. 37
Una vez definido lo anterior se generara el escenario de pruebas.
Ejecución de Pruebas
39. 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. 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. 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