Capitulo 20-21

20.1. ¿Existen algunas situaciones en las que la prueba de webapps deba descartarse por completo? No, nunca debería desc

Views 113 Downloads 2 File size 61KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

20.1. ¿Existen algunas situaciones en las que la prueba de webapps deba descartarse por completo? No, nunca debería descartarse por completo las pruebas de webapps, las pruebas son una de las maneras en las que se pueden llevar a cabo la verificación y la validación de una Web App, se entiende que nadie es perfecto por lo tanto cualquier software puede tener errores, y es muy importante encontrarlos en un ambiente que sea seguro y donde se pueda corregir antes de la manipulación real del cliente. 20.2. Con sus palabras, analice los objetivos de las pruebas en un contexto web App. El objetivo principal de una prueba es siempre uno, encontrar errores. En el contexto de las Web app se quiere encontrar errores en diferentes ámbitos como son la funcionalidad, estructura, en la interfaz, tiempos de respuesta, escalabilidad, entre otros. Para así asegurar la calidad de la página web y su éxito. 20.3. La compatibilidad es una importante dimensión de la calidad. ¿Qué debe probarse para garantizar que existe compatibilidad para una web App? 20.4. ¿Cuáles errores tienden a ser más serios: los que hay en el lado cliente o los del lado servidor? ¿Por qué? El servidor aparte de poder tener brechas de seguridad y acarrear problemas de rendimiento afectan a todos los clientes a nivel global. En cambio, los errores en la parte del cliente no provocan problemas de seguridad ni a nivel global y lo más probable es que no afecte a la totalidad de los usuarios, si molesta, pero no es peligroso. 20.5. ¿Qué elementos de la web App pueden recibir “prueba de unidad”? ¿Qué tipos de pruebas deben realizarse sólo después de que se integran los elementos de la web App? Se focaliza en ejecutar cada módulo (o unidad mínima a ser probada, ej = una clase) lo que provee un mejor modo de manejar la integración de las unidades en componentes mayores.

Busca asegurar que el código funciona de especificaciones y que el módulo lógico es válido.

acuerdo

con

las

20.6. ¿Siempre es necesario desarrollar un plan de prueba escrito formalmente? Explique. Un plan de prueba es una buena práctica de programación ya que con esta se puede probar el software de una forma más organizada y

ordenada. Esto ayudara al mejor funcionamiento de la aplicación desarrollada o a desarrollar. 20.7. ¿Es justo decir que la estrategia de prueba de webapps global comienza con los elementos visibles para el usuario y que avanza hacia los elementos tecnológicos? ¿Existen excepciones a esta estrategia? 20.8. ¿La prueba de contenido realmente es una prueba en el sentido convencional? Explique. Los métodos de la prueba de la caja negra son apropiados para el sistema orientado a objetos como para los sistemas desarrollados, se puede utilizar usando métodos convencionales. 20.9. Describa los pasos asociados con la prueba de base de datos para una web App. ¿La prueba de base de datos es predominantemente una actividad en el lado cliente o en el lado servidor? Capas de interacción Las pruebas deben garantizar que: 1) La información válida pasa entre el cliente y el servidor desde la capa interfaz. 2) La web App procesa los guiones de manera correcta y extrae o formatea adecuadamente los datos del usuario. 3) Los datos del usuario pasan correctamente a una función de transformación de datos del lado servidor que formatea consultas adecuadas (por ejemplo, SQL) 4) Las consultas pasan a una capa de gestión de datos que se comunica con las rutinas de acceso a la base de datos (potencialmente ubicadas en otra máquina). Por lo que pienso que las actividades predominan más en el lado del servidor ya que en la capa web App del servidor prueban y aseguran que los datos de usuario se extraigan de manera adecuada de los guiones y que se transmitan adecuadamente a la capa de transformación de datos. También que después en la transformación de datos surgen una serie de pruebas para asegurar que (Ejemplo)-. el SQL se creó correctamente. 20.10. ¿Cuál es la diferencia entre las pruebas que se asocian con los mecanismos de interfaz y las que abordan la semántica de la interfaz? Una vez que se ha probado de forma unitaria cada mecanismo de interfaz, se procede con la prueba semántica que evalúa cuán bien el

