SlideShare a Scribd company logo
1 of 24
PRUEBAS DE APLICACIONES WEB Paulina Aillón
INTRODUCCIÓN 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.
INTRODUCCIÓN Los 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ÓN 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. 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ÓN 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.
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 Calidad 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: 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 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 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 calidad 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. 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: 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í. 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. 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í. Algunos errores se deben al ambiente operativo estático, mientras que otros son atribuibles al ambiente operativo dinámico
Estrategias de pruebas 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: Revisión del modelo de contenido de la WebApp en busca de errores Revisión del modelo de la interfaz asegurándose que todos los casos de uso pueden acomodarse Revisión del modelo de diseño de la WebApp en busca de errores de navegación Se prueba la interfaz de usuario para descubrir errores en la presentación o los mecanismos de navegación. Componentes funcionales seleccionados se prueban en forma individual.
Estrategias de pruebas Se prueba la navegación a través de toda la arquitectura. La WebApp se implementa en diversas configuraciones ambientales y se prueba su compatibilidad con cada configuración. Se realizan pruebas de seguridad con el objetivo de explotar vulnerabilidades en la WebAPP o dentro de su ambiente. Se llevan a cabo pruebas de desempeño. 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 pruebas Un plan de pruebas WebApp identifica: Un conjunto de tareas que se aplicarán cuando comience la prueba Los productos de trabajo que se generarán conforme se ejecute cada tarea de prueba 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 PRUEBA La 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 PRUEBA 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. 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 CONTENIDO 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.
Objetivos de la prueba del contenido La prueba del contenido tiene tres objetivos importantes: 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 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. Hallar errores en la organización o estructura del contenido que se presenta al usuario final
Prueba de las bases de datos 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. 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. ,[object Object],[object Object]
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.
BIBLIOGRAFÍA Ingenieriade Software Un Enfoque Práctico (Pressman 5th Ed).
Pruebas de aplicaciones web

More Related Content

What's hot

Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de softwareEdgardo Rojas
 
aseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsaseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsMARCO POLO SILVA SEGOVIA
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Softwarearacelij
 
Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1Professional Testing
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareMoises Medina
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Una metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónUna metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónLeonardo Fleire Morales
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitosZuleima
 
Act 4.3 pruebas de software
Act 4.3 pruebas de softwareAct 4.3 pruebas de software
Act 4.3 pruebas de softwareRodrigo Santiago
 
Especificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareEspecificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareJesús E. CuRias
 
Ejemplo plan de_pruebas
Ejemplo plan de_pruebasEjemplo plan de_pruebas
Ejemplo plan de_pruebasnicolas2100
 
Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de softwareJohn Fonseca
 

What's hot (20)

Plan de pruebas de software
Plan de pruebas de softwarePlan de pruebas de software
Plan de pruebas de software
 
aseguramiento de la calidad de software acs
aseguramiento de la calidad de software acsaseguramiento de la calidad de software acs
aseguramiento de la calidad de software acs
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1Fundamentos de Pruebas de Software - Capítulo 1
Fundamentos de Pruebas de Software - Capítulo 1
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Proyecto de reingenieria de software
Proyecto de reingenieria  de softwareProyecto de reingenieria  de software
Proyecto de reingenieria de software
 
Una metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónUna metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de información
 
Ingeniería de requisitos
Ingeniería de requisitosIngeniería de requisitos
Ingeniería de requisitos
 
Plan de pruebas
Plan de pruebasPlan de pruebas
Plan de pruebas
 
Act 4.3 pruebas de software
Act 4.3 pruebas de softwareAct 4.3 pruebas de software
Act 4.3 pruebas de software
 
Especificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de softwareEspecificación y resultados de las pruebas de software
Especificación y resultados de las pruebas de software
 
Las mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de softwareLas mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de software
 
Pruebas del software
Pruebas del softwarePruebas del software
Pruebas del software
 
Rational rose
Rational roseRational rose
Rational rose
 
Ejemplo plan de_pruebas
Ejemplo plan de_pruebasEjemplo plan de_pruebas
Ejemplo plan de_pruebas
 
Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de software
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Metodología WEB UWE
Metodología WEB UWEMetodología WEB UWE
Metodología WEB UWE
 

