Mejores prácticas para testing de aplicaciones

  • Published on
    04-Jul-2015

  • View
    3.386

  • Download
    0

Embed Size (px)

DESCRIPTION

http://sg.com.mx/sgce/2013/sessions/mejores-pr%C3%A1cticas-para-testing-aplicaciones Se mostrarn las mejores prcticas para la generacin de las diferentes tipos de pruebas que existen para las aplicaciones antes de salir a produccin.

Transcript

  • 1. Mejores Practicas para el Testeo de Aplicaciones Hugo Pallares Vega

2. 2 Introduccin El testeo de aplicaciones (en ingls software testing) son las investigaciones que proporcionan informacin objetiva e independiente sobre la calidad del producto a las partes interesadas. Dependiendo del tipo de pruebas, estas actividades podrn ser implementadas en cualquier momento de dicho proceso de desarrollo. Por esto, las actividades, tcnicas, documentacin, enfoques y dems elementos que condicionarn las pruebas a realizar deben ser seleccionadas y utilizadas de la manera ms eficiente segn contexto del proyecto. 3. 3 Introduccin El testeo de aplicaciones (en ingls software testing) son las investigaciones que proporcionan informacin objetiva e independiente sobre la calidad del producto a las partes interesadas. Dependiendo del tipo de pruebas, estas actividades podrn ser implementadas en cualquier momento de dicho proceso de desarrollo. Por esto, las actividades, tcnicas, documentacin, enfoques y dems elementos que condicionarn las pruebas a realizar deben ser seleccionadas y utilizadas de la manera ms eficiente segn contexto del proyecto. 4. 4 Temario 1. Los Diferentes Tipos de Pruebas. 2. Las Etapas para la Generacin de las Pruebas. 3. Obtener los Requerimientos. 4. Ciclo para la Generacin de Casos de Pruebas. 5. Definicin de Carga . 6. Ejecucin de Pruebas. 7. Anlisis de Resultados. 5. 5 1 Los Diferentes Tipos de Pruebas. 6. 6 Pruebas de Carga: Se realiza generalmente para observar el comportamiento de una aplicacin bajo una cantidad de peticiones esperada. Esta carga puede ser el nmero esperado de usuarios concurrentes utilizando la aplicacin y que realizan un nmero especfico de transacciones durante el tiempo que dura la carga. Pruebas de Estrs: Permite ver el comportamiento de la aplicacin con mas usuarios de los que fue diseada . se van incrementando el nmero de usuarios que se agregan a la aplicacin hasta tirar la aplicacin 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 Regresin: Es un tipo particular de prueba de carga en la cual el objetivo es la de probar un error detectado en la aplicacin, hacer las correcciones necesarias y volver a ejecutar la prueba para ver si la aplicacin 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 mdulo por dentro. Las pruebas de caja negra estn especialmente indicadas en aquellos mdulos 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. 8 2 Las Etapas para la Generacin de Pruebas. 9. 9 Fin Obtener Requerimientos Definir Carga para las Aplicaciones Creacin de Casos de Prueba Ejecucin de la Prueba Analizar Resultados Modificacin al Sistema Resultados No Esperados Resultados Esperados Las Etapas para la Generacin de Pruebas 10. 10 3 Obtener los Requerimientos. 11. 11 Requerimientos: Tambin conocidos como requisitos, se definen como las necesidades o problemas que el cliente o usuario desea resolver. Su administracin requiere de priorizarlos, documentarlos, revisarlos y aprobarlos. El objetivo es que todas las partes cuenten con una explicacin escrita del problema. Se pueden obtener de escenarios de uso, relacin de evento-respuesta, o descripcin de necesidades. Entre otra informacin los requerimientos contienen: Especificaciones, Reglas del Negocio, Reglas de Clculo, Validaciones de Informacin, Descripcin de Procesos de la Operacin. Ejemplos: 1. Investigar la lentitud de la nueva aplicacin en el ambiente de produccin. 2. Comprobar la experiencia del usuario final con las nuevas opciones de la aplicacin. 3. Generar registro contable por los intereses moratorios. 4. Realizar el pago de servicios mdicos (Farmacia, Consultas Mdicas) de manera directa para proveedores de la red con 100 usuarios concurrentes. 5. Transferencia de Pago de Servicios (Tarjetas de Crdito, Cable, Telfono). Obtener los Requerimientos 12. 12 4 Ciclo para la Creacin de Casos De pruebas. 13. 13 Ciclo para la Creacin de Casos de Pruebas Definir Lista de Funciones Identificar las Reglas del Negocio Definir Casos de Pruebas Generacin de Guiones Creacin de Casos de Prueba 14. 14 Lista de Funciones (o pasos). Una funcin es una accin dentro de la aplicacin que regularmente esta asociada a un proceso de negocio. Lista de funciones es una relacin de acciones ordenadas de manera lgica y que se llevan a cabo de manera sistemtica 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 descomposicin debe llevarse a cabo de una manera ordenada y lgica. Ciclo para la Creacin 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. Diseo de la Aplicacin. 7. Especificaciones. 8. Instructivos de Operacin. 9. Manuales de Usuario. 10.Entrevistas con el Usuario de la Aplicacin. Manua l del Sistem a Proces o del Negoc io Especificacio nes Ciclo para la Creacin 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 automtico. 1. Insertar de Tarjeta 2. Teclear NIP 3. Consulta de Saldo 4. Retiro de Efectivo 5. Impresin 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 Creacin 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 polticas de operacin o de servicio que se dan en un proceso. Dentro de la aplicacin, a menudo estn determinadas por los valores de los datos y por la relacin de estos con otros y con los elementos de infraestructura. Ciclo para la Creacin de Casos de Pruebas 18. 18 Ejemplos de Reglas del Negocio: a) No hay precios negativos para los artculos 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 vlida (No existe 30 de Febrero) 6/7/2013 Fecha Invlida Error Ciclo para la Creacin de Casos de Pruebas 19. 19 Reglas del Negocio. Las Reglas del Negocio tambin 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 Creacin de Casos de Pruebas 20. 20 Si No Eliminar Pedidos Tiene Pedidos ? Eliminar Cliente b) Una vez que un cliente haya hecho algn pedido, se deber garantizar que no es posible eliminarlo, a menos que previamente se eliminen todos sus pedidos Ciclo para la Creacin de Casos de Pruebas 21. 21 Casos de Prueba. 1. Es una definicin lgica de la prueba a la que se someter un proceso de negocio bajo condiciones determinadas. 2. El propsito es identificar un objetivo en forma de resultados esperados y definir los datos ms importantes, as como sus valores para obtener dicho resultado. 3. La caracterstica principal es que existe una entrada conocida y una salida esperada. 4. Para su definicin se utilizan la lista de funciones y las reglas de negocio asociadas con los requerimientos. Ciclo para la Creacin de Casos de Pruebas 22. 22 Ciclo para la Creacin 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 / Aceptacin (Aplicadas en conjunto con el usuario final). 4. Pruebas de estrs, etc. Pruebas Unitarias Mdulo- 1 Mdulo- 2 Mdulo- 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 / Aceptacin Ciclo para la Creacin de Casos de Pruebas 24. 24 Ejemplos de Casos de Prueba: Caso 1. Objetivo. Confirmar la Cancelacin de un Contrato por Falta de Pago. Regla de Negocio: El pago de la membresa 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 notificacin 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 ms de tres meses desde el aniversario. Resultado esperado: 3. Contrato cambia a estatus vigente. 4. Se genera contabilidad del pago. Ciclo para la Creacin de Casos de Pruebas 25. 25 Elaboracin de Guiones. Objetivo de Prueba del Guin: Propsito del guin (Descripcin de lo que se quiere probar). Funcin(es) Asociada(s). Pasos para Procesar el Guin: Secuencia lgica de las acciones que se llevarn a cabo. Flujo de trabajo que muestra los pasos para realizar la prueba a travs del guin. Estructura de Cada Paso: Nmero o Nombre del Paso. Descripcin del Paso. Resultados Esperados de cada Paso. Verificacin de Resultados. Ciclo para la Creacin 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 Creacin de Casos de Pruebas 27. 27 Ejercicio: La Aplicacin Para validar el funcionamiento de la aplicacin de correo, el cliente debe acceder a su cuenta de correo a travs 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. Despus de adjuntar el documento se deber de seleccionar el acuse de recibo antes de enviar. Requerimiento de adecuacin (supuestos) El archivo a enviar deber de ser menor a 2 MB. En la seccin de asunto se deber de ingresar: Archivo adjunto. En la seccin de mensaje, enviar un saludo. Ciclo para la Creacin de Casos de Pruebas 28. 28 Ejercicio: Definicin 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 guin 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 ms bsicas 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 Creacin de Casos de Pruebas 29. 29 Solucin del Ejercicio: Lista de Funciones 1. Login a mi correo electrnico. 2. Oprimir el botn 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 seccin asunto Ingresar: Archivo adjunto 7. En la seccin mensaje ingresar : Buenos das. 8. Dar clic en el botn enviar. 9. Dar clic en el botn 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 funcin Login debe procesarse antes de enviar el correo Ciclo para la Creacin de Casos de Pruebas 30. 30 Solucin 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 . Operacin exitosa Caso 2. Envo de un archivo .zip de 4 MB. Error (Archivo muy grande) Ciclo para la Creacin de Casos de Pruebas 31. 31 5 Definicin de Carga. 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 da de trabajo necesitaramos conocer los procesos de negocio que se generan para esa aplicacin , as como el horario de mayor carga para saber el numero de usuarios que necesitamos. Definicin de Carga 33. 33 Procesos de Negocio Crear Cuenta 40 200 210 200 150 10 0 75 15 Bsqueda 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 Definicin 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 generarn 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 Definicin de Carga 35. 35 6 Ejecucin de Pruebas. 36. 36 Para la ejecucin de la prueba debemos de considerar lo siguiente: Ubicacin de generadores de Carga: Es el lugar en el cual se estarn ejecutando los usuarios virtuales /fsicos. Nmero 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 iteracin del usuario. Accesos de usuarios cada n segundos: Es el tiempo en el cual se agregara a la carga un nuevo usuario virtual. Ejecucin de Pruebas 37. 37 Una vez definido lo anterior se generara el escenario de pruebas. Ejecucin de Pruebas 38. 38 7 Anlisis de Resultados. 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. Anlisis de Resultados 40. 40 Con el anlisis de los datos podemos llegar a diferentes conclusiones de acuerdo al comportamiento durante la prueba. Anlisis de Resultados 41. 41 Log de Defectos Revisar Defecto Corregidor Defecto Nueva Prueba Cerrar Defecto Necesita Corregir? Corregido? Nuevo Corregido Ce...

Recommended

View more >