pressman capitulo 15

Upload: supito016145

Post on 15-Jul-2015

243 views

Category:

Documents


0 download

DESCRIPTION

Presentacion del capitulo 15 del libro ingenieria web de Pressman

TRANSCRIPT

Capitulo 14 Tema: Tecnologas y Herramientas Capitulo 15 Tema: Capitulo 16 Tema:

Maestrante: Marvin Daniel Glvez Pilco

-

Ordenar las capacidades de aplicaciones web, y herramientas que necesitamos para estas Seleccionar el origen de las herramientas de desarrollo Considerar la categora de la aplicacin web para la eleccin de herramientas y tecnologa.

`

`

Ing. de software enfocada en lograr la cohesin de componentes, lograr un sistema simple de entender y mantener. Para aplicaciones webs, se ordenan por separado (con respectivas aplicaciones):Almacenamiento de contenido Adaptacin de contenido Presentacin y adaptacin de la misma Estructura y navegacin de contenido Funcionalidad.

`

`

`

Open Source, rpida evolucin, carencia de soporte. Herramientas y tecnologas propietarias, con soporte e implementacin en ciclos lentos. Tomar en cuenta si las herramientas:Permite cumplir lo deseado Calidad y extensin adecuadas Ayudara ahora y en el futuro Tiene soporte, documentacin, y ayuda El costo es parte del presupuesto

`

` `

` `

La categora de las aplicaciones Web define el tipo de tecnologas a aplicar. Inicialmente de difusin de informacin. Mas compleja interaccin de los usuarios, Web 2.0(Folksonomies, Mashups, Social networking, wikis) Mas parecidas a las aplicaciones de escritorio. Disminuyen las limitaciones de usuarios y administradores.

Sin fin de tecnologas en constante cambio No intentar conocer todo, solo enfocar a las herramientas y tecnologas necesarias

`

` ` ` `

Conjunto de libreras y/o componentes usados para implementar estructuras bsicas de una aplicacin, basado en lenguajes simples. Los frameworks complejos cubren Mayora basados en el modelo vista controlador (MVC). Permiten separar la aplicacin para ser administrada por expertos. Seleccionado al inicio, porque influye en la arquitectura.

`

`

`

CMS permite administrar variedad de contenido por diversos usuarios en sistemas basados en Web. Presentacin, estadsticas, publicacin y despliegue, seguridad, compatibilidad con diversas aplicaciones. Algunos permiten control de capacidades.

` `

Indexacin de contenido. Avanzada bsqueda, implica configuracin de la bsqueda, de la estrategia de indexado, y anlisis de las bsquedas realizadas anteriormente.

Variedad de herramientas de desarrollo web, pero de bajo nivel Herramientas adaptadas de convencionales, para software, no cubren las caractersticas especiales de las aplicaciones Web.

`

` `

`

Son pocas las orientadas especficamente para aplicaciones Webs. Herramientas limitadas, estructuras bsicas. Muchos sin habilidad de modelar procesos de negocios, casos de uso o escenarios. Herramientas de generacin de documentacin y cdigo, requieres ciertos ajustes finales.

` `

La mayora de pruebas son de implementacin, pocas de especificacin y diseo. Categoras: Validacin de:Lenguaje Navegacin Rendimiento y carga Plataforma y entorno Funcionabilidad y anlisis Usabilidad.

`

Muchas de las mismas utilizadas antes de lanzar las aplicaciones al mercado, o para buscar errores que se presenten.

`

`

Pocas herramientas que directamente soporten los procesos de ingeniera web (formulacin, calidad, costo, etc.) La mayora de desarrolladores web combinan herramientas generales para proyectos, y las configuran para dicha tarea.

`

`

` `

`

Herramientas para su uso, pocas para modelado de aplicaciones web, o para el desarrollo Separa preocupaciones y encontrar herramientas para cada una El origen de la herramienta que se usara Considerar la categora de la pagina para definir las herramientas y tecnologa que se usara. Determinar el modelado formal, testeo, y mantenimiento de los procesos. Una metodologa gil y sin problemas.

