Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA

Ingeniería Web antes de comenzar a construir es mejor que se entienda el problema, analice y diseñe una solución factible, se la implemente en una forma sólida y con pruebas amplias. Para este objetivo se debe: - Formular el problema - Planificar - Modelar los requisitos - Diseñar la solución - Construir con tecnología y herramientas especializadas - Evaluación por parte de los usuarios (técnicos, como empresariales). Atributos de las aplicaciones basados en Web (WebApp) Los sistemas basados en Web involucran una mezcla entre publicación impresa y desarrollo de software, entre marketing e informática, entre comunicaciones internas y relaciones externas y entre arte y tecnología. Características: - Intensidad de red (Internet, intranet, extranet) - Concurrencia (gran numero de usuarios tienen acceso al mismo tiempo) - Carga impredecible (el numero de usuarios puede variar de un día a otro) - Desempeño (tiempo en ingreso y navegación) - Disponibilidad (24x7x365) - Gobernada por los datos (proveen gran cantidad de información) - Evolución continua / Inmediatez (la agilidad para poner productos/servicios) - Seguridad (para el manejo transaccional) - Sensibilidad al contenido / Estética / Temporalizable: calidad y naturaleza estética de su contenido - Personalizable (ya sea la propia WebApp o el usuario personaliza su navegación, contenido de acuerdo a sus necesidades específicas) - Soporte (ayuda en línea, grupos de discusión y vínculos relacionados). Proceso de Ingeniería Web Debido a que la Internet cambio la prioridad principal de desarrollo de que a cuando; el proceso debe ser realizado bajo una filosofía de desarrollo ágil, en el cual se incorpora rápidos ciclos de desarrollo. El Marco de trabajo de IWeb debe considerar: adoptar el cambio, aliente la creatividad, construyendo sistemas con pequeños equipos de desarrollo, con un desarrollo evolutivo/incremental, administrar el riesgo y usar cortos ciclos de desarrollo. Se pueden utilizar varios tipos de procesos como XP (programación extrema, MSF (Microsoft solution Framework) o una personalizada ágil IWeb. Comunicación con el cliente - Análisis del negocio (análisis del contexto empresarial-organizativo para la WebApp) o Identifican a los participantes o Predicen potenciales cambios en el ambiente y requisitos o Se definen integración entre la WebApp y otras aplicaciones del negocio, bases de datos - Formulación o Recopilación de requisitos Planeación Se definen tareas y un calendario de plazos, asignando responsables y/o ejecutores. Se define la línea base para efectos de control de cambios Modelado Se mezclan las funciones de análisis y diseño para crear el modelado IWeb. - Análisis de requisitos o Definir el contenido que tendrá la WebApp o Funcionalidad que se presentara al usuario o Modos de interacción de cada clase de usuario al momento de navegar - Diseño o Diseño de contenido/aplicación o Diseño de arquitectura de la información o Diseño de interfase o Diseño de la navegación

1

2 .Se pide a los usuarios que ordenen como gustaría que se les organizara el contenido y su funcionalidad . De estas especificaciones se podrán definir perfiles de usuario. Para esta comunicación se usan varios mecanismos como: . navegación) Despliegue (entrega y retroalimentación) . 3. Preguntas para la formulación ¿Cuál es la principal motivación (necesidades del negocio) para la WebApp? ¿Cuáles son los objetivos que debe satisfacer la WebApps? ¿Quién usará la WebApp? De esto se podrá ahora especificar metas informativas y aplicativas como: Informativa: “el sitio proporcionara a los usuarios especificaciones de producto detalladas que incluyan descripciones técnicas.Se debe categorizar en clase de usuario y tipos de transacción . Definir casos de uso que describan escenarios de interacción para cada clase de usuario (de la jerarquía de usuarios).grupo muestral tradicional (presencial con un grupo de personas) . exponiendo los objetivos de la WebApp. arquitectura.Programación de acuerdo al modelado .configuración para su ambiente operativo .Cuales son los antecedentes y la pericia del usuario en relación al contenido y la funcionalidad de la WebApp? . interfase.construcción de escenarios.Cual es objetivo global del usuario cuando usa la WebApp? .definir escenarios de interacción para diferentes clases de usuarios. pero por lo general también se exponen detalles o especificaciones que el cliente y el Ingeniero Web desean hacerlo. y si adaptamos a WebApp los objetivos serán: . Con esto se definirá el ámbito para la WebApp. FORMULACION Y PLANEACION PARA INGENIERIA WEB Dentro del Marco de trabajo de Ingeniería Web se inicia con la formulación y planificación.entrevistas interactivas (electrónicos. definiendo grandes características y funciones. Esto servirá para el análisis y pruebas.” Aplicativa: “el sitio consultara al usuario acerca de la instalación (casa. Pedir a los clientes que definan las categorías de usuario y describan cada categoría . instrucciones de instalación y precios. recopilando los requisitos que conducen al desarrollo del modelo de análisis.Así como también listar las etiquetas que utilizaremos para enlazar a estos contenidos y funciones 4. La Formulación Inicia con la identificación de las necesidades del negocio. a usuarios seleccionados se les pide que describan interacciones específicas con la WebApp.retroalimentación y ajustes. Si bien en la formulación se deben exponer las grandes necesidades.Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA Construcción . Unido a estos cinco pasos para un proceso incremental debe ir acompañado de los puntos básicos de administración de cambios y riesgos.Pruebas rápidas (contenido. Recopilación de requisitos para Web Se puede recopilar por medio de una Ingeniería de requisitos común. Los pasos para esta recopilación de requisitos: 1. comunicarse con los clientes para definir los requisitos básicos de la WebApp.identificar requisitos de contenido . También identifica el ámbito de esfuerzo de desarrollo así como la forma de cómo determinar un resultado exitoso. exploración) (desde sitio web o correo electrónico) .identificar requisitos funcionales . Se describe como interactúa cada categoría de usuario (actor) con la WebApp para lograr una acción específica. oficina) que será protegida y realizara recomendaciones personalizadas acerca del producto y la configuración que se utilizara”.Se debe desarrollar lista de objetos de contenido y las operaciones que se aplican a estos contenidos dentro de una transacción de usuario especifico . Analizar la información recopilada y utilizar la información para realizar un seguimiento con los clientes .evaluación por parte del usuario .Que características genéricas de la WebApp le gustan y/o disgustan al usuario? 2.

Se listan los requisitos de contenido y funcionales.Inicio de proyecto  Identificar el publico para la WebApp.Selección entre subcontratistas candidatos  Comprobar con clientes anteriores sobre el profesionalismo del subcontratista  Determinar los nombres de los Ingenieros Web que realizaron con éxito los proyectos  Examinar trabajos similares . funcional. aseguramiento de calidad.Desarrollar una estimación rápida. imágenes graficas. se identifica la motivación (metas) y objetivos básicos para la WebApp.Establecer el plan. Recopilación de requisitos. tipos de procesamiento interactivo  Elaborar un plan aproximado que incluya las fecha finales y claves  Crear una lista de responsabilidades para la organización interna y la subcontratista  Identificar el grado de supervisión e interacción de la organización con el subcontratista (definir claramente los contactos de cada parte) . Modelo de Análisis para las WebApps modelado de Contenido modelado de Interacción (como interactúa el usuario con la WebApp) modelado funcional (operaciones de contenido y de procesamiento) modelado de Configuración (ambiente e infraestructura) análisis relación-navegación - - El Modelo de Contenido Este modelo contiene los elementos estructurales que son necesarios para satisfacer los requisitos de contenido de la WebApp. identificando el tipo y volumen de contenido. el equipo de trabajo es multidisciplinario. se procede con el modelado de contenido. fotografías. quien la usará. un camino es la subcontratación y otro es el desarrollo en casa (in-house). configuración y navegación. y que problema resolverá a sus usuarios.Es importante mencionar que el ámbito podrá cambiar constantemente. las dimensiones de cambio y las restricciones del proyecto . audio.Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA Planeación En un proyecto IWeb.Entender el ámbito. se destacan Web competidores. Planeación de WebApp con subcontratación: . MODELADO DE ANALISIS PARA APLICACIONES WEB que información o contenido se presentará o manipulara? Que funciones realizará el usuario final? Que comportamientos exhibirá la WebApp conforme presente contenido y realice funciones? Requisitos para el análisis de las WebApps Formulación. se desarrollan escenarios de iteración (casos de uso). y formas de medir cualitativa y cuantitativa si la web es exitosa  Desarrollar internamente un diseño aproximado de la WebApp. 3 . Planeación de WebApp en modalidad in-house: . es poder saber como valorar los entregables (si se completaron).Coordinar la gestión del proyecto con el subcontratista. control de cambios y métodos de comunicación efectiva . puntos de comprobación e hitos. La intención es el resolver el por qué se construirá la WebApp. metas globales. etc. como son las clases de contenido por ejemplo texto.Establecer un conjunto de tareas (descripción del proceso) . valorar riesgos. debe tener una dosificación de acuerdo al tamaño del proyecto.Definir mecanismos de rastreo del proyecto. aquí deben acordarse tareas. interacción. con esto se podrá saber a nivel macro si podrá desarrollarse con recursos disponibles .Definir la estrategia del proyecto incremental . imágenes video. por lo que se suele “congelar” o versionar para poder tener entregables. Modelado de análisis. Dos alternativas al momento de construir una WebApp. incluyendo las tareas antes descritas y estableciendo fechas de entregables .Evaluación del programa del proyecto. así como la definición de categoría de usuarios. información y servicios que proporcionara la WebApp. aquí se intensifica la comunicación entre el Ingeniero de Software y los expertos del negocio. cuando son cortos los controles llegan a ser hasta diarios . luego de la formulación y recopilación de requisitos.

confiabilidad. Si bien la creación del prototipo de interfaz de usuario es una actividad de diseño. por lo que se deben especificar las características de hardware y software soportados. .diagramas de estado (tres dimensiones). Esto se lo hace al detalle a nivel del diseño. en esta etapa se consideran los requisitos de navegación globales mediante las siguientes preguntas: MODELADO DE DISEÑO PARA APLICACIONES WEB Introducción de diseño En pequeños WebApp deben invertirse poco tiempo en el diseño porque se asume que los WebApp tienen la característica de inmediatez y volatilidad.análisis de relaciones: se describe las relaciones entre elementos WebApp . así como las estructuras de navegación apropiadas sobre estos vínculos. facilidad de mantenimiento. así como también especificar las interfaces bien definidas y seguras para la interacción con las bases de datos y el resto de aplicaciones de la empresa y asociadas. El ARN se organiza en cinco pasos: .Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA Así como todas las clases de análisis visibles para el usuario que se crean para la interacción con la WebApp. El diseño para Ingeniería Web es una mezcla adecuada de estética. contenido y tecnología que descansa en una pirámide de 6 niveles que son los pasos a seguir en el Diseño. funcionalidad. muestra a más del comportamiento una información acerca de los patrones de navegación potenciales que no proporciona los casos de uso y diagramas de secuencia.casos de uso (proporcionan una visión unidimensional de la interacción) .prototipo de interfaz de usuario. Estas se derivan del análisis gramatical de los casos de uso. Se debe considerar los requisitos que dictan como navegara cada categoría de usuario de un elemento a otro. Sin embargo en WebApp más grandes (más de 100 objetos) deben invertirse más tiempo porque debe aplicarse la calidad al software. Pirámide del Diseño IWeb. 4 . A estos requisitos les podemos adicionar otros como: seguridad.análisis de evaluación: considera temas pragmáticos como por ejemplo: costo/beneficio asociados con la implementación de las relaciones definidas en los dos pasos anteriores. disponibilidad. El ARN (análisis relación navegación) sirve para determinar la estructura de relación de la aplicación (relaciones potenciales en los dominios que pueden implementarse como vínculos más adelante). eficiencia.análisis de los participantes: identifica las diversas categorías de usuario. Para definir los requisitos de navegación siempre el usuario debe saber dónde está y a donde va. Análisis de navegación. .análisis de navegación: examina como los usuarios pueden acceder a elementos individuales o grupos de elementos . escalabilidad. meta-información y navegaciones adicionales. Análisis relación-navegación Se deben establecer los vínculos apropiados entre los objetos de contenido y las funciones. sin embargo. El Modelo de Interacción Las WebApp que proveen “conversación” con el usuario final deben ser modelado su interacción por medio de cuatro elementos: . Esta calidad de software WebApp cuenta con varios requisitos que deben cumplirse como son: facilidad de uso. se recomienda hacerlo ya en el análisis (mientras más pronto mejor) porque se pueden obtener requerimientos adicionales al momento que el usuario vea el prototipo El Modelo de Configuración Las WebApps deben ser construidas para que funcionen en una diversidad de ambientes (clientes y servidores).análisis de elementos: se identifica los objetos de contenido y los elementos funcionales. .diagramas de secuencia: (maneja dos dimensiones) representación abreviada de la forma como interactúa las acciones del usuario con las clases de contenido y análisis .

Anticipación.guiar al usuario a través de una serie de interacciones con la WebApp . libre de errores y funcional. Las interfaces efectivas son comprensibles y ofrecen al usuario una sensación de control. Rapidez de lectura.establecer una ventana consistente con el contenido y funcionalidad que proporciona .Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA Diseño de la interfaz de la WebApp Toda interfaz de usuario debe tener las características: fácil de usar. No preocupa al usuario final de trabajos internos (le es transparente). actividad y de estado) 5 . Definir un conjunto de tareas de usuario que estén asociadas con cada acción.Dónde estoy? o A que se ha tenido acceso o Informar la ubicación en la jerarquía de contenido . revisar la información contenida en el modelo de análisis y refinarla conforme se requiera 2. desarrollar el bosquejo de la plantilla de la interfaz de la WebApp 3. intuitiva. Eficiencia. ofreciendo al usuario final una experiencia satisfactoria y gratificante. Reducción de latencia. Evitar signos de construcción. fácil navegar. correlacionar los objetivos del usuario con acciones especificas de la interfaz 4. consistente.organizar las opciones de navegación y el contenido disponible para el usuario. contenido relevante) . Objetos de interfaz humana. Comunicación . Opciones de navegación deben ser obvias Flujo de trabajo para el diseño de la interfaz: 1. vínculos vivos. a donde voy? o Facilitar la navegación o Facilitar un mapa (implementado de forma fácil de entender). Metáforas. (cada acción del usuario por ejemplo comprar un producto está relacionado con un conjunto de tareas que fueron identificadas en el análisis y ahora en el diseño se las correlaciona su interacción para identificar asuntos de navegación. fácil de aprender (en Web no debería haber capacitación). Principios del diseño de la interfaz. Los usuarios prefieren no desplazarse. Navegación visible. Ley de Fitt. Consistencia . Legibilidad. Refinar la plantilla de la interfaz y los bosquejos con el uso de diseño estético (con la ayuda del diseñador grafico) 7. Los objetivos de una interfaz WebApp son: . El diseño de la interfaz inicia con el desarrollo de las jerarquías de usuario El Ingeniero Web debe diseñar la interfaz de modo que conteste a las siguientes preguntas (conforme navegue el usuario en la Web): . Autonomía. Con la finalidad de cumplir con esto se plantean los siguientes principios: . Menús de navegación y los encabezados deben estar diseñados de manera consistente. La estética no debe sustituir la funcionalidad. Facilidad de aprendizaje. así como realizan el máximo trabajo mientras demandan un mínimo de información a los usuarios. Flexibilidad. objetos de contenido y funciones) 5. Estado de rastro. Desarrollar una representación de procedimiento (comportamiento) de la interacción del usuario con la interfaz (es opcional. Identificar los objetos de la interfaz del usuario que se requieran para implementarla 8. eficiente.Donde he estado. Elaborar bosquejos con imágenes de la pantalla para cada acción de la interfaz 6. se puede representar con UML: diagramas de secuencia.Que puedo hacer ahora? o Indicar sus opciones actuales (funciones disponibles. Mantener la integridad del producto de trabajo.

video.del Ingeniero Web que diseña los objetos de contenido y sus relaciones . Cuando el contenido está organizado categóricamente en dos o más dimensiones. manejo de tareas internas.resaltar el contenido. Describir la plantilla de la interfaz para cada estado (es opcional. .Estructura en retícula.Estructura jerárquica.Controlador: gestiona el acceso al modelo y vista y coordina el flujo entre ellos.del diseñador grafico o publicista que se ocupa de la representación de la información del objeto de contenido. .Modelo: el contenido de la aplicación y la lógica de procesamiento. este enfoque es el más flexible pero al mismo tiempo puede ser el más confuso. contenido y función geográficamente dentro la pagina (los humanos buscamos patrones virtualmente en todas las cosas. Arquitectura de WebApp Aquí se describe la infraestructura que va a tener la solución WebApp. debe ser hecho por un “artista” o especialista en diseño grafico. sin embargo hay que tener cuidado con esta funcional adicional porque pueden causar confusión al usuario.Los medios audiovisuales (imágenes. navegación. (el 80% debe ser contenido y el resto para la navegación y otras características) . Diseño Arquitectónico El diseñador arquitectónico debe identificar la arquitectura de contenido (como se estructura los objetos de contenido para su presentación y navegación) y arquitectura de WebApp (la estructuración de la aplicación para gestionar la interacción con el usuario. Diseño Estético (gráfico) También conocido como diseño grafico. por lo que se debe conservarse un orden.Agrupar navegación. en donde su flujo de control es vertical por medio de las ramificaciones verticales.Considerar la resolución y el tamaño de la ventana de navegador cuando se diseñe la plantilla (1280x800) . .Estructura lineal.Preferible no permitir el uso de la barra de desplazamiento (la de arriba hacia abajo. Una vez que se detallan todos los objetos de contenido se deben diseñar la parte estética (apariencia y percepción adecuada). Arquitectura de Contenido Se centra en la definición de la estructura hipermedia global de la WebApp. desde aquí se acceden a los datos .Estructura en red. efectuar navegación y presentar el contenido).Organizar los elementos de plantilla de arriba a la izquierda hacia abajo a la derecha (la mayor prioridad se la coloca a arriba a la izquierda) . pero adicionalmente pueden tener control (flujo) horizontal por medio de ramificaciones de hipertexto pudiendo pasarse de una rama a otra directamente. . sonido) utilizados deben ser de lo más liviano posible para evitar paginas lentas (considerar la realidad del servicio de Internet de la región del usuario). Refinar y revisar el modelo de diseño de la interfaz (revisar toda la interfaz para confirmar que exista consistencia y por sobre todo facilidad de uso).Vista: contiene las funciones especificas de la interfaz usuario . Para realizar esta fase se debe regresar a la jerarquía de usuarios desarrollado en el análisis. está diseñado para poder navegar por medio de vínculos de hipertexto virtualmente a cualquier pagina del sistema. se procede con la inserción de atributos específicos de implementación propios del diseño.Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA 9. Cuando existe una secuencia predecible de interacciones (con alguna variación o desviación). . comportamiento de la aplicación y de los datos. así como se debe estructurar el numero de objetos que se insertaran en una página web conforme las necesidades del usuario y las restricciones impuestas por rapidez en descarga y conexiones de Internet. y mucho menos la de izquierda a derecha) . Luego del modelo de contenido en el análisis que se especificaron ciertos atributos de las clases de contenido. 6 . Diseño de Contenido Se enfoca desde dos puntos de vista: . No existen reglas absolutas para el diseño de plantillas. si realizo el paso 8. porque caso contrario el usuario tendrá una frustración en la búsqueda de información) . preguntando quienes son los usuarios de la WebApp y que “apariencia” desean. Denominada “Web pura”. sin embargo se enumeran los siguientes lineamientos generales: . en función del paso 2 y 5 se debe especificar las plantillas para cada estado) 10. sin embargo todas llevan el concepto de “multicapa”. que desacopla la interfaz del usuario de la funcionalidad WebApp y del contenido de la información. Existe una variedad de formas de diseñar esta arquitectura/infraestructura. La arquitectura MVC Modelo-Vista-Controlador es usada por varias soluciones WebApp. Son las más comunes. que separan el manejo de la interfaz usuario.no temerle al espacio vació .

iconos. En la mayoría de casos se elige navegaciones horizontales o verticales pero no ambas a la vez. en estos USN se describen los requisitos de navegación. aquí se muestra como el actor se mueve entre los objetos de contenido y la funcionalidad WebApp. Semántica de Navegación: identificar la semántica “sentido” de navegación para los diferentes tipos de usuarios. Es decir. Para esto se debe tomar en cuenta la semántica y sintaxis de la navegación.Principio del Cierre Común (PCC): las clases que cambien juntas deben permanecer juntas. Estos componentes deben ser diseñados bajo los principios: . ATM.). Para esto deben juntarse clases que atiendan la misma área de función o comportamiento.Pestañas: es una variación de la de barra o columna pero que dan la sensación de marca .La arquitectura de la WebApp se ha diseñado para acomodar las metas y objetivos de los usuarios. etc.Principio de Equivalencia entre Reutilización y Versión (PER). las reglas de negocio.Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA Otra de las alternativas de arquitectura es basada en el concepto de “multicanal” llamada Arquitectura Middleware. Sintaxis de Navegación: se define la “mecánica” de navegación. Diseño Navegación Una vez establecido la arquitectura de la WebApp.La interfaz del usuario promueve la facilidad de uso? . la estructura de contenido y funcionalidad y flujo de navegación requerido para usar el sistema de manera efectiva? .Principio de Abierto Cerrado (PAC). Diseño a nivel de Componentes El diseño de componentes para WebApp se los hace de manera similar que para los sistemas convencionales orientados a objetos (sensibles al cambio y reducen la propagación de efectos secundarios cuando ocurren cambios). acceso a datos y otros sistemas. bajo el concepto de reutilización por todos los canales. PRUEBAS EN APLICACIONES WEB Como en todo software desarrollado. . debe aplicarse un plan de pruebas desde el inicio y no esperar al final del proyecto para detectar errores. esto se lo toma de las categorías de usuario y se desarrolla un USN (Unidades Semánticas de Navegación) para cada caso de uso. Agrupar las clases reutilizables en paquetes que pueden manejarse y controlarse a medida que evolucionan nuevas versiones. debiendo responder a las siguientes preguntas: .Mapas de sitio: proporciona una tabla de contenido incluyente para la navegación hacia todos los contenidos y funcionalidad de la WebApp. Kiosco. Celular. Este principio va relacionado también con el principio que las clases que no se reutilizan juntas no deben agruparse juntas. Métricas de diseño para WebApp Las métricas de diseño deben ser creadas para facilitar al Ingeniero Web para medir la calidad de una forma cuantitativa/cualitativa.Barra de navegación horizontal: la lista de principales categorías de contenido o funcionales en una barra (de cuatro a siete categorías) . botones y metáforas graficas . en donde igualmente está separado la interfaz usuario. no se debe tener una sola interfaz que tengan una variedad de funcionalidad que los diferentes tipo de cliente ocupan solo una parte de ella.Columna de navegación vertical: similar a la horizontal con la particularidad que al momento de seleccionar una puede expandir a subcontenidos en forma de árbol . de las reglas del negocio y datos.La estética de la WebApp es apropiada para el dominio de la aplicación y confortable para el usuario? . .La navegación es eficiente y directa? . pero aquí ya no solo se diseña pensando en un único front-end Web sino mas bien en varios canales que pueda proveer el servicio (Web. esto exige que toda subclase se apegue al contrato de la superclase.Principio de Segregación de la Interfaz (PSI). teniendo varias opciones como: . . .vinculo de navegación individual: que son vínculos basados en texto.Principio de Sustitución de Liskov (PSL). Es así que metodologías de proyectos como MSF tienen dentro de su planificación general del 7 . La capa Middleware contiene manejo de interfaces.Los componentes están diseñados en una forma que reduce la complejidad de procedimientos y aumenta la confiabilidad y el desempeño?. Debe estar abierto para extensión pero cerrado para modificación. se diseña las rutas de navegación que utilizaran los usuarios al acceder al contenido y las funciones WebApp. pues estos varían más bien por su ambiente de implementación y marcos de trabajo. Permita al componente seguir funcionando si se cambia el uso de clase principal a una clase derivada.El contenido está diseñado en una forma que proporciona la mayor información con el menor esfuerzo? . PDA. Es mejor tener muchas interfaces específicas del cliente que una interfaz de propósito general. el control de flujo.

revisar el modelo de interfaz para confirmar que todos los casos de uso se pueden acomodar 3. en este plan se identifican: . se hacen pruebas de desempeño para valorar como afecta el aumento del tráfico. errores de contenido.navegabilidad: comprobar la sintaxis y semántica de navegación así como comprobar que esté controlado todo flujo. engañoso o abre la puerta a pleitos? o El contenido infringe derechos de autor o marcas registradas? o El estilo estético del contenido entra en conflicto con el estilo estético de la interfaz global? 8 . configuraciones. . se realizan pruebas de seguridad con el objetivo de encontrar vulnerabilidades 9. 8.compatibilidad: se comprueba que la WebApp funciona en varias configuraciones huésped tanto del lado del cliente como del servidor e infraestructura de seguridad . Esta evaluación que se hace para cada objeto de contenido debe el examinador responder a las siguiente preguntas: o la información realmente es precisa (concisa y exacta)? o la plantilla del objeto de contenido es fácil de entender para el usuario? o La información anidada en un objeto de contenido se encuentra con facilidad? o La información presentada internamente es consistente con la información de otros objetos de contenido? o El contenido es ofensivo. que características de uso provocan degradación. Así como también la unidad pueda ser un componente funcional. .el contenido: evaluación sintáctica (ortografía y gramática de contenido) y semántica (exactitud de la información presentada y consistencia entre objetos de contenido y objetos relacionados) . revisar la interfaz del usuario para descubrir errores en la presentación o en los mecanismos de navegación 5. etc. y que estas sean con un buen desempeño .Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA proyecto un punto dedicado a la planeación de pruebas para poder preparar los ambientes y personal adecuado para las pruebas que por cierto son de diferentes tipos. vínculos inadecuados.estructura: se comprueba que se entregue adecuadamente el contenido y la funcionalidad de la WebApp. niveles o puntuación). se prueba la WebApp en una porción de población controlada y monitoreada de usuarios finales. y cargas para saber que el software responde adecuadamente a cargas extremas .interoperabilidad: se prueba para asegurar que la WebApp realiza interfaces adecuadas con otras aplicaciones y/o bases de datos. revisar el modelo de diseño para descubrir errores de navegación 4. confiabilidad y desempeño de la WebApp.desempeño: se prueba en una diversidad de condiciones operativas. navegación. vínculos. Estrategias de Pruebas 1. navegador. Se debe hacer un plan de pruebas que por lo general se definen en el planeamiento general del proyecto. valoración. Los resultados de esta prueba servirán para mejorar la interacción. compatibilidad.) .tareas que se aplicaran en la prueba.tipo y objetivo de pruebas aplicar.seguridad: se prueba la vulnerabilidad potencial. . Se crea una matriz de referencia cruzada que define todos los probables sistemas operativos. Es importante de igual manera se debe hacer pruebas de integración entre componentes). . revisar el modelo de contenido (sintáctica y semántica) 2. para esto se aplica los casos de uso que se prueban contra el diseño de la navegación (USN) y luego con la aplicación en si 7. procesamiento. se prueba la navegación a través de toda la arquitectura. Prueba de Contenido sintáctica (ortografía y gramática de contenido) semántica (exactitud de la información presentada y consistencia entre objetos de contenido y objetos relacionados). 6. se prueba en diversas configuraciones ambientales para comprobar su compatibilidad. se prueban los componentes funcionales de forma individual (se cambia el concepto de unidad que en orientado a objetos era la clase ahora es la pagina Web que tiene encapsulado contenido. plataformas de hardware y protocolos de comunicación. cuales son los componentes responsables de la degradación y como esta degradación afecta a los objetivos y requisitos globales de la WebApp 10. etc.facilidad de uso: para cada categoría de usuario.la forma en la que se evaluara los resultados de las pruebas (métricas. facilidad de uso. que va relacionado con la sintaxis y semántica de la navegación . por ejemplo: vínculos rotos.la función: comprobar la concordancia con los requisitos del cliente .

por lo que una sugerencia seria acudir a un análisis de riesgo para obtener los casos de prueba de mayor riesgo. redirigir (destinos removidos).) . Para esto se deben observar varios factores: o Pruebas que descubran errores cometidos al traducir la solicitud del usuario en una forma que pueda procesar la DBMS o Pruebas para comprobar errores en la comunicación con la base de datos o Validar que los datos brutos provenientes de la DBMS hacia el servidor y este hacia el cliente estén correctamente formateados para crear los objetos de contenido o Probar el formato y compatibilidad de presentación de los objetos de contenido dinámico al usuario con diferentes configuraciones de ambiente del cliente Estructurales/arquitectura (que se entregue adecuadamente el contenido y la función de la WebApp. etc. Prueba de sintaxis de navegación. en el diseño (al diseñar la interfaz que garantice la calidad) y durante las pruebas donde básicamente se prueban ejecutando la aplicación. Prueba al nivel de Componentes Conocidas como pruebas de función. 9 . motores de búsqueda.Que partes del sitio tendrán mayores riesgos de seguridad?.Partición de equivalencia. ofreciendo una dirección clara. Pruebas de Navegación Las pruebas de navegación garantizan que todos los mecanismos que permiten al usuario de la WebApp viajar a través de ella sean funcionales y validar que cada USN pueda ser alcanzado por la categoría de usuario adecuada. Probar los valores máximos o mínimos de campos o atributos que maneja el componente o la función . Para esto se sugiere probar cada caso de uso (categorías de usuario) versus el diseño de la interfaz para confirmar que no hay errores y si los hubiere como los maneja y su recuperación. navegador. mapas de sitio.los mecanismos individuales de la interfaz se prueban en forma unitaria (por ejemplo se prueba html dinámico. Para esto existen algunos métodos de prueba: . activex) son los más complejos? . se procede con la prueba semántica que evalúa cuan bien el diseño se ocupa de los usuarios.Pruebas de ruta. y facilidad de uso . Como sabemos. que intentan descubrir errores en la funcionalidad de la WebApp. como por ejemplo: . cgi. Que pueda ser extensible en contenido y funcionalidad) CMS. carrito de compras.Cuales mecanismos específicos (cgi.Análisis de valores límite. Para cada caso se debe especificar la entrada y salida esperada. Los objetivos que se obtienen con las pruebas de interfaz son: . La primera prueba de navegación inicia con la prueba de interfaz. en el análisis (formulación y análisis de requisitos). plataformas de hardware). Con cada mecanismo de navegación se prueba: vínculos navegación. Para esto se debe definir un conjunto de configuraciones de computadoras cliente más comunes y en función de estas armar las pruebas. Cuyo dominio de entrada se divide en categorías o clases de entrada y a partir de estos se derivan los casos de prueba. Pruebas de semántica de la interfaz.las características de la interfaz se prueban para asegurar que las reglas del diseño. Prueba de Interfaz del Usuario La verificación y validación de la interfaz del usuario se lo hace en tres puntos del proceso.la interfaz se prueba frente cada caso de uso (USN) para descubrir errores de semántica.Cuales áreas del sitio amerita más dura interacción con la DB? . aquí se hace pruebas posibles con el código postal mientras los otros valores permanecen constantes . Una vez que se ha probado de forma unitaria cada mecanismo de interfaz. Se hacen pruebas con cada categoría mientras las otras permanecen constantes. por ejemplo en una página que importe el código postal. applets. el usuario puede tener diferentes ambientes (sistemas operativos. manteniendo consistencia de lenguaje y enfoque. Estas pruebas inicialmente son probadas por los Ingenieros Web para luego pasar que prueben los usuarios.Que áreas del sitio serán las más populares? . la estética y el contenido visual relacionado están a disposición del usuario sin error alguno . Para comprobar y garantizar que se ha ejercitado toda ruta posible en su funcionamiento. por lo que se debe hacer pruebas de compatibilidad para descubrir errores asociados con un ambiente específico.Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA - Un grupo de pruebas adicionales en cuanto a la semántica es para los WebApp que construyen objetos de contenido dinámicos que se crean en tiempo real en base a una base de datos.Que tipos de problemas causara la mayoría de las quejas o la peor publicidad? .la interfaz se prueba dentro de una diversidad de ambientes para asegurar su compatibilidad. Existen circunstancias en las que la funcionalidad es tan extensa que complica probar todas las posibles situaciones.Cual funcionalidad es la mas importante para el propósito . Pruebas de compatibilidad.

Las medidas de seguridad del sistema permiten a la WebApp ejecutarse y dar el servicio a los usuarios sin interferencia y a un buen desempeño? . Pruebas de carga.D: la carga de datos procesada por el servidor por transacción. Las pruebas deben responder a las siguientes preguntas: . proxys.La WebApp se ha probado con la configuración de servidor distribuido (cluster o balanceo de carga)? .sistemas operativos: normales y especiales para equipos móviles . Pruebas de Desempeño Se aplican para descubrir problemas de desempeño que se presentan debido a la falta de recursos en el lado del servidor.) y a poder recolectar métricas para poder modificar el diseño o acoplar soluciones (hardware/software apropiadas) para mejorar el rendimiento.Si el sistema falla. memoria. numero de transacciones. T y D se fuerzan para poder superar los límites operativos. ancho de banda de red inapropiada. realplayer. mientras que en estas pruebas de configuración se prueban un conjunto de probables configuraciones de cliente y servidores.Plug in: quicktime. De estas variables el Ingeniero Web obtiene valores promedios aceptables y si en el momento de la prueba encuentra una disminución precipitada de desempeño se debe revisar el porqué.Si se usan proxys.El servidor pone en cola las peticiones que no alcanza a resolverlas para ir atendiendo poco a poco como su capacidad lo permita? . disco)?. que son las mismas pruebas de tensión pero se lo hace muy repentino llegar o sobrepasar el límite volviendo a la normalidad y luego nuevamente sobrepasando el límite para efectos de poder comprobar cuan bien que el sistema/servidor se recupera regresando a su normalidad. las diferencias en configuraciones se han abordado?. monitor .Ciertas funciones del WebApp se descontinúan cuando el servidor llega a sus umbrales (memoria. capacidades/defectuosos de sistemas operativos. applets java.T: numero de transacciones en línea por usuario por unidad de tiempo . Modem.Cuál es el tiempo de respuesta promedio para los usuarios en una variedad de condiciones de carga? .Ingeniería de Software II – Ingeniería Web – Pablo Pintado MBA Prueba de semántica de navegación.El software emite mensajes al cliente y al soporte técnico del sitio que se no puede alcanzar el servidor? .Que componentes del sistema son responsables de la reducción del desempeño? . dispositivos de impresión. se puede tomar los casos de uso para armar casos de prueba de navegación respondiendo a las siguientes preguntas: Pruebas de Configuración En las pruebas de compatibilidad en pruebas de interfaz usuario se probaron solo del lado del cliente. Del lado del cliente: . volumen de datos. dsl.componentes de interfaz del usuario: activex. Una variación de pruebas de tensión son las llamadas pruebas pico.Las transacciones se pierden conforme se rebasa los límites? . Si no se han hecho los USN en el análisis.la WebApp es totalmente compatible con el sistema operativo del servidor? . adobe. 10 .La integridad de datos se pierde cuando se rebasa los límites? . otros . transacciones. Es una continuación de la prueba de carga. Para contestar a estas preguntas se hacen las pruebas de desempeño comunes (carga y tensión). en donde las variables N. otros . u otros conflictos de hardware o software (seguridad) que impidan un buen desempeño. capacidades inadecuadas de bases de datos.N: número de usuarios concurrentes .software de navegación . Pruebas de tensión.el sistema se degrada o el servidor se desconecta cuando se rebasa su capacidad? .hardware: cpu.en qué punto (usuarios.Los archivos de sistema.Aplicaciones que corren al mismo tiempo.Conectividad: cable. Se deben probar los USN (unidad semántica de navegación). cuánto tarda en estar en línea de nuevo? . Con esta prueba se responden a las siguientes preguntas: . Del lado del servidor: . directorios y datos de sistema relacionados se crean correctamente cuando la WebApp esta operativa? . otros . etc.La WebApp está integrada adecuadamente con la base de datos (incluyendo diferentes versiones de DB)? . Esto conducirá a comprender como el sistema responde a cierta carga (numero de usuarios activos. Para esta prueba se consideran variables: . funcionalidad mal diseñada.Que ocurre cuando se aplican cargas que rebasan la capacidad máxima del servidor?. carga de datos) el desempeño se vuelve inaceptable? . procesador.

Sign up to vote on this title
UsefulNot useful