diseño se ocupa de los usuarios, ofreciendo una dirección clara, manteniendo consistencia de lenguaje y enfoque. 20.12. Suponga que establece una función de comprobación de interacción medicamentosa para FarmaciaDelaEsquina.com (problema 20.11). Analice los tipos de las pruebas en el nivel de componente que deberían realizarse para garantizar que esta función opera adecuadamente. [Nota: tendría que usar una base de datos para establecer esta función]. 20.13. ¿Cuál es la diferencia entre probar la sintaxis de navegación y probar la semántica de navegación? La prueba de sintaxis consiste en las pruebas que tienen que ver con la interfaz del software, para ver si esta realiza las funciones para la cual fue creada y la prueba de navegación de semántica es donde se realizan una cantidad de pregunta conforme al funcionamiento de la aplicación para después de esto tomar en cuenta y realizar las pruebas a lugar necesaria. 20.14. ¿Es posible probar toda configuración que una webapp probablemente encuentre en el lado servidor? ¿Es posible hacerlo en el lado cliente? Si no, ¿cómo selecciona un conjunto significativo de pruebas de configuración? 20.15. ¿Cuál es el objetivo de la prueba de seguridad? ¿Quién realiza esta prueba? 



Las pruebas de seguridad se utilizan para revisar el estado de seguridad de la aplicación realizada debido a que la internet es un lugar muy peligroso y cualquier webapp puede estar vulnerable es necesario hacer este tipo de prueba para proteger los datos del cliente que estarán utilizando esta aplicación. Las pruebas de seguridad deben diseñarse para ejercitar firewalls, autenticación, encriptado y autorización.

20.16. FarmaciaDelaEsquina.com (problema 20.11) se volvió muy exitosa y el número de usuarios aumentó dramáticamente en los primeros dos meses de operación. Dibuje una gráfica que muestre el probable tiempo de respuesta como función del número de usuarios para un conjunto fijo de recursos en el lado servidor. Etiquete la gráfica para indicar los puntos de interés en la “curva de respuesta”. 20.18. ¿Cuál es la diferencia entre prueba de carga y prueba de esfuerzo? La diferencia entre la prueba de carga y la prueba de esfuerzo es que, en la de carga, las variables N (número de usuarios concurrentes), T (número de transacciones en línea por unidad de tiempo) y D (carga de datos procesados por el servidor en cada transacción), estas variables

se definen dentro de fronteras operativas normales del sistema. En cambio, la prueba de esfuerzo es una continuación de la prueba de carga con la diferencia de que estas variables se fuerzan a satisfacerse y luego se superan los límites operativos, cuando en la de carga solo se definen dentro de fronteras operativas normales del sistema.

PROBLEMAS Y PUNTOS POR EVALUAR Capítulo 21

Capítulo 7 21.1. ¿Cuál es la diferencia fundamental entre el análisis estructurado y las estrategias orientadas a objetos para hacer el análisis de los requerimientos? El análisis estructurado toma en consideración como entidades separadas a los datos, los datos son moldeados de forma que establecen sus atributos y relaciones. Mientras que las estrategias orientadas a objetos se centran la definición de las clases y en la forma que colaboran para cumplir los requerimientos del cliente. 21.2. En un diagrama de flujo de datos, ¿una flecha representa un flujo del control u otra cosa?

Las fechas representan los objetos de datos se representan también con leyendas y las transformaciones. 21.3. ¿Qué es la “continuidad del flujo de información” y cómo se aplica cuando se mejora el diagrama de flujo de datos? Se aplica en las entrada y salidas en un determinado nivel deben ser las mismas pero cada vez mejorado. 21.4. ¿Cómo se utiliza el análisis gramatical en la creación de un DFD? Los sustantivos y verbos son aislados durante la narración de la recopilación de información que se obtuvo de la primera reunión para obtener información acerca del proyecto también llamado requerimiento. 21.5. ¿Qué es una especificación del control? Representa las diversas maneras del comportamiento del sistema, la especificación del control o también llamada CSPEC contiene un gráfico de estado para poder ver su comportamiento de forma secuencial. 7.6. ¿Son lo mismo una PSPEC y un caso de uso? Si no es así, explique las diferencias. Según el libro de pressman PSPEC es procesar password, la trasformación procesar password es encargado de la validación en el panel de control para la función de seguridad de una casa. El caso de uso representa la secuencia de actividades que involucra a los actores y al sistema, en general, un evento ocurre siempre que el sistema y un actor intercambian información. 21.7. Hay dos tipos diferentes de “estados” que los modelos del comportamiento pueden representar. ¿Cuáles son? 1. El estado de cada clase 2. El estado del sistema esto se observa cuando se realiza una función. 21.8. ¿En qué difiere un diagrama de secuencia de un diagrama de estado? ¿En qué se parecen? El diagrama de estado representa los estados activos para cada clase y los eventos causan un cambio en los estados activos, mientras que el diagrama de secuencia informa que los eventos producen transiciones de un objeto a otro. Estos dos diagramas se párense a la forma en que sus eventos cambian de estado u objeto.

21.9. Sugiera tres patrones de requerimientos para un teléfono inalámbrico moderno y escriba una descripción breve de cada uno. ¿Estos patrones podrían usarse para otros equipos? Dé un ejemplo -

-

-

Nombre del patrón: Audio-conferencia Descripción: Una llamada externa puede ser transferida a otro auricular (extensión/interno) para una audio-conferencia. Nombre del patrón: Tono/Pulso Descripción: Esta función modifica el tipo de señalización del teléfono de multifrecuencial (tonos) para decádico (pulso) y viceversa. Nombre del patrón: Intercom Descripción: Una llamada interna podrá implicar solamente 2 auriculares (extensiones/ internos) que compartan la misma base.

21.10. Seleccione uno de los patrones desarrollados en el problema 7.9 y desarrolle una descripción del patrón razonablemente completa, similar en contenido y estilo a la que se presentó en la sección 7.4.2. -

Nombre del patrón: Audio-conferencia Objetivo: Especifica la trasferencia que tendrá dicha llamada puede ser interna Motivación: Por lo general, Permite programar el teléfono para que las llamadas entrantes se dirijan a otro número telefónico de la red EDATEL que hayas seleccionado previamente y así no pierdas nunca tus llamadas

21.11. ¿Cuánto modelado del análisis piensa que se requeriría para CasaSeguraAsegurada.com? ¿Se necesitaría cada uno de los tipos de modelo descritos en la sección 7.5.3? A mi parecer pienso que si se necesita cada modelo de análisis porque se identifica una lista de aspectos clave (como errores, omisiones, inconsistencias, sugerencias de mejora o modificaciones, puntos de aclaración, etc.) para trabajar sobre ellos. 21.12. ¿Cuál es el propósito del modelo de interacción para una web App? Su propósito es explicar cómo los usuarios deben interactuar con la web app. 21.13. Un modelo funcional de web App debe retrasarse hasta el diseño. Diga los pros y contras de este argumento.

El modelo de complejidad relativa debe retrasarse hasta el diseño, ya que esta complejidad se da en la naturaleza de la información a que se accede y en las formas en las que se manipula. 21.14. ¿Cuál es el propósito de un modelo de configuración? El modelo de configuración permite implementar y formar diversos ambientes para la web app tanto el servidor cono el usuario. 21.15. ¿En qué difiere el modelo de navegación del modelo de interacción? El modelo de navegación considera la forma de navegar de cada categoría de un usuario, de un elemento de la web app a otro. Mientas que el modelo de interacción permite al usuario final una conversación con la web app.