Fuente: Libro: Web Engineering: A Partitioners Approach , 6ta Edicin Autor: Roger S. Pressman y David Lowe Cap: 15 (Testing Web Apps)

Testeo en Aplicaciones WebEdwin O. Ramos Velsquez Universidad Nacional Jorge Basadre Grohmann Maestra en Ingeniera de Sistemas

- Dimensiones de la calidad - Tpicos errores en web - Usar estrategias en el testeo?

DIMENSIONES DE LA CALIDAD La calidad de una aplicacin web es consecuencia de un buen anlisis y diseo de la solucin. Las complejidad de las aplicaciones as como sus componentes crticos deben ser evaluados sin descuidar ambos aspectos. Contenido, Se evala semntica y sintcticamente. En el nivel sintctico se evala La ortografa y la gramtica de los textos expuestos(errores ortogrficos). En el nivel semntico se evala la consistencia de la informacin presentada, as como el cuidado de la relacin de los objetos mostrados en pantalla(esttica). Funcionabilidad: Cada funcionalidad es verificada, as como la respectiva existencia de posibles inestabilidades. Estructura. La conformidad del soporte que la aplicacin web le al contenido mostrado Usabilidad. Con la interfaz existente el usuario le puede dar el correcto uso a la aplicacin web? Navegabilidad. Toda la sintaxis y semntica de la web pueden ser usados para evitar errores de navegacin. P.e. identificacin de enlaces muertos, etc. Rendimiento. Se verifica su correcto desempeo en las diferentes configuraciones y en las situaciones de carga plena. Compatibilidad. Se verifica su funcionamiento en escenarios diferentes. Por ejemplo, en hosts diferentes. Interoperabilidad. La aplicacin web interacta adecuadamente con otras aplicaciones, como ser por ejemplo con la base de datos u otras aplicaciones? Seguridad. Se verifica su comportamiento ante posibles vulnerabilidades.

TPICOS ERRORES DE LAS APLICACIONES WEB Scripting en el lado del cliente, Errores en la arquitectura de capas que no puede ser fcilmente detectado, Navegacin, pruebas de rendimiento, etc. ES NECESARIO EL USO DE ESTRATEGIAS DE TESTEO? Revisar el modelo de contenido de la aplicacin web. Revisar el modelo de interfaz, para asegurar que todos los casos de uso han sido considerados. El modelo de diseo de la aplicacin web es revisado para descubrir los errores de navegacin. En la interfaz de usuario se verificar errores en la presentacin y / o de navegacin manual. Verificar los componentes funcionales por unidades. Navegacin a travs de la arquitectura. Planificacin en las estrategias de testeo? Es razonable. Ocasionalmente es posible hallar ms errores en las pruebas adhoc. Planificacin de la prueba Cunto es necesario? Lo razonable. Solamente se podra justificar la minimizacin de pruebas de verificacin en sistemas pequeos.

Objetivo de las pruebas: Detectar errores para corregirlos

- Contenido entregado al cliente - Base datos (integridad de datos)

Nivel sintctico: Ortografa y el buen uso del idioma En documentos de texto e imgenes/multimedia Nivel Semntico: Consistencia de la informacin presentada Es la informacin actualizada y precisa los hechos? Est la informacin concisa y al grano? Es el diseo de los objetos de contenido fcil para el usuario de entender? Puede la informacin incluida en un objeto de contenido se encuentra con facilidad? Tener las referencias adecuadas ha proporcionado toda la informacin procedente de otros fuentes? Es la informacin que se presenta internamente consistente y coherente con la informacin se presentan en objetos de otros contenidos? Puede el contenido debe interpretarse como ofensiva o engaosa, o se abrir la puerta a un litigio? El contenido infringe los derechos de autor o marcas existentes? El contenido contiene enlaces internos que complementan el contenido ya existente? Son los vnculos correctos? Tiene el estilo esttico de los contenidos conflicto con el estilo esttico de la interfaz?Objetivo de las pruebas: Detectar errores en los contenidos de la aplicacin web

