Pruebas de aplicaciones web

24
Paulina Aillón

Transcript of Pruebas de aplicaciones web

Page 1: Pruebas de aplicaciones web

Paulina Aillón

Page 2: Pruebas de aplicaciones web

INTRODUCCIÓN

El proceso de someter a prueba la WebApp es una suma deactividades relacionadas con una sola meta: descubrirerrores en el contenido, la función, la facilidad de uso, lanavegabilidad, el desempeño, la capacidad y la seguridadde la WebApp.. Esto se logra a lo largo de todo elproceso de ingeniería Web, mediante la aplicación deuna estrategia de prueba que abarca tanto revisionescomo pruebas ejecutables.

Page 3: Pruebas de aplicaciones web

INTRODUCCIÓN

Los ingenieros Web y otros participantes del proyecto(gerentes, clientes, usuarios finales) toman parte en elproceso de probar WebApp.

Si los usuarios finales encuentran errores que afecten suconfianza en la WebApp, se irán a cualquier otra partepor el contenido y la función que necesitan, y laWebApp fracasará. Por esta razón, los ingenieros de laWeb deben trabajar para eliminar tantos errores comosea posible antes que la WebApp esté en línea.

Page 4: Pruebas de aplicaciones web

INTRODUCCIÓN

El proceso de prueba comienza en enfocarse sobre aquellosaspectos de ésta que son visibles para el usuario yprocede a probar dicha tecnología e infraestructura. Laprueba consta de siete etapas: contenido, interfaz,navegación, componente, configuración, desempeño yprueba de seguridad.

En algunos casos se produce un plan de prueba de laWebApp. En todos los casos se desarrolla un conjunto decasos de prueba para cada etapa de la prueba y se observaun archivo de resultados de pruebas para uso futuro.

Page 5: Pruebas de aplicaciones web

INTRODUCCIÓN

Aunque nunca se puede estar seguro de que han llevado acabo todas las pruebas que se necesitan, puede tenerse laseguridad de que la puesta en prueba ha descubiertoerrores ( y que éstos se han corregido). Además, si se haestablecido un plan de prueba, puede verificarse paraasegurar que se han realizado todas las pruebasplaneadas.

Page 6: Pruebas de aplicaciones web

PRUEBA DE CONCEPTOS PARA WEB

Recordemos que la prueba es el proceso de ejercitar alsoftware con la finalidad de encontrar (y al final decuentas corregir) errores. En el caso de las WebApp, lafilosofía es la misma. En este proceso se considerandiversas dimensiones de la WebApp y la naturaleza delos errores que se encuentran como consecuencia de laspruebas, y la estrategia de poner aplicable paradescubrirlos.

Page 7: Pruebas de aplicaciones web

Dimensiones de la Calidad

Como consecuencia de un buen diseño la calidad esincorporada a la aplicación Web. Las revisiones ypruebas examinan las siguientes dimensiones de lacalidad:

El contenido.- Se evalúa en el ámbito sintáctico comosemántico.

La función.- Se prueba para descubrir errores que indiquen queno hay concordancia con los requisitos del cliente.

La estructura.- Se valora para asegurarse de que entregaadecuadamente contenido y función de la WebApp, que esextensible y que puede sostenerse al añadir un nuevo contenido ofuncionalidad.

Page 8: Pruebas de aplicaciones web

Dimensiones de la Calidad La facilidad de uso.- Se prueba para garantizar la interfaz

soporta a cada categoría de usuario.

La navegabilidad.- Se prueba para garantizar que toda lasintaxis y semántica de navegación se ejercen paradescubrir cualquier error de navegación.

El desempeño.- Se prueba en una diversidad decondiciones operativas, configuraciones y cargas paraasegurar que el sistema responde a la interacción delusuario y maneja cargas extremas sin que haya unadegradación operativa inaceptable.

Page 9: Pruebas de aplicaciones web

Dimensiones de la calidad

La compatibilidad.- Se prueba al ejecutar la WebApp envarias configuraciones huésped en los lados tanto delcliente como del servidor, teniendo como objetivoencontrar errores específicos respecto a sólo unaconfiguración huésped.

La interoperabilidad.- Se prueba para asegurar que laWebApp realiza interfaces adecuadas con otrasaplicaciones o bases de datos.

La seguridad.- Se prueba para valorar las vulnerabilidadespotenciales e intentar explotar cada una de ellas. Cualquierintento de penetración exitoso se considera una falla deseguridad.

Page 10: Pruebas de aplicaciones web

Errores dentro de un Ambiente WebApp

Los errores encontrados como consecuencia de una prueba éxitosde la WebApp tienen varias características únicas.