Viewers also liked

Expo prueba de estructura metálica, toma de guía de soldadura
Expo prueba de estructura metálica, toma de guía de soldaduraExpo prueba de estructura metálica, toma de guía de soldadura
Expo prueba de estructura metálica, toma de guía de soldaduraKale13
 
Casos de prueba de caja blanca (WhiteBox)
Casos de prueba de caja blanca (WhiteBox)Casos de prueba de caja blanca (WhiteBox)
Casos de prueba de caja blanca (WhiteBox)Jesús Navarro
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionAbner Gerardo
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de SoftwareCARMEN
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blancaStudentPc
 

Viewers also liked (12)

Expo prueba de estructura metálica, toma de guía de soldadura
Expo prueba de estructura metálica, toma de guía de soldaduraExpo prueba de estructura metálica, toma de guía de soldadura
Expo prueba de estructura metálica, toma de guía de soldadura
 
Tecnicas de Pruebas
 Tecnicas de Pruebas  Tecnicas de Pruebas
Tecnicas de Pruebas
 
prueba de aplicaciones convencionales
prueba de aplicaciones convencionalesprueba de aplicaciones convencionales
prueba de aplicaciones convencionales
 
Casos de prueba de caja blanca (WhiteBox)
Casos de prueba de caja blanca (WhiteBox)Casos de prueba de caja blanca (WhiteBox)
Casos de prueba de caja blanca (WhiteBox)
 
Prueba de aplicaciones
Prueba de aplicacionesPrueba de aplicaciones
Prueba de aplicaciones
 
Etapas de las pruebas
Etapas de las pruebasEtapas de las pruebas
Etapas de las pruebas
 
Pruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacionPruebas de sistemas y aceptacion
Pruebas de sistemas y aceptacion
 
8.realizacion de pruebas
8.realizacion de pruebas8.realizacion de pruebas
8.realizacion de pruebas
 
Casos de pruebas
Casos de pruebasCasos de pruebas
Casos de pruebas
 
Mantenimiento de Software
Mantenimiento de SoftwareMantenimiento de Software
Mantenimiento de Software
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Pruebas de caja blanca y negra
Pruebas  de caja blanca y negraPruebas  de caja blanca y negra
Pruebas de caja blanca y negra
 

Similar to Pruebas de aplicaciones web

PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB YULIANA JIMENEZ
 
Como Probar Una AplicacióN Web
Como Probar Una AplicacióN WebComo Probar Una AplicacióN Web
Como Probar Una AplicacióN Webrlramirez
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de softwareCentro Líbano
 
Capitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareCapitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareAndres Valencia
 
Desarrollo web final
Desarrollo web finalDesarrollo web final
Desarrollo web finalproo
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo webproo
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareMiguel Sanchez
 
Modelo de analisis
Modelo de analisisModelo de analisis
Modelo de analisisdiana_caluna
 
Modelado de Diseño y Prueba de Aplicaciones Web
Modelado de Diseño y Prueba de Aplicaciones WebModelado de Diseño y Prueba de Aplicaciones Web
Modelado de Diseño y Prueba de Aplicaciones WebLuzkarly Vazquez
 
practica 10 de fundamento.pdf
practica 10 de fundamento.pdfpractica 10 de fundamento.pdf
practica 10 de fundamento.pdfEduinGamer
 
Doo 13-testing
Doo 13-testingDoo 13-testing
Doo 13-testingJulio Pari
 
Ces cacic07-automatizacion y-gestion_pruebas_funcionales
Ces cacic07-automatizacion y-gestion_pruebas_funcionalesCes cacic07-automatizacion y-gestion_pruebas_funcionales
Ces cacic07-automatizacion y-gestion_pruebas_funcionalesginacris
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de softwareTensor
 
Fundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del softwareFundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del softwareWilliam Remolina
 
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...Priscill Orue Esquivel
 
Grupo14_Actividad11
Grupo14_Actividad11Grupo14_Actividad11
Grupo14_Actividad11Jesus Matos
 

Similar to Pruebas de aplicaciones web (20)

PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB PRUEBA DE APLICACIONES WEB
PRUEBA DE APLICACIONES WEB
 
