Pruebas Del Sistema Fis

FACULTAD DE INGENIERIA DE SISTEMAS Universidad Nacional San Luis Gonzaga PRUEBAS DEL SISTEMA Pruebas de software PRUE

Views 57 Downloads 2 File size 289KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

FACULTAD DE INGENIERIA DE SISTEMAS Universidad Nacional San Luis Gonzaga

PRUEBAS DEL SISTEMA Pruebas de software

PRUEBAS DEL SISTEMA

INTRODUCCION

FACULTAD DE INGENIERIA DE SISTEMAS

1

PRUEBAS DEL SISTEMA

INDICE

Contenido CAPITULO 1: PRUEBAS FUNCIONALES.................................................................6 1.- ¿Qué son pruebas funcionales?...................................................................7 2.- ¿Cómo prepararse eficientemente para las pruebas funcionales?...................8 3.- Fases de las pruebas funcionales..................................................................8 3.1.- Análisis de requisitos (Planificación)............................................................8 3.2.- Diseño de plan de pruebas (Preparación).....................................................8 3.3.- Ejecución................................................................................................. 9 3.4.- Gestión de Incidencias (Defectos)...............................................................9 4.- Las Pruebas funcionales según su Ejecución.................................................9 4.1.- Manuales................................................................................................. 9 4.2.- Automáticas............................................................................................. 9 5.- Pruebas funcionales según el Tipo de Prueba..............................................10 5.1.- Pruebas exploratorias.............................................................................. 10 5.2.- Pruebas de regresión.............................................................................. 10 5.3.- Pruebas de compatibilidad.......................................................................10 5.4.- Pruebas de integración............................................................................11 5.5.- Pruebas de aceptación............................................................................ 11 6.- ProTest...................................................................................................... 11 CAPITULO 2: DISEÑO DE CASOS DE USO E HISTORIAS DE USUARIO.................12 CAPITULO 3: PRUEBAS DE REGRESION.............................................................12 CAPITULO 4: HERRAMIENTAS PARA IMPLEMENTAR Y EJECUTAR PRUEBAS FUNCIONALES Y DE REGRESION.......................................................................12 CAPITULO 5: MONITOREO DE RESULTADOS.......................................................13

FACULTAD DE INGENIERIA DE SISTEMAS

2

PRUEBAS DEL SISTEMA

Tabla de Ilustracions Ilustración 1: Etapas de Protest.........................................................................11

FACULTAD DE INGENIERIA DE SISTEMAS

3

PRUEBAS DEL SISTEMA

PRUEBAS DEL SISTEMA CAPITULO 1: PRUEBAS FUNCIONALES

Se denominan pruebas funcionales o Functional Testing, a las pruebas de software que tienen por objetivo probar que los sistemas desarrollados, cumplan con las funciones específicas para los cuales han sido creados, es común que este tipo de pruebas sean desarrolladas por analistas de pruebas con apoyo de algunos usuarios finales, esta etapa suele ser la ultima etapa de pruebas y al dar conformidad sobre esta el paso siguiente es el pase a producción. A este tipo de pruebas se les denomina también pruebas de comportamiento o pruebas de caja negra, ya que los testers o analistas de pruebas, no enfocan su atención a como se generan las respuestas del sistema, básicamente el enfoque de este tipo de prueba se basa en el análisis de los datos de entrada y en los de salida, esto generalmente se define en los casos de prueba preparados antes del inicio de las pruebas. Las pruebas funcionales en la mayoría de los casos son realizadas manualmente por el analista de pruebas, también es posible automatizar este tipo de pruebas utilizando herramientas como WinRunner o SilkTest las cuales permiten generar scripts conforme nosotros hagamos interacciones con el aplicativo a probar. La automatización de pruebas puede resultar compleja y solo la recomendaría en algunas funcionalidades específicas, por ejemplo en las pantallas que tendrán mayor uso, generalmente pantallas de ingreso de datos. Se debe tener en cuenta que el costo de estas licencias suele ser bastante elevado. Al realizar pruebas funcionales lo que se pretende en ponerse en los pies del usuario, usar el sistema como él lo usaría sin embargo el analista de pruebas debe ir mas allá que cualquier usuario, generalmente se requiere apoyo de los usuarios finales ya que ellos pueden aportar mucho en el desarrollo de casos de prueba complejos, enfocados básicamente al negocio, posibles particularidades que no se hayan contemplado adecuadamente en el diseño funcional, el analista de pruebas debería dar fuerza a las pruebas funcionales y más aún a las de robustez, generalmente los usuarios realizan las pruebas con la idea que todo debería funcionar, a diferencia del analista de pruebas que tiene más bien una misión destructiva, su objetivo será encontrar alguna posible debilidad y si la llega a ubicar se esforzará por que deje de ser pequeña y posiblemente se convertirá en un gran error, cada error encontrado por el analista de pruebas es un éxito, y se debería considerar como tal, en mi experiencia personal he podido ver que FACULTAD DE INGENIERIA DE SISTEMAS

