pruebas de aplicaciones web

24
PRUEBAS DE APLICACIONES WEB Paulina Aillón

Upload: paulinaaillon

Post on 26-Jan-2015

111 views

Category:

Travel


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Pruebas de aplicaciones web

PRUEBAS DE APLICACIONES WEB

Paulina Aillón

Page 2: Pruebas de aplicaciones web

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.

Page 3: Pruebas de aplicaciones web

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.

Page 4: Pruebas de aplicaciones web

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.

Page 5: Pruebas de aplicaciones web

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.

Page 6: Pruebas de aplicaciones web

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.

Page 7: Pruebas de aplicaciones web

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.

Page 8: Pruebas de aplicaciones web

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.

Page 9: Pruebas de aplicaciones web

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.

Page 10: Pruebas de aplicaciones web

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.

Page 11: Pruebas de aplicaciones web

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

Page 12: Pruebas de aplicaciones web

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.

Page 13: Pruebas de aplicaciones web

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.

Page 14: Pruebas de aplicaciones web

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.

Page 15: Pruebas de aplicaciones web

EL PROCESO DE PRUEBA

Page 16: Pruebas de aplicaciones web

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.

Page 17: Pruebas de aplicaciones web

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.

Page 18: Pruebas de aplicaciones web

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.

Page 19: Pruebas de aplicaciones web

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

Page 20: Pruebas de aplicaciones web

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.

Page 21: Pruebas de aplicaciones web

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:

Page 22: Pruebas de aplicaciones web

Prueba de las bases de datos

Page 23: Pruebas de aplicaciones web

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.

Page 24: Pruebas de aplicaciones web

BIBLIOGRAFÍAIngenieria de Software Un Enfoque Práctico

(Pressman 5th Ed).