`

En muchas aplicaciones web el contenido es dinmico. Y mucho de lo que se construye e implementa depende del contenido de la base de datos, y la construccin de objetos se hace en tiempo real. Por lo cual puede decirse que la BD esta estrechamente ligada a la presentacin web.

Que tipo de errores de contenido podran estar relacionados con una base de datos? ` Pressman menciona la no coincidencia de la informacin visualizada con la existente en BD

500 300 250

A1 A2 A3 Agencia A1 A2 A3

Ao Contable 2008 2009 2010 110 180 210 130 200 50 80 90 80

Total 500 380 250

A1 A2

A3

250 400

500

Extraas divergencias entre grficos que supuestamente presentan la misma informacin

Si este caso se presentare, podramos corregir el error, porque?... Pues porque lo podemos detectar visualmente

`

Cuando la informacin no es mostrada en una interfaz grfica al usuario.Ejemplo: Cuando usted retira informacin del cajero automtico puede visualizar grficamente la informacin: Saldo = Saldo Retiro 1Lgica web

WebApp BD`

Cuando la Base de datos esta localizada en una estacin remota, diferente a la que aloja la aplicacin web.La comunicacin de estacin a estacin es crtica, un problema de comunicacin podra afectar la coherencia de la data 2 WebApp Data BD

Host A`

Host B

La aplicacin Web recibe informacin de la BD, y la transforma para su transmisin hacia el cliente.3Data con formato

WebApp Data BD

Host A

Host B

`

Compatibilidad el objeto de datos con formato, con las diferentes configuraciones del cliente4

Cliente modo X

Objetos con Datos

WebApp Data BD

Host ACliente modo Y

Host B

Los objetos de datos con formato deberan poder desempearse adecuadamente con cualquiera de las distintas configuraciones de los clientes

Cliente modo Z

En resumen, validamos: Informacin transferida en la comunicacin cliente/servidor Ejecucin de Scripts en la WebApp. Transferencia de informacin formateada Comunicacin adecuada con el Servidor de datos

Transformacin de datos Administrador de datos Acceso a Datos

WebApp

Interfaz de Usuario

Base de Datos

La interfaz se verifica y valida en dos fases del desarrollo de la aplicacin: ` Diseo: Comunicacin, modelado y diseo propiamente dicho ` Implementacin: validacin del comportamiento y funciones. Se verifica la sintaxis, semntica, la facilidad de uso, etc. Se verifica en una interfaz: ` Mecanismos de interfaz: aspectos netamente de la interfaz, funcionamiento de enlaces (navegabilidad), Ingreso de datos.`

Se verifican aspectos funcionales: Funcionalidad de la interfaz, navegabilidad de acuerdo a las especificaciones, etc.

`

`

Evala qu tan bien el diseo se hace cargo de los usuarios, ofrece una direccin clara, ofrece retroalimentacin, y mantiene la coherencia del lenguaje y el enfoque. Se pueden usar los modelos de diseo y/o casos de uso concebidos en el diseo

Adems, la prueba de la serie ` debe incluir la seleccin del men y el uso indebido enlace. La intencin es determinar si la aplicacin web proporciona el manejo de errores y recuperacin eficaces.

` `

` ` ` ` ` ` `

Links: funcionan? Scripts del cliente: Codigo ejecutable en el lado del cliente que se encarga de ingreso de datos (VBScript, JavaScript, html) Forms: Los datos corresponden a los campos de datos? Html dinmico: adecuada relacion con las archivos de estilo CSS, y scripts? Menus pop-up: los menus se presentan adecuadamente? Scripts del lado del Servidor: php, java, asp Links de descarga Cookies. Se almacenan y destruyen segn corresponde (autenticaciones, etc.). Mecanismos de interfaz, ej. Carrito de compras, etc.

Cookies de seguridad Ventana que graba y destruye cookies Ventana que lee cookies

Funcionan los botones?

Las imgenes se muestran adecuadamente?

`

`

`

`