4

PRUEBAS DEL SISTEMA

proyectos atrasados, o con algunos problemas de tiempo sacrifican horas de pruebas, incluso se siente algún malestar si el tester sigue encontrando errores, si no se corrige esta situación los proyectos en su gran mayoría fracasaran o perderán más tiempo aún.

1.- ¿Qué son pruebas funcionales? Las pruebas funcionales son un proceso de control de calidad que consiste en asegurar el cumplimiento de un sistema o componente con requerimientos funcionales. Estas pruebas pueden realizarse durante la fase de desarrollo, individualmente para secciones específicas desarrolladas por su equipo, al final del desarrollo de su proyecto, cuando las diferentes secciones de su proyecto están unidas. El objetivo principal de las pruebas funcionales es analizar el producto terminado y determinar si hace todo lo que debería hacer y si lo hace correctamente. Tomemos un ejemplo. Si tratamos de analizar las funcionalidades del formulario de contacto de su sitio web, tendría que considerar las siguientes preguntas:

-¿Los datos ingresados por el usuario fueron correctamente enviados al destinatario? - ¿El usuario estuvo informado que su formulario se envió correctamente? - ¿El usuario está correctamente informado cuando campos obligatorios están vacíos? Por supuesto, la complejidad y la frecuencia de sus pruebas dependen de la complejidad del producto que probar. En muchos casos, proveer un plan de pruebas es importante para testear de manera correcta.

FACULTAD DE INGENIERIA DE SISTEMAS

5

PRUEBAS DEL SISTEMA

2.- ¿Cómo prepararse eficientemente para las pruebas funcionales? Los componentes de sus productos interactivos generalmente tienen más características de las que podemos ver. Para asegurar que aproveche al máximo las pruebas funcionales, el factor clave es comunicar correctamente sobre cada aspecto del producto o sección que se necesita probar. Puede proveer una lista de requisitos relacionados a las secciones específicas que necesita probar. Estos requisitos se refieren a los resultados con los cuales debería cumplir cada sección. Volviendo al ejemplo del formulario de contacto, los requisitos podrían ser:

- Los visitantes deben poder enviar un mensaje a su equipo comercial a través del formulario de contacto. - Los visitantes deben proveer su nombre, número de teléfono y correo electrónico cuando contactan al equipo comercial.

3.- Fases de las pruebas funcionales 3.1.- Análisis de requisitos (Planificación) En esta fase se inicia la elaboración del modelo jerárquico de requisitos de prueba partiendo de los procesos funcionales que soporta el producto o activo de software a evaluar. A partir de las funcionalidades se elaborará el plan de pruebas. Hay que obtener toda la información posible de las aplicaciones sobre las cuales se realizarán las pruebas. Esta información se deberá conseguir de toda la documentación disponible sobre su funcionamiento y hablando con el personal responsable de la misma.

3.2.- Diseño de plan de pruebas (Preparación) En esta fase se identifica, acuerda y especifican los atributos y características de calidad que se van a probar. El objetivo es diseñar las pruebas para que tengan la mayor probabilidad de encontrar defectos con la mínima cantidad de esfuerzo y tiempo. Serán pruebas que se llevarán a cabo a través de la interfaz gráfica del software (GUI). Es decir, demostrar que las funciones del software son operativas, que la entrada se acepta de forma adecuada y que se produce una salida correcta, así FACULTAD DE INGENIERIA DE SISTEMAS

6

PRUEBAS DEL SISTEMA

como que la integridad de la información externa se mantiene. Se crearán casos de prueba divididos en pasos (steps) para cada acción a realizar con un resultado esperado asociado, que podrá ser verificado. Durante la fase de diseño también se especifican los datos de entrada necesarios para que los casos de pruebas definidos puedan ser ejecutados (ya sea buscando el éxito de la prueba, o bien el fallo).

