pruebas de aplicaciones web
DESCRIPTION
TRANSCRIPT
PRUEBAS DE APLICACIONES WEB
Paulina Aillón
INTRODUCCIÓNEl proceso de someter a prueba la WebApp es
una suma de actividades relacionadas con una sola meta: descubrir errores en el contenido, la función, la facilidad de uso, la navegabilidad, el desempeño, la capacidad y la seguridad de la WebApp.. Esto se logra a lo largo de todo el proceso de ingeniería Web, mediante la aplicación de una estrategia de prueba que abarca tanto revisiones como pruebas ejecutables.
INTRODUCCIÓNLos ingenieros Web y otros participantes del
proyecto (gerentes, clientes, usuarios finales) toman parte en el proceso de probar WebApp.
Si los usuarios finales encuentran errores que afecten su confianza en la WebApp, se irán a cualquier otra parte por el contenido y la función que necesitan, y la WebApp fracasará. Por esta razón, los ingenieros de la Web deben trabajar para eliminar tantos errores como sea posible antes que la WebApp esté en línea.
INTRODUCCIÓNEl proceso de prueba comienza en enfocarse
sobre aquellos aspectos de ésta que son visibles para el usuario y procede a probar dicha tecnología e infraestructura. La prueba consta de siete etapas: contenido, interfaz, navegación, componente, configuración, desempeño y prueba de seguridad.
En algunos casos se produce un plan de prueba de la WebApp. En todos los casos se desarrolla un conjunto de casos de prueba para cada etapa de la prueba y se observa un archivo de resultados de pruebas para uso futuro.
INTRODUCCIÓNAunque nunca se puede estar seguro de que han
llevado a cabo todas las pruebas que se necesitan, puede tenerse la seguridad de que la puesta en prueba ha descubierto errores ( y que éstos se han corregido). Además, si se ha establecido un plan de prueba, puede verificarse para asegurar que se han realizado todas las pruebas planeadas.
PRUEBA DE CONCEPTOS PARA WEB
Recordemos que la prueba es el proceso de ejercitar al software con la finalidad de encontrar (y al final de cuentas corregir) errores. En el caso de las WebApp, la filosofía es la misma. En este proceso se consideran diversas dimensiones de la WebApp y la naturaleza de los errores que se encuentran como consecuencia de las pruebas, y la estrategia de poner aplicable para descubrirlos.
Dimensiones de la CalidadComo consecuencia de un buen diseño la calidad
es incorporada a la aplicación Web. Las revisiones y pruebas examinan las siguientes dimensiones de la calidad:
El contenido.- Se evalúa en el ámbito sintáctico como semántico.
La función.- Se prueba para descubrir errores que indiquen que no hay concordancia con los requisitos del cliente.
La estructura.- Se valora para asegurarse de que entrega adecuadamente contenido y función de la WebApp, que es extensible y que puede sostenerse al añadir un nuevo contenido o funcionalidad.
Dimensiones de la CalidadLa facilidad de uso.- Se prueba para garantizar
la interfaz soporta a cada categoría de usuario.La navegabilidad.- Se prueba para garantizar
que toda la sintaxis y semántica de navegación se ejercen para descubrir cualquier error de navegación.
El desempeño.- Se prueba en una diversidad de condiciones operativas, configuraciones y cargas para asegurar que el sistema responde a la interacción del usuario y maneja cargas extremas sin que haya una degradación operativa inaceptable.
Dimensiones de la calidadLa compatibilidad.- Se prueba al ejecutar la
WebApp en varias configuraciones huésped en los lados tanto del cliente como del servidor, teniendo como objetivo encontrar errores específicos respecto a sólo una configuración huésped.
La interoperabilidad.- Se prueba para asegurar que la WebApp realiza interfaces adecuadas con otras aplicaciones o bases de datos.
La seguridad.- Se prueba para valorar las vulnerabilidades potenciales e intentar explotar cada una de ellas. Cualquier intento de penetración exitoso se considera una falla de seguridad.
Errores dentro de un Ambiente WebApp
Los errores encontrados como consecuencia de una prueba éxitos de la WebApp tienen varias características únicas.
A continuación se indican 5 atributos de error que sugieren que el ambiente desempeña un importante papel en el diagnóstico de todos los errores durante el proceso de ingeniería Web:
1. Muchos tipos de pruebas de WebApp descubren problemas que se evidencian en el lado del cliente, por lo que el ingeniero Web ve un síntoma del error, no el error en sí.
2. Puesto que una WebApp se implementa en varias configuraciones diferentes y dentro de distintos ambientes, puede ser difícil o imposible reproducir un error afuera del ambiente en el que el error se encontró originalmente.
Errores dentro de un Ambiente WebApp
3. Aunque algunos errores son el resultado de un diseño incorrecto o una codificación HTML impropia (o algún otro lenguaje de programación), muchos errores pueden rastrearse hacia la configuración de la WebApp.
4. Puesto que las WebApp residen dentro de una arquitectura cliente/servidor, el rastreo de los errores puede ser difícil a través de las 3 capas arquitectónicas: cliente, servidor o la red en sí.
5. Algunos errores se deben al ambiente operativo estático, mientras que otros son atribuibles al ambiente operativo dinámico
Estrategias de pruebasLa estrategia para probar una WebApp, adopta los principios
básicos para todas las pruebas de software y aplica una estrategia y las tácticas que se recomendaron respecto de los sistemas orientados a objetos como se indica a continuación:
1. Revisión del modelo de contenido de la WebApp en busca de errores
2. Revisión del modelo de la interfaz asegurándose que todos los casos de uso pueden acomodarse
3. Revisión del modelo de diseño de la WebApp en busca de errores de navegación
4. Se prueba la interfaz de usuario para descubrir errores en la presentación o los mecanismos de navegación.
5. Componentes funcionales seleccionados se prueban en forma individual.
Estrategias de pruebas6. Se prueba la navegación a través de toda la arquitectura.7. La WebApp se implementa en diversas configuraciones
ambientales y se prueba su compatibilidad con cada configuración.
8. Se realizan pruebas de seguridad con el objetivo de explotar vulnerabilidades en la WebAPP o dentro de su ambiente.
9. Se llevan a cabo pruebas de desempeño.10. Se prueba la WebApp en una población controlada y
monitoreada de usuarios finales buscando errores relacionados con la facilidad de uso, con la compatibilidad, confiabilidad y desempeño de la WebApp.
Planeación de las pruebasUn plan de pruebas WebApp identifica:1. Un conjunto de tareas que se aplicarán cuando
comience la prueba2. Los productos de trabajo que se generarán
conforme se ejecute cada tarea de prueba3. La forma en que los resultados de las pruebas se
evalúan, registran y reutilizan cuando se realicen pruebas de regresión.
En algunos casos el plan de pruebas se integra con el plan del proyecto.
EL PROCESO DE PRUEBA
EL PROCESO DE PRUEBALa prueba del contenido.- Intentan descubrir errores
en el contenido. Se realiza similar a la copia –edición de un documento escrito.
La prueba de la interfaz.- Ejercita mecanismos de interacción y valida los aspectos estéticos de la interfaz del usuario.
La prueba de navegación.- Aplica casos de uso en el diseño de casos de prueba que ejerciten cada escenario de uso contra el diseño de navegación.
La prueba de componentes.- Ejercita el contenido y las unidades funcionales dentro de la WebApp. Cada elemento de la arquitectura WebApp se prueba de manera unitaria en la medida de lo posible.
EL PROCESO DE PRUEBALas pruebas de configuración.- Intentan descubrir
errores que son específicos respecto de un cliente o ambiente de servidor particulares. Las pruebas se encaminan a descubrir los errores asociados con cada posible configuración.
La prueba de seguridad.- Incorpora una serie de pruebas diseñadas para explotar las vulnerabilidades en la WebApp y su ambiente.
La prueba de desempeño.- Abarca una serie de pruebas diseñadas para valorar: Cómo afecta el tráfico de usuarios la respuesta en tiempo y
confiabilidad de la Web Cuáles componentes de la WebApp son responsables de la
degradación del desempeño y qué características de uso provocan que ocurra la degradación
Cómo la degradación del desempeño impacta los objetivos globales de la WebApp.
PRUEBA DEL CONTENIDOLa prueba del contenido intenta descubrir
errores tan triviales como errores tipográficos menores o tan significativos como información incorrecta, organización impropia o violación de las leyes de propiedad intelectual, combinando tanto revisiones, para descubrir errores semánticos como la generación de casos de prueba ejecutables para descubrir errores de contenido susceptibles de rastrear hacia contenido dinámicamente derivando que hayan suministrado los datos adquiridos de una o más bases.
Objetivos de la prueba del contenidoLa prueba del contenido tiene tres objetivos importantes:
1. Descubrir errores sintácticos, para lo cual se usan empleando verificadores de ortografía y gramática automatizados, pero aún así muchos errores evaden la detección y deben descubrirlos un revisor humano
2. Descubrir errores semánticos, se centra en la en la información presentada en cada objeto de contenido, para lo cual se deben responder la siguientes preguntas:
La información realmente es precisa La información es concisa y exacta La plantilla del objeto es fácil de entender para el usuario La información anidada en un objeto de contenido se encuentra con facilidad Se han ofrecido referencias adecuadas para toda la información derivada de otras
fuentes La información presentada es consistente internamente y con la información que
presentan otros objetos del contenido El contenido es ofensivo, engañoso o abre la puerta a litigios El contenido infringe derechos de autor o marcas registradas existentes El contenido contiene vínculos internos que complementan el contenido existente. Los
vínculos son correctos. El estilo estético del contenido contra el conflicto con el estilo estético de la interfaz.
3. Hallar errores en la organización o estructura del contenido que se presenta al usuario final
Prueba de las bases de datosLas modernas aplicaciones Web hacen mucho más que
presentar objetos de contenido estáticos. En muchos dominios de aplicación, la interfaz de las WebApps con bases de datos sofisticados gestionan sistemas y construyen objetos de contenido dinámicos que se crean en el tiempo real aprovechando datos adquiridos de una base de datos.
La prueba de la base de datos para las WebApps es complicada por varios factores: Las pruebas deben diseñarse para tratar de desabrir los
errores cometidos al traducir las solicitudes del usuario en una forma que puedan procesar dichos DBMS.
Prueba de las bases de datos Se debe desarrolla las pruebas que descubran los
errores en la comunicación entre la WebApp y la base de datos remota, si es el caso.
Se debe desarrolla pruebas que demuestren la validez de las transformaciones aplicadas a los datos brutos para crear objetos de contenidos válidos.
Se debe diseñar una serie de pruebas para descubrir errores en el formato de objeto de contenido y probar la compatibilidad con diferentes configuraciones de ambiente de cliente.
• Considerando estos factores, se deben aplicar los métodos de diseño de casos de prueba para cada uno de los estratos de interacción que se indican en la siguiente figura:
Prueba de las bases de datos
Prueba de las bases de datosLas pruebas deben asegurar que:
Información válida pasa entera el cliente servidor desde el estrato de la interfaz
La WebApp procese los guiones correctamente y extraiga o formatee adecuadamente datos del usuario
Los datos del usuario pasen correctamente a una función de transformación de datos en el lado del servidor para formatear consultas apropiadas.
Las consultas pasen a un estado de gestión de datos que se comunique con rutinas de acceso a bases de datos potencialmente ubicados en otra máquina.
BIBLIOGRAFÍAIngenieria de Software Un Enfoque Práctico
(Pressman 5th Ed).