`

Reglas generales de diseo: tipo de letra, colores, marcos, imgenes, plantillas, etc. Reglas individuales por interfaz (por c/u). Similar a la prueba de una unidad. La interfaz se verifica a plenitud. Scripts, html, lgica de aplicacin, etc. Integracin de interfaces. Se verifican que las interacciones o casos de usos de cumplan Prueba integral de la aplicacin. Se verifican todos los casos de uso en los que intervienen las interfaces. Prueba de compatibilidad: se verifica la correcta ejecucin de la WebApp en diferentes entornos y/o navegadores web. Tambin se verifica el adecuado funcionamiento con las configuraciones diversas.Index.html

Page1.php

Page2.php

Page3.php

Page4.php

Page5.php

Page6.php

Page7.php

Page8.php

Page9.php

Usabilidad Compatibilidad Navegabilidad Configuracin Seguridad Performance (rendimiento)

`

Consiste bsicamente en: Pruebas de usuarios de interfaz. Debemos determinar que tan bien se adapta la interfaz al usuario tratamos de responder a la pregunta La interfaz puede usarse correctamente? No habrn mensajes que se presten a confusin? Medir usabilidad es bsicamente medir si la WebApp cubre las necesidades del usuarioConstantine, L., What Do Users Want? Engineering Usability in Software, Windows Tech Journal, December 1995, www.foruse.com. (accessed August 13, 2007).

`

En las pruebas de usabilidad deben participar los usuarios finales. Se sugieren los siguientes pasos: Definir un conjunto de objetivos/metas de la evaluacin Definir un conjunto de pruebas (testeos) para cada uno de los objetivos/metas definidas previamente. Registrar (anotar) los sucesos ocurridos en la interaccin de los usuarios con la aplicacin web Desarrollar los indicadores de evaluacin de usabilidad para la WebApp. Reducir al mnimo las medidas subjetivas y/o apreciaciones subjetivas.

`

Indicadores de usabilidad para una Web App - Fcil de usar? - Fcil de entender? - Predecible?

` `

La WebApp debe operar dentro de los ambientes que se diferencien entre s. Los diferentes parmetros de compatibilidad a consideran deberan ser: arquitectura de ordenadores, dispositivos de pantalla, sistemas operativos, navegadores, y de la red, resoluciones de pantalla, velocidad de conexin Algunos navegadores, tales como Internet Explorer suelen exceder a las normas estndar del World Wide Web Consortium (W3C). Los navegadores, ocasionalmente producen distintos resultados a un mismo cdigo html.

`

`

`

Las pruebas de compatibilidad consiste en la verificacin del mismo comportamiento cuando varan todas esas caractersticas de los dispositivos hardware y software que sirven de plataforma de alojamiento a las aplicaciones web.

El World Wide Web Consortium, abreviado W3C, es un consorcio internacional que produce recomendaciones para la World Wide Web las mismas que son consideradas Estndares en Web.

Es el conjunto de pruebas orientadas a descubrir errores en las funciones de la WebApp.`

Particiones equivalentes: el dominio de la entrada de datos se subdivide en categoras Categora 1 Nombre: Juan 1 Edad: 25 Lgica web Categora 2 Nombre: Luis Edad: 45

WebApp BD

`

Anlisis de valores lmites. Los formularios de datos son sometidos a valores crticos y/o extremos y se verifica su comportamiento Categora 1 Nombre: A?xz4 Edad: 180 Nombre: LXT%a Edad: 01

Lgica web

Categora 2

WebApp BD

`

Ruta de prueba. Si la funcionalidad es compleja, se disean pruebas secuenciales que permitan verificar el cumplimiento de todos las bifurcaciones posibles de acciones de los componentes Caso 1 Nombre: A?xz4 Edad: 180 Nombre: LXT%a Edad: 0

Page1.php Page1.php

infoX?

Page2.php

infoY?

Page3.php

infoZ?

Caso 2

Page2.phpinfoX? infoY?

Page4.php

infoZ?

`

`

