Pruebas de aplicaciones web

20,532 views

Published on

Published in: Travel, Technology

Pruebas de aplicaciones web

  1. 1. PRUEBAS DE APLICACIONES WEB<br />Paulina Aillón<br />
  2. 2. INTRODUCCIÓN<br />El 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.<br />
  3. 3. INTRODUCCIÓN<br />Los ingenieros Web y otros participantes del proyecto (gerentes, clientes, usuarios finales) toman parte en el proceso de probar WebApp.<br />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.<br />
  4. 4. INTRODUCCIÓN<br />El 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.<br />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.<br />
  5. 5. INTRODUCCIÓN<br />Aunque 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.<br />
  6. 6. PRUEBA DE CONCEPTOS PARA WEB<br />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.<br />
  7. 7. Dimensiones de la Calidad<br />Como 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:<br />El contenido.- Se evalúa en el ámbito sintáctico como semántico.<br />La función.- Se prueba para descubrir errores que indiquen que no hay concordancia con los requisitos del cliente.<br />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. <br />
  8. 8. Dimensiones de la Calidad<br />La facilidad de uso.- Se prueba para garantizar la interfaz soporta a cada categoría de usuario.<br />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.<br />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.<br />
  9. 9. Dimensiones de la calidad<br />La 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.<br />La interoperabilidad.- Se prueba para asegurar que la WebApp realiza interfaces adecuadas con otras aplicaciones o bases de datos.<br />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.<br />
  10. 10. Errores dentro de un Ambiente WebApp<br />Los errores encontrados como consecuencia de una prueba éxitos de la WebApp tienen varias características únicas.<br />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:<br />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í.<br />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.<br />
  11. 11. Errores dentro de un Ambiente WebApp<br />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.<br />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í.<br />Algunos errores se deben al ambiente operativo estático, mientras que otros son atribuibles al ambiente operativo dinámico<br />
  12. 12. Estrategias de pruebas<br />La 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:<br />Revisión del modelo de contenido de la WebApp en busca de errores<br />Revisión del modelo de la interfaz asegurándose que todos los casos de uso pueden acomodarse<br />Revisión del modelo de diseño de la WebApp en busca de errores de navegación<br />Se prueba la interfaz de usuario para descubrir errores en la presentación o los mecanismos de navegación.<br />Componentes funcionales seleccionados se prueban en forma individual.<br />
  13. 13. Estrategias de pruebas<br />Se prueba la navegación a través de toda la arquitectura.<br />La WebApp se implementa en diversas configuraciones ambientales y se prueba su compatibilidad con cada configuración.<br />Se realizan pruebas de seguridad con el objetivo de explotar vulnerabilidades en la WebAPP o dentro de su ambiente.<br />Se llevan a cabo pruebas de desempeño.<br />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.<br />
  14. 14. Planeación de las pruebas<br />Un plan de pruebas WebApp identifica:<br />Un conjunto de tareas que se aplicarán cuando comience la prueba<br />Los productos de trabajo que se generarán conforme se ejecute cada tarea de prueba<br />La forma en que los resultados de las pruebas se evalúan, registran y reutilizan cuando se realicen pruebas de regresión.<br />En algunos casos el plan de pruebas se integra con el plan del proyecto.<br />
  15. 15. EL PROCESO DE PRUEBA<br />
  16. 16. EL PROCESO DE PRUEBA<br />La prueba del contenido.- Intentan descubrir errores en el contenido. Se realiza similar a la copia –edición de un documento escrito.<br />La prueba de la interfaz.- Ejercita mecanismos de interacción y valida los aspectos estéticos de la interfaz del usuario.<br />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.<br />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.<br />
  17. 17. EL PROCESO DE PRUEBA<br />Las 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.<br />La prueba de seguridad.- Incorpora una serie de pruebas diseñadas para explotar las vulnerabilidades en la WebApp y su ambiente.<br />La prueba de desempeño.- Abarca una serie de pruebas diseñadas para valorar:<br />Cómo afecta el tráfico de usuarios la respuesta en tiempo y confiabilidad de la Web<br />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<br />Cómo la degradación del desempeño impacta los objetivos globales de la WebApp.<br />
  18. 18. PRUEBA DEL CONTENIDO<br />La 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.<br />
  19. 19. Objetivos de la prueba del contenido<br />La prueba del contenido tiene tres objetivos importantes:<br />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<br />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:<br />La información realmente es precisa<br />La información es concisa y exacta <br />La plantilla del objeto es fácil de entender para el usuario <br />La información anidada en un objeto de contenido se encuentra con facilidad <br />Se han ofrecido referencias adecuadas para toda la información derivada de otras fuentes<br />La información presentada es consistente internamente y con la información que presentan otros objetos del contenido<br />El contenido es ofensivo, engañoso o abre la puerta a litigios<br />El contenido infringe derechos de autor o marcas registradas existentes<br />El contenido contiene vínculos internos que complementan el contenido existente. Los vínculos son correctos.<br />El estilo estético del contenido contra el conflicto con el estilo estético de la interfaz.<br />Hallar errores en la organización o estructura del contenido que se presenta al usuario final<br />
  20. 20. Prueba de las bases de datos<br />Las 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.<br />La prueba de la base de datos para las WebApps es complicada por varios factores:<br />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.<br />
  21. 21. Prueba de las bases de datos<br />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.<br />Se debe desarrolla pruebas que demuestren la validez de las transformaciones aplicadas a los datos brutos para crear objetos de contenidos válidos.<br />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.<br /><ul><li>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:</li></li></ul><li>Prueba de las bases de datos<br />
  22. 22. Prueba de las bases de datos<br />Las pruebas deben asegurar que:<br />Información válida pasa entera el cliente servidor desde el estrato de la interfaz<br />La WebApp procese los guiones correctamente y extraiga o formatee adecuadamente datos del usuario<br />Los datos del usuario pasen correctamente a una función de transformación de datos en el lado del servidor para formatear consultas apropiadas.<br />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.<br />
  23. 23. BIBLIOGRAFÍA<br />Ingenieriade Software Un Enfoque Práctico (Pressman 5th Ed). <br />

×