A continuación se indican 5 atributos de error que sugieren que elambiente desempeña un importante papel en el diagnóstico detodos los errores durante el proceso de ingeniería Web:

1. Muchos tipos de pruebas de WebApp descubren problemas quese evidencian en el lado del cliente, por lo que el ingeniero Webve un síntoma del error, no el error en sí.

2. Puesto que una WebApp se implementa en variasconfiguraciones diferentes y dentro de distintos ambientes,puede ser difícil o imposible reproducir un error afuera delambiente 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ñoincorrecto o una codificación HTML impropia (o algúnotro lenguaje de programación), muchos errores puedenrastrearse hacia la configuración de la WebApp.

4. Puesto que las WebApp residen dentro de unaarquitectura cliente/servidor, el rastreo de los errorespuede 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 operativodinámico

Page 12: Pruebas de aplicaciones web

Estrategias de pruebas

La estrategia para probar una WebApp, adopta los principios básicos paratodas las pruebas de software y aplica una estrategia y las tácticas que serecomendaron respecto de los sistemas orientados a objetos como seindica 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 casosde uso pueden acomodarse

3. Revisión del modelo de diseño de la WebApp en busca de errores denavegación

4. Se prueba la interfaz de usuario para descubrir errores en lapresentación o los mecanismos de navegación.

5. Componentes funcionales seleccionados se prueban en formaindividual.

Page 13: Pruebas de aplicaciones web

Estrategias de pruebas

6. 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 prueba

2. Los productos de trabajo que se generarán conforme se ejecute cada tarea de prueba

3. 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 PRUEBA

La prueba del contenido.- Intentan descubrir errores en elcontenido. Se realiza similar a la copia –edición de undocumento escrito.

La prueba de la interfaz.- Ejercita mecanismos de interacción yvalida los aspectos estéticos de la interfaz del usuario.

La prueba de navegación.- Aplica casos de uso en el diseño decasos de prueba que ejerciten cada escenario de uso contra eldiseño de navegación.

La prueba de componentes.- Ejercita el contenido y lasunidades funcionales dentro de la WebApp. Cada elemento de laarquitectura WebApp se prueba de manera unitaria en la medidade lo posible.

Page 17: Pruebas de aplicaciones web

EL PROCESO DE PRUEBA Las pruebas de configuración.- Intentan descubrir errores que

son específicos respecto de un cliente o ambiente de servidorparticulares. Las pruebas se encaminan a descubrir los erroresasociados con cada posible configuración.

La prueba de seguridad.- Incorpora una serie de pruebasdiseñadas para explotar las vulnerabilidades en la WebApp y suambiente.

La prueba de desempeño.- Abarca una serie de pruebasdiseñ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óndel desempeño y qué características de uso provocan que ocurra ladegradación

Cómo la degradación del desempeño impacta los objetivos globales dela WebApp.

Page 18: Pruebas de aplicaciones web

PRUEBA DEL CONTENIDOLa prueba del contenido intenta descubrir errores

tan triviales como errores tipográficos menoreso tan significativos como información incorrecta,organización impropia o violación de las leyes depropiedad intelectual, combinando tantorevisiones, para descubrir errores semánticoscomo la generación de casos de pruebaejecutables para descubrir errores de contenidosusceptibles de rastrear hacia contenidodinámicamente derivando que hayansuministrado los datos adquiridos de una o másbases.

Page 19: Pruebas de aplicaciones web

Objetivos de la prueba del contenido La 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 datos

Las modernas aplicaciones Web hacen mucho más quepresentar objetos de contenido estáticos. En muchosdominios de aplicación, la interfaz de las WebApps conbases de datos sofisticados gestionan sistemas yconstruyen objetos de contenido dinámicos que se crean enel tiempo real aprovechando datos adquiridos de una basede datos.

La prueba de la base de datos para las WebApps escomplicada por varios factores: Las pruebas deben diseñarse para tratar de desabrir los errores

cometidos al traducir las solicitudes del usuario en una forma quepuedan 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 elcaso.

Se debe desarrolla pruebas que demuestren la validez de lastransformaciones aplicadas a los datos brutos para crear objetos decontenidos válidos.

Se debe diseñar una serie de pruebas para descubrir errores en elformato de objeto de contenido y probar la compatibilidad condiferentes configuraciones de ambiente de cliente.

• Considerando estos factores, se deben aplicar los métodosde diseño de casos de prueba para cada uno de los estratosde 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 datos

Las 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ÍA Ingenieria de Software Un Enfoque Práctico (Pressman

5th Ed).