3.3.- Ejecución En esta fase se ejecutarán los casos de prueba anteriormente diseñados de forma manual. Hay que seguir al detalle el guión establecido dejando cierta libertad al tester para detectar situaciones anómalas no contempladas. Las baterías de pruebas serán ejecutadas como mínimo una vez antes del paso a producción, independientemente de las ejecuciones anteriores. Los casos de prueba fallados se reportarán a los desarrolladores para su corrección hasta que su resultado sea correcto.

3.4.- Gestión de Incidencias (Defectos) La gestión de incidencias es una parte implícita de la fase de ejecución, pero que al tener una alta importancia en las pruebas funcionales, diferenciamos como una etapa independiente. Cuando al realizar la acción de un step el resultado obtenido no es el esperado, habrá que abrir o reportar una incidencia para que el equipo de desarrollo tenga constancia del error. La gestión de incidencias es el principal canal de comunicación con el equipo de desarrollo. Las incidencias han de ser claras y con todo lujo de detalle, tienen que describir el error para que el equipo de desarrollo pueda comprenderlo perfectamente, reproducirlo, localizarlo y poder solucionarlo. Se deberá mantener una continua comunicación con el equipo de desarrollo para conocer el estado de los defectos y poder realizar las repruebas necesarias para su cierre.

4.- Las Pruebas funcionales según su Ejecución 4.1.- Manuales Las pruebas funcionales manuales son las que ejecuta un tester como si fuese un usuario pero siguiendo una serie de pasos establecidos o test plan, diseñado en el análisis de los requisitos para garantizar que hace lo que debe (casos positivos), que no falla (casos negativos) y que es lo que se ha solicitado. El tester realizará las acciones indicadas en cada step del caso de prueba comprobando que se cumple el resultado esperado. Si el resultado es distinto al esperado, se reportará un defecto con todo detalle: descripción, datos utilizados, capturas de pantalla, etc. para facilitar la solución del defecto por parte de los desarrolladores.

4.2.- Automáticas Las pruebas funcionales automáticas son pruebas funcionales que se automatizan para "ahorrar tiempo de pruebas". A partir de los casos de prueba de las pruebas manuales, se automatizan los casos de prueba que se repitan en las ejecuciones. Esos casos suelen ser los más importantes (happy flow) de los módulos o procesos de negocio "vitales" de la aplicación, es decir, los procesos que siempre tienen que FACULTAD DE INGENIERIA DE SISTEMAS

7

PRUEBAS DEL SISTEMA

funcionar y que bajo ningún concepto pueden fallar. El objetivo de las pruebas funcionales automáticas es comprobar que nada de lo probado con anterioridad ha dejado de funcionar como debería.

5.- Pruebas funcionales según el Tipo de Prueba 5.1.- Pruebas exploratorias Son aquellas pruebas a través de las cuales, simultáneamente, se obtiene un aprendizaje y conocimiento de la aplicación a probar a la vez que se genera un valor desde el primer momento. Ayudan a la integración de la fase de pruebas de una forma mucho más rápida, pues permiten al tester elaborar un guion de pruebas que utilizará para el diseño de los futuros planes de pruebas. Estas pruebas son realmente útiles a la hora de probar aplicaciones ya desarrolladas, es decir, aquellas pruebas de software que no comienzan a la vez que el desarrollo. Para realizar las pruebas funcionales exploratorias se identificarán los distintos procesos de negocio o módulos de la aplicación y se le dará al tester libertad, poniéndose en la piel de un usuario, para probarlos. Estas pruebas exploratorias deberán ejecutarse sobre la última versión cerrada disponible de la aplicación.

5.2.- Pruebas de regresión El objetivo de las pruebas de regresión es eliminar el efecto onda, es decir, comprobar que cambios realizados en el software no introducen un comportamiento no deseado o errores adicionales en otros módulos o partes no modificados. Las pruebas de regresión se deben llevar a cabo cada vez que se hace un cambio en el sistema, tanto para corregir un error como para realizar una mejora. No es suficiente probar sólo los componentes modificados o añadidos, o las funciones que en ellos se realizan, sino que también es necesario controlar que las modificaciones no produzcan efectos negativos sobre el mismo u otros componentes. Este tipo de pruebas tiene que garantizar que tras un cambio en el software, al menos la funcionalidad más importante sigue funcionando. Para este tipo de pruebas lo ideal es automatizar los casos que validen que estas partes siguen funcionando, pues se ejecutarán de manera repetitiva a lo largo del ciclo de vida del software.