Como Probar Una AplicacióN Web
Como Probar Una AplicacióN WebComo Probar Una AplicacióN Web
Como Probar Una AplicacióN Web
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Capitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareCapitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_software
 
Exposición software.pptx
Exposición software.pptxExposición software.pptx
Exposición software.pptx
 
Exposición software.pptx
Exposición software.pptxExposición software.pptx
Exposición software.pptx
 
Software de tipo web
Software de tipo webSoftware de tipo web
Software de tipo web
 
Desarrollo web final
Desarrollo web finalDesarrollo web final
Desarrollo web final
 
Desarrollo web
Desarrollo webDesarrollo web
Desarrollo web
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
Modelo de analisis
Modelo de analisisModelo de analisis
Modelo de analisis
 
Modelado de Diseño y Prueba de Aplicaciones Web
Modelado de Diseño y Prueba de Aplicaciones WebModelado de Diseño y Prueba de Aplicaciones Web
Modelado de Diseño y Prueba de Aplicaciones Web
 
Pruebas de Software
Pruebas de SoftwarePruebas de Software
Pruebas de Software
 
practica 10 de fundamento.pdf
practica 10 de fundamento.pdfpractica 10 de fundamento.pdf
practica 10 de fundamento.pdf
 
Doo 13-testing
Doo 13-testingDoo 13-testing
Doo 13-testing
 
Ces cacic07-automatizacion y-gestion_pruebas_funcionales
Ces cacic07-automatizacion y-gestion_pruebas_funcionalesCes cacic07-automatizacion y-gestion_pruebas_funcionales
Ces cacic07-automatizacion y-gestion_pruebas_funcionales
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Fundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del softwareFundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del software
 
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...
 
Grupo14_Actividad11
Grupo14_Actividad11Grupo14_Actividad11
Grupo14_Actividad11
 

Pruebas de aplicaciones web

  • 1. PRUEBAS DE APLICACIONES WEB Paulina Aillón
  • 2. INTRODUCCIÓN 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.
  • 3. INTRODUCCIÓN Los 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.
  • 4. INTRODUCCIÓN 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. 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.
  • 5. INTRODUCCIÓN 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.
  • 6. 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.
  • 7. Dimensiones de la Calidad 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: 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.
  • 8. 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 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.
  • 9. Dimensiones de la calidad 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. 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.
  • 10. 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: 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í. 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.
  • 11. 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. 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í. Algunos errores se deben al ambiente operativo estático, mientras que otros son atribuibles al ambiente operativo dinámico
  • 12. Estrategias de pruebas 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: Revisión del modelo de contenido de la WebApp en busca de errores Revisión del modelo de la interfaz asegurándose que todos los casos de uso pueden acomodarse Revisión del modelo de diseño de la WebApp en busca de errores de navegación Se prueba la interfaz de usuario para descubrir errores en la presentación o los mecanismos de navegación. Componentes funcionales seleccionados se prueban en forma individual.
  • 13. Estrategias de pruebas Se prueba la navegación a través de toda la arquitectura. La WebApp se implementa en diversas configuraciones ambientales y se prueba su compatibilidad con cada configuración. Se realizan pruebas de seguridad con el objetivo de explotar vulnerabilidades en la WebAPP o dentro de su ambiente. Se llevan a cabo pruebas de desempeño. 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.
  • 14. Planeación de las pruebas Un plan de pruebas WebApp identifica: Un conjunto de tareas que se aplicarán cuando comience la prueba Los productos de trabajo que se generarán conforme se ejecute cada tarea de prueba 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.
  • 15. EL PROCESO DE PRUEBA
  • 16. EL PROCESO DE PRUEBA La 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.
  • 17. EL PROCESO DE PRUEBA 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. 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.
  • 18. PRUEBA DEL CONTENIDO 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.
  • 19. Objetivos de la prueba del contenido La prueba del contenido tiene tres objetivos importantes: 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 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. Hallar errores en la organización o estructura del contenido que se presenta al usuario final
  • 20. Prueba de las bases de datos 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. 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.
  • 21.
  • 22. 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.
  • 23. BIBLIOGRAFÍA Ingenieriade Software Un Enfoque Práctico (Pressman 5th Ed).