La primera fase del testeo de navegabilidad se produce en la verificacin de la interfaz, donde se verificaron links, redireccionamientos, frames, etc. El diseo de la navegabilidad consiste bsicamente en agrupar contenidos para ser explorados (Pressman los llama Unidades de Navegacin Semantica o NSU). Estas NSU son un conjunto de rutas de navegacin, agrupadas en base a la relacin de la informacin que representan. El equipo de desarrollo Web debe verificar: Hay errores en los NSU? Se accesa adecuadamente a cada Nodo de navegacin (NSU)? Existe un mecanismo (que no sea la flecha hacia atrs del navegador) para volver al nodo de navegacin anterior y al inicio de la ruta de navegacin? Existen mecanismos para la navegacin dentro de un gran nodo de navegacin (por ejemplo, el ancla de enlaces junto a una pgina Web de longitud) funciona correctamente? Si una funcin se va a ejecutar en un nodo y el usuario elige no proporcionar de entrada, puede bloquearse el acceso al resto de la NSU? Si una funcin se ejecuta en un nodo y se produce un error en el procesamiento de la funcin, puede ser completado el NSU? Hay alguna manera de interrumpir la navegacin antes de que todos los nodos hayan sido alcanzado, pero luego regresar al lugar donde la navegacin se suspendi y proceder a partir de ah? Es accesible cada nodo del mapa del sitio web

` ` ` `

`

`

`

`

`

`

Se refiere a las modificaciones en los parmetros de configuracin de la WebApp, en donde, se considera los de la plataforma de alojamiento de la misma.

Aqu mencionamos algunas de las preguntas a dilucidar en esta seccin: ` Es la aplicacin web totalmente compatible con el sistema operativo del servidor? ` El sistema de archivos, directorios, y datos relacionados estar disponible para correctamente cuando la aplicacin web est en funcionamiento? ` Las medidas de seguridad del sistema (por ejemplo, firewalls, o cifrado) no interfieren con la correcta ejecucin de la Aplicacin web, ni con su rendimiento? ` Los scripts del lado del servidor se ejecutan correctamente?

` ` ` `

Las pruebas de seguridad son complejas. Las consideraciones son: Hackers: por ejemplo bloqueos de la pagina web empresarial, corrupcin de la data, etc. Empleados descontentos Competidores deshonestos

Los puntos comnmente considerados son: ` Firewalls o cortafuegos. Es un mecanismo de hardware y software que verifica cada paquete de datos para asegurarse que su origen es de fuentes confiables. ` Autenticacin. Verificacin de todos los clientes y servidores que permite la comunicacin solo cuando ambas partes estn plenamente identificadas. ` Autorizacin. Autorizacin de acceso al sistema en los niveles que correspondan solamente a los debidos usuarios registrados. ` Cifrado de la data. Sistemas de codificacin que permiten proteger la confidencialidad de la informacin. En lo relativo a performance verificamos caractersticas tales como: velocidad de respuesta, salidas adecuadas a fallos del sistema, etc.

Las pruebas de rendimiento estn diseados para simular situaciones del mundo real de carga. A medida que el nmero de usuarios simultneos aplicacin web crece, o el nmero de transacciones en lnea aumenta, o la cantidad de datos (descarga o subida) aumenta, el rendimiento prueba le ayudar a responder las siguientes preguntas:` `

` ` ` ` ` `

El tiempo de respuesta del servidor degenera hasta el punto donde es notable e inaceptable? En qu momento (en trminos de usuarios, transacciones, o la carga de datos) el rendimiento ha llegado a ser inaceptable? Qu componentes del sistema son responsables de la degradacin del rendimiento? Cul es el tiempo medio de respuesta para los usuarios en una variedad de condiciones de carga? La degradacin del rendimiento tiene un impacto en la seguridad del sistema? Es la fiabilidad o exactitud de la aplicacin web afectada cuando la carga del sistema crece? Qu ocurre cuando se aplican cargas mayores a las de la capacidad mxima del servidor? Cul es el impacto de los malos resultados en los ingresos de la compaa?