FACULTAD DE INGENIERIA DE SISTEMAS

8

PRUEBAS DEL SISTEMA

5.3.- Pruebas de compatibilidad Las pruebas de compatibilidad son pruebas funcionales realizadas en diferentes entornos como en cada navegador de internet, sistema operativo o dispositivo, para garantizar el correcto funcionamiento de la aplicación en todos los medios. El mismo software puede presentar errores dependiendo de dónde se ejecute: funcionales (botones y enlaces pueden dejar de funcionar, producen errores de sistema o simplemente no realizan la funcionalidad esperada), estéticos (pueden descuadrarse frames de la aplicación, no cargarse imágenes, desaparecer enlaces o botones y textos).

5.4.- Pruebas de integración Las pruebas de integración son pruebas funcionales entre dos o más sistemas. El objetivo de las pruebas de integración es verificar el correcto ensamblaje entre los distintos componentes una vez que han sido probados unitariamente con el fin de comprobar que interactúan correctamente a través de sus interfaces, cubren la funcionalidad establecida y se ajustan a los requisitos.

5.5.- Pruebas de aceptación El objetivo de las pruebas de aceptación es validar que un sistema cumple con el funcionamiento esperado y permitir al usuario de dicho sistema que determine su aceptación, desde el punto de vista de su funcionalidad y rendimiento. En las pruebas de aceptación, la ejecución y aprobación final corresponden al usuario o cliente, que es el que valida y verifica que el alcance es el correcto.

6.- ProTest Para realizar las pruebas funcionales de productos de software, se utiliza ProTest, proceso que se destaca por sus características:  

Independiente del ciclo de vida que se utilice para desarrollar el producto. Se basa en el análisis de riesgo del producto para definir las FACULTAD DE INGENIERIA DE funcionalidades a testear y la prioridad con que serán probadas. 9 SISTEMAS  Organiza el proyecto de prueba en ciclos, donde cada ciclo se corresponde con una versión del producto a testear.

PRUEBAS DEL SISTEMA

ProTest se organiza en cuatro etapas: Estudio preliminar, Planificación, Ciclo de prueba y Evaluación del proyecto. Puede ser usado como guía para realizar testing funcional independiente de productos desde su comienzo, en sucesivos ciclos de desarrollo o en productos que se encuentran en mantenimiento.

Ilustración 1: Etapas de Protest

Por cada ciclo de prueba el cliente recibe un informe intermedio con información de las pruebas y sus resultados. Al final del servicio, se entrega un informe dónde se evalúa el proyecto y sus resultados.

4.- Estrategias para la gestión de las pruebas funcionales. Las principales características de la estrategia son que se basa en realizar un estudio de los riesgos del producto que permita definir el alcance para las pruebas.

CAPITULO 2: DISEÑO DE CASOS DE USO E HISTORIAS DE USUARIO

Fdddddddddddddddddddddddddddddddddddddddddddddddddddddd

CAPITULO 3: PRUEBAS DE REGRESION dsssssssssssssssssssssssssssssssssssssssssssssssssss

FACULTAD DE INGENIERIA DE SISTEMAS

10

PRUEBAS DEL SISTEMA

CAPITULO 4: HERRAMIENTAS PARA IMPLEMENTAR FUNCIONALES Y DE REGRESION

Y EJECUTAR PRUEBAS

http://www.pmoinformatica.com/2012/11/5-herramientas-para-laautomatizacion.html CAPITULO 5: MONITOREO DE RESULTADOS

ggggggggggggggggg

FACULTAD DE INGENIERIA DE SISTEMAS

11

PRUEBAS DEL SISTEMA

CONCLUSION

FACULTAD DE INGENIERIA DE SISTEMAS

12

PRUEBAS DEL SISTEMA

BIBLIOGRAFIA Capítulo 1: https://crowdsourcedtesting.com/es/pruebas-funcionales https://es.wikipedia.org/wiki/Pruebas_funcionales#An.C3.A1lisis_de_requisitos_. 28Planificaci.C3.B3n.29 http://www.ces.com.uy/index.php/servicios/testing-independiente/testingfuncional-

FACULTAD DE INGENIERIA DE SISTEMAS

13