miércoles, 14 de noviembre de 2012

6.4 PRUEBA DE LAS APLICACIONES BASADAS EN WEB


El enfoque de las pruebas de las WebApps adopta los principios básicos de todas las pruebas del software  y aplica estrategias y tácticas que ya han sido recomendadas para los sistemas orientados a objetos.

 Este enfoque se resume en los pasos siguientes:

  • El modelo de contenido de la WebApp es revisado para descubrir errores. 
Esta actividad de “prueba” se asemeja en muchos aspectos a la de un corrector ortográfico de un documento escrito. De hecho, un sitio Web grande tendrá la capacidad de construir un listado de los servicios de correctores profesionales para descubrir errores tipográficos, errores gramaticales, errores en la consistencia del contenido, errores en representaciones gráficas y de referencias cruzadas.



  • El modelo de diseño para la WebApp es revisado para descubrir errores de navegación. 
Los casos prácticos derivados como parte de la actividad de análisis permiten que un ingeniero Web ejercite cada escenario de utilización frente al diseño arquitectónico y de navegación. En esencia, estas pruebas no ejecutables ayudan a descubrir errores en la navegación (por ejemplo, un caso en donde el usuario no pueda leer un nodo de navegación). Además, los enlaces de navegación son revisados para asegurar su correspondencia con los especificados en cada USN del rol de usuario.


  • Se aplican pruebas de unidad a los componentes de proceso seleccionados y las páginas Web. 

Cuando lo que se tiene en consideración es el tema de las WebApps el concepto de unidad cambia. Cada una de las páginas Web encapsulará el contenido, los enlaces de navegación y los elementos de procesamiento (formularios, guiones, applets). No siempre es posible o práctico comprobar cada una de las caractensticas individualmente. En muchos casos, la unidad comprobable más pequeña es la página Web. A diferencia de la comprobación de unidades de software convencional, que tiende a centrarse en el detalle algorítmico de un módulo y los datos que fluyen por la interfaz del módulo, la comprobación por páginas se controla mediante el contenido, proceso y enlaces encapsulados por la página Web.

  • Se construye la arquitectura, se realizan las pruebas de integración. 
La estrategia para la prueba de integración depende de la arquitectura que se haya elegido para la WebApp. Si la WebApp se ha diseñado con una estructura jerárquica lineal, reticular o sencilla, es posible integrar páginas Web de una manera muy similar a como se integran los módulos del software convencional. Sin embargo, si se utiliza una jerarquía mezclada o una arquitectura de red (Web), la prueba de integración es similar al enfoque utilizado para los sistemas. La comprobación basada en hilos se puede utilizar para integrar un conjunto de páginas Web (se puede utilizar una USN para definir el conjunto adecuado) que se requiere para responder a un suceso de usuario. Cada hilo se integra y se prueba individualmente. La prueba de regresión se aplica para asegurar que no haya efectos secundarios. La comprobación de agrupamientos integra un conjunto de páginas colaborativas (determinadas examinando los casos prácticos y la USN). Los casos de prueba se derivan para descubrir errores en las colaboraciones.


  • La WebApp ensamblada se prueba para conseguir una funcionalidad global y un contenido. 
Al igual que la validación convencional, la validación de los sistemas y aplicaciones basados en Web se centra en acciones visibles del usuario y en salidas reconocibles para el usuario que procedan del sistema. Para ayudar en la derivación de las pruebas de validación, las pruebas deberán basarse en casos prácticos. El caso práctico proporciona un escenario con una probabilidad alta de descubrir errores en los requisitos de interacción del usuario.


  • La WebApp se implementa en una variedad de configuraciones diferentes de entornos comprobar así la compatibilidad con cada configuración. 
Se crea una matriz de referencias cruzadas que define todos los sistemas operativos probables, plataformas de hardware para navegadores y protocolos de comunicación. Entonces se llevan a cabo pruebas para descubrir los errores asociados con todas y cada una de las configuraciones posibles.


  •  La WebApp se comprueba con una población de usuarios finales controlada monitorizada. 
Se selecciona un grupo de usuarios que abarque todos los roles posibles de usuarios. La WebApp se pone en práctica con estos usuarios y se evalúan los resultados de su interacción con el sistema para ver los errores de contenido y de navegación, los intereses en usabilidad, compatibilidad, fiabilidad y rendimiento de la WebApp. Dado que muchas WebApps están en constante evolución, el proceso de comprobación es una actividad continua, dirigida por un personal de apoyo a la Web que utiliza pruebas de regresión derivadas de pruebas desarrolladas cuando se creó la WebApp.



                                         

Estrategias de Pruebas


                                          

  1. Revisar el modelo de contenido (sintáctica y semántica)

  1. Revisar el modelo de interfaz para confirmar que todos los casos de uso se pueden acomodar 

  1. Revisar el modelo de diseño para descubrir errores de navegación

  1. Revisar la interfaz del usuario para descubrir errores en la presentación o en los mecanismos de navegación

  1. Se prueban los componentes funcionales de forma individual (se cambia el concepto de unidad que en orientado a objetos era la clase ahora es la pagina Web que tiene encapsulado contenido, vínculos, procesamiento, etc. Así como también la unidad pueda ser un componente funcional. Es importante de igual manera se debe hacer  pruebas de integración entre componentes).

  1. Se prueba la navegación a través de toda la arquitectura, para esto se aplica los casos de uso que se prueban contra el diseño de la navegación (USN) y luego con la aplicación en si

  1. Se prueba en diversas configuraciones ambientales para comprobar su compatibilidad. Se crea una matriz de referencia cruzada que define todos los probables sistemas operativos, navegador, plataformas de hardware y protocolos de comunicación.

  1.  Se realizan pruebas de seguridad con el objetivo de encontrar vulnerabilidades.

  1. Se hacen pruebas de desempeño para valorar como afecta el aumento del tráfico, que uso provocan degradación, cuales son los componentes responsables de la degradación y como esta de gradación afecta a los objetivos y requisitos globales de la WebApp.

  1.  Se prueba la WebApp en una porción de población controlada y monitoreada de usuarios finales. Los resultados de esta prueba servirán para mejorar la interacción, errores de contenido, navegación, facilidad de uso, compatibilidad, confiabilidad y desempeño de la WebApp. Se debe hacer un plan de pruebas que por lo general se definen en el planeamiento general del proyecto.






CONCLUSIONES


Como en todo software desarrollado, debe aplicarse un plan de pruebas desde el inicio y no esperar al final del proyecto para detectar errores. Es así que metodologías de proyectos como MSF tienen dentro de su planificación general del proyecto un punto dedicado a la planeación de pruebas para poder preparar los ambientes y personal adecuado para las pruebas que por cierto son de diferentes tipos.




FUENTES DE INFORMACIÓN