CAPÍTULO 20
PRUEBA DE APLICACIONES WEB
20.1 ¿Existen algunas situaciones en las que la prueba de webapps deba descartarse por completo?
RESPUESTA
No, porque no existe ninguna situación donde no amerite crear pruebas a webapps debido que uno de los criterios más importantes para que un sistema tenga calidad es que no presente errores en producción por tal forma se necesita de un mecanismo para asegurar que los errores sean mínimos y eso solo se puede obtener gracias a las pruebas formales o empíricas.
20.2. Con sus palabras, analice los objetivos de las pruebas en un contexto webapp.
RESPUESTA
Tanto el concepto como la parte práctica de las pruebas sin importar en qué contexto se esté hablando los objetivos de las pruebas son los mismos en el contexto de webapp. Pero en la parte de webapp existen muchos más factores que pueden intervenir como tales: las aplicaciones webapp se ejecutan en multitud de sistemas operativos, navegadores por tal dimensión de posibilidades de fallos se deberá de tomar en cuenta las dimensiones de la calidad cuando se realice pruebas en el contexto de webapp.
20.3. La compatibilidad es una importante dimensión de la calidad. ¿Qué debe probarse para garantizar que existe compatibilidad para una webapp?
RESPUESTA
Se deben probar en diferentes escenarios para asegurarse que la webapp se ejecute correctamente. También se prueba al ejecutar la webapp en varias configuraciones del lado del anfitrión, tanto del lado del cliente como del servidor. Con el objetivo de encontrar errores que sean específicos de una configuración única del anfitrión.
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é?
RESPUESTA
Los errores que se comenten en el lado del servidor son más graves y serios, ya que en la parte del cliente más que todo es compatibilidad de navegadores o sistemas operativos, pero sin en dado caso falle el servidor donde está alojado las apis o la base de datos puede resultar en catástrofes como pérdidas de datos en la base de datos, generación de datos corruptos, o robo de información por fallas de seguridad
20.5. ¿Qué elementos de la webapp pueden recibir “prueba de unidad”? ¿Qué tipos de pruebas deben realizarse sólo después de que se integran los elementos de la webapp?
RESPUESTA
Los elementos que se someten a prueba son los componentes funcionales como las funciones, métodos, clases o todo aquel que se pueda encapsular para realizar una determinada tarea.
Las pruebas que se realizan son las pruebas de usabilidad, navegabilidad, rendimiento, compatibilidad e interoperabilidad
20.6. ¿Siempre es necesario desarrollar un plan de prueba escrito formalmente? Explique.
RESPUESTA
Si, siempre es necesario y en algunos casos hasta obligatorio realizar un plan de pruebas formal, ya que cada vez que avanza un proyecto y comienza a escalar gradualmente, se hará difícil crear un plan de pruebas o siquiera una prueba simple por la complejidad del sistema o que el código no está hecho para soportar pruebas por ello es fundamental pensar en un plan de prueba desde el inicio del desarrollo de cualquier sistema ya sea pequeño o grande, porque nunca se sabe si el sistema escalara.
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?
RESPUESTA
Si, porque primero se debe comprobar que todas las funcionalidades que el usuario verá funcionan correctamente para determinar si los elementos tecnológicos funcionan correctamente.
Si, con aplicaciones que se están mejorando o agregando nuevas funcionalidades donde se debe comprobar que los elementos tecnológicos funcionen correctamente antes de probar toda la interfaz que ya estaba realizada con anterioridad.
20.8. ¿La prueba de contenido realmente es una prueba en el sentido convencional? Explique.
RESPUESTA
Si porque las pruebas de contenido se realizan con base en errores en el contenido de la webapp que pueden ser tan triviales como errores tipográficos menores o tan significativos como información incorrecta, organización inadecuada o violación de leyes de la propiedad intelectual. La prueba de contenido intenta descubrir estos y muchos otros problemas antes de que el usuario los encuentre.
20.9. Describa los pasos asociados con la prueba de base de datos para una webapp. ¿La prueba de base de datos es predominantemente una actividad en el lado cliente o en el lado servidor?
RESPUESTA
Del lado del cliente, ya que se evalúa la forma en que se obtienen los datos y se hacen las peticiones para comprobar que estos funcionen correctamente, porque el servidor devuelve los datos crudos, pero necesitamos saber si la estructura en la que son recuperados en las peticiones funcionan adecuadamente.
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?
RESPUESTA
Una de las diferencias que se pueden encontrar es que las pruebas asociadas a los mecanismos de interfaz es que su orientación principal es la estructura del código que si usan bien y deforma correctas todas las etiquetas, y que funcionen correctamente, mientras que las que abordan la semántica de la interfaz están más orientadas a evaluar cuán bien cuida el diseño a los usuarios, ofrece instrucciones claras, entrega retroalimentación y mantiene consistencia de lenguaje y enfoque.
20.11. Suponga que desarrolla una farmacia en línea (FarmaciaDelaEsquina.com) que abastece a adultos mayores. La farmacia proporciona las funciones usuales, pero también mantiene una base de datos para cada cliente, de modo que puede ofrecer información de medicamentos y advertir de potenciales interacciones medicamentosas. Analice algunas pruebas de usabilidad especiales para esta webapp.
RESPUESTA
• Probar mecanismos de los botones, menús desplegables, ventanas de información, modales, etc.
• Comprobar que los colores sean adecuados y no molesten la vista.
• Comprobar que todo está escrito correctamente
• Probar que las distribuciones de los componentes estén bien representadas en la interfaz.
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].
RESPUESTA
• La prueba de análisis del valor de frontera para indicar si los datos escritos correctamente en el formulario son correctos y son válidos.
• Pruebas de rutas, ya que para visualizar si el usuario siguió el camino correcto para realizar dicho registro
20.13. ¿Cuál es la diferencia entre probar la sintaxis de navegación y probar la semántica de navegación?
RESPUESTA
Probar la sintaxis de navegación se refiere a probar que todos los vínculos, redirecciones y otros elementos de la navegación de la aplicación funcionen correctamente, mientras que las pruebas a la semántica de navegación evaluar si las conexiones que se realizaron y si la navegación de un determinado componente funcionan de acuerdo a los requerimientos del cliente.
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?
RESPUESTA
No es posible realizar todas las pruebas de configuraciones tanto del lado del servidor como del cliente, debido a las actualizaciones y en este caso resultan más pruebas de configuración El conjunto adecuado para realizar dichas pruebas seria: Servidor ¿La webapp es completamente compatible con el servidor OS? ¿Los archivos de sistema, directorios y datos de sistema relacionados se crean correctamente cuando la webapp es operativa? ¿Los errores del administrador del sistema se examinaron en sus efectos sobre las operaciones de la webapp? Cliente Hardware: CPU, memoria, almacenamiento y dispositivos de impresión Sistemas operativos: Linux, Macintosh OS, Microsoft Windows, un OS móvil Conectividad: cable, DSL, módem regular, T1, WiFi
20.15. ¿Cuál es el objetivo de la prueba de seguridad? ¿Quién realiza esta prueba?
RESPUESTA
Su objetivo es sondear las vulnerabilidades del entorno del lado del cliente, las comunicaciones de red que ocurren conforme los datos pasan de cliente a servidor y viceversa, y el entorno del lado servidor. En algunos casos los encargados de realizar las pruebas a todo el sistema o especialistas contratados para realizar dichas pruebas.
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”.
RESPUESTA
20.17. En respuesta a su éxito, FarmaciaDelaEsquina.com (problema 20.11) implementó un servidor especial exclusivamente para manejar el reabastecimiento de recetas. En promedio, 1 000 usuarios concurrentes envían una solicitud de reabastecimiento una vez cada dos minutos. En respuesta, la webapp descarga un bloque de datos de 500 bytes. ¿Cuál es el rendimiento global aproximado requerido para este servidor en megabits por segundo?
RESPUESTA
P= N*T*D P= 1000*120*500 P=60,000,000 bytes/seg = 60 megas/seg El rendimiento global es de 60 megas/seg
20.18. ¿Cuál es la diferencia entre prueba de carga y prueba de esfuerzo?
RESPUESTA
La intención de la prueba de carga es determinar cómo responderán las webapps y su entorno del lado servidor a varias condiciones de carga. Conforme avanzan las pruebas mientras que las prueba de esfuerzo es una continuación de la prueba de carga, pero en esta instancia las variables N, T y D se fuerzan a satisfacerse y luego se superan los límites operativos.
¡GRACIAS!
CAPÍTULO 20: PRUEBA DE APLICACIONES WEB
Yoci Bonilla
Created on October 27, 2021
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Corporate Christmas Presentation
View
Business Results Presentation
View
Meeting Plan Presentation
View
Customer Service Manual
View
Business vision deck
View
Economic Presentation
View
Tech Presentation Mobile
Explore all templates
Transcript
CAPÍTULO 20
PRUEBA DE APLICACIONES WEB
20.1 ¿Existen algunas situaciones en las que la prueba de webapps deba descartarse por completo?
RESPUESTA
No, porque no existe ninguna situación donde no amerite crear pruebas a webapps debido que uno de los criterios más importantes para que un sistema tenga calidad es que no presente errores en producción por tal forma se necesita de un mecanismo para asegurar que los errores sean mínimos y eso solo se puede obtener gracias a las pruebas formales o empíricas.
20.2. Con sus palabras, analice los objetivos de las pruebas en un contexto webapp.
RESPUESTA
Tanto el concepto como la parte práctica de las pruebas sin importar en qué contexto se esté hablando los objetivos de las pruebas son los mismos en el contexto de webapp. Pero en la parte de webapp existen muchos más factores que pueden intervenir como tales: las aplicaciones webapp se ejecutan en multitud de sistemas operativos, navegadores por tal dimensión de posibilidades de fallos se deberá de tomar en cuenta las dimensiones de la calidad cuando se realice pruebas en el contexto de webapp.
20.3. La compatibilidad es una importante dimensión de la calidad. ¿Qué debe probarse para garantizar que existe compatibilidad para una webapp?
RESPUESTA
Se deben probar en diferentes escenarios para asegurarse que la webapp se ejecute correctamente. También se prueba al ejecutar la webapp en varias configuraciones del lado del anfitrión, tanto del lado del cliente como del servidor. Con el objetivo de encontrar errores que sean específicos de una configuración única del anfitrión.
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é?
RESPUESTA
Los errores que se comenten en el lado del servidor son más graves y serios, ya que en la parte del cliente más que todo es compatibilidad de navegadores o sistemas operativos, pero sin en dado caso falle el servidor donde está alojado las apis o la base de datos puede resultar en catástrofes como pérdidas de datos en la base de datos, generación de datos corruptos, o robo de información por fallas de seguridad
20.5. ¿Qué elementos de la webapp pueden recibir “prueba de unidad”? ¿Qué tipos de pruebas deben realizarse sólo después de que se integran los elementos de la webapp?
RESPUESTA
Los elementos que se someten a prueba son los componentes funcionales como las funciones, métodos, clases o todo aquel que se pueda encapsular para realizar una determinada tarea.
Las pruebas que se realizan son las pruebas de usabilidad, navegabilidad, rendimiento, compatibilidad e interoperabilidad
20.6. ¿Siempre es necesario desarrollar un plan de prueba escrito formalmente? Explique.
RESPUESTA
Si, siempre es necesario y en algunos casos hasta obligatorio realizar un plan de pruebas formal, ya que cada vez que avanza un proyecto y comienza a escalar gradualmente, se hará difícil crear un plan de pruebas o siquiera una prueba simple por la complejidad del sistema o que el código no está hecho para soportar pruebas por ello es fundamental pensar en un plan de prueba desde el inicio del desarrollo de cualquier sistema ya sea pequeño o grande, porque nunca se sabe si el sistema escalara.
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?
RESPUESTA
Si, porque primero se debe comprobar que todas las funcionalidades que el usuario verá funcionan correctamente para determinar si los elementos tecnológicos funcionan correctamente. Si, con aplicaciones que se están mejorando o agregando nuevas funcionalidades donde se debe comprobar que los elementos tecnológicos funcionen correctamente antes de probar toda la interfaz que ya estaba realizada con anterioridad.
20.8. ¿La prueba de contenido realmente es una prueba en el sentido convencional? Explique.
RESPUESTA
Si porque las pruebas de contenido se realizan con base en errores en el contenido de la webapp que pueden ser tan triviales como errores tipográficos menores o tan significativos como información incorrecta, organización inadecuada o violación de leyes de la propiedad intelectual. La prueba de contenido intenta descubrir estos y muchos otros problemas antes de que el usuario los encuentre.
20.9. Describa los pasos asociados con la prueba de base de datos para una webapp. ¿La prueba de base de datos es predominantemente una actividad en el lado cliente o en el lado servidor?
RESPUESTA
Del lado del cliente, ya que se evalúa la forma en que se obtienen los datos y se hacen las peticiones para comprobar que estos funcionen correctamente, porque el servidor devuelve los datos crudos, pero necesitamos saber si la estructura en la que son recuperados en las peticiones funcionan adecuadamente.
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?
RESPUESTA
Una de las diferencias que se pueden encontrar es que las pruebas asociadas a los mecanismos de interfaz es que su orientación principal es la estructura del código que si usan bien y deforma correctas todas las etiquetas, y que funcionen correctamente, mientras que las que abordan la semántica de la interfaz están más orientadas a evaluar cuán bien cuida el diseño a los usuarios, ofrece instrucciones claras, entrega retroalimentación y mantiene consistencia de lenguaje y enfoque.
20.11. Suponga que desarrolla una farmacia en línea (FarmaciaDelaEsquina.com) que abastece a adultos mayores. La farmacia proporciona las funciones usuales, pero también mantiene una base de datos para cada cliente, de modo que puede ofrecer información de medicamentos y advertir de potenciales interacciones medicamentosas. Analice algunas pruebas de usabilidad especiales para esta webapp.
RESPUESTA
• Probar mecanismos de los botones, menús desplegables, ventanas de información, modales, etc. • Comprobar que los colores sean adecuados y no molesten la vista. • Comprobar que todo está escrito correctamente • Probar que las distribuciones de los componentes estén bien representadas en la interfaz.
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].
RESPUESTA
• La prueba de análisis del valor de frontera para indicar si los datos escritos correctamente en el formulario son correctos y son válidos. • Pruebas de rutas, ya que para visualizar si el usuario siguió el camino correcto para realizar dicho registro
20.13. ¿Cuál es la diferencia entre probar la sintaxis de navegación y probar la semántica de navegación?
RESPUESTA
Probar la sintaxis de navegación se refiere a probar que todos los vínculos, redirecciones y otros elementos de la navegación de la aplicación funcionen correctamente, mientras que las pruebas a la semántica de navegación evaluar si las conexiones que se realizaron y si la navegación de un determinado componente funcionan de acuerdo a los requerimientos del cliente.
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?
RESPUESTA
No es posible realizar todas las pruebas de configuraciones tanto del lado del servidor como del cliente, debido a las actualizaciones y en este caso resultan más pruebas de configuración El conjunto adecuado para realizar dichas pruebas seria: Servidor ¿La webapp es completamente compatible con el servidor OS? ¿Los archivos de sistema, directorios y datos de sistema relacionados se crean correctamente cuando la webapp es operativa? ¿Los errores del administrador del sistema se examinaron en sus efectos sobre las operaciones de la webapp? Cliente Hardware: CPU, memoria, almacenamiento y dispositivos de impresión Sistemas operativos: Linux, Macintosh OS, Microsoft Windows, un OS móvil Conectividad: cable, DSL, módem regular, T1, WiFi
20.15. ¿Cuál es el objetivo de la prueba de seguridad? ¿Quién realiza esta prueba?
RESPUESTA
Su objetivo es sondear las vulnerabilidades del entorno del lado del cliente, las comunicaciones de red que ocurren conforme los datos pasan de cliente a servidor y viceversa, y el entorno del lado servidor. En algunos casos los encargados de realizar las pruebas a todo el sistema o especialistas contratados para realizar dichas pruebas.
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”.
RESPUESTA
20.17. En respuesta a su éxito, FarmaciaDelaEsquina.com (problema 20.11) implementó un servidor especial exclusivamente para manejar el reabastecimiento de recetas. En promedio, 1 000 usuarios concurrentes envían una solicitud de reabastecimiento una vez cada dos minutos. En respuesta, la webapp descarga un bloque de datos de 500 bytes. ¿Cuál es el rendimiento global aproximado requerido para este servidor en megabits por segundo?
RESPUESTA
P= N*T*D P= 1000*120*500 P=60,000,000 bytes/seg = 60 megas/seg El rendimiento global es de 60 megas/seg
20.18. ¿Cuál es la diferencia entre prueba de carga y prueba de esfuerzo?
RESPUESTA
La intención de la prueba de carga es determinar cómo responderán las webapps y su entorno del lado servidor a varias condiciones de carga. Conforme avanzan las pruebas mientras que las prueba de esfuerzo es una continuación de la prueba de carga, pero en esta instancia las variables N, T y D se fuerzan a satisfacerse y luego se superan los límites operativos.
¡GRACIAS!