Presentación
Nombres:
José Samuel Peña Acevedo
Ricardo David Muñoz Taveras
Rudy Peña Matos
Rhainer Peña
Eduin Cecilio Pérez Santos
Matriculas:
A00107391
A00107874
A00109417
A00106851
A00110750
Tema:
El Software y la Ingeniería de Software
Maestro:
Leandro Fondeur Gil
Periodo académico:
2022-C3
Fecha de entrega:
24 de noviembre de 2022
Luego de leer los capítulos 19 y 20 del libro de texto, subrayar los
conceptos centrales e investigar otras fuentes para ampliar las
ideas, realice las siguientes actividades:
1. Con sus palabras, describa por qué la clase es la unidad
razonable más pequeña para probar dentro de un sistema OO.
En la programación orientada a objetos, la clase es la unidad sensible más pequeña para
probar, porque las clases y sus instancias (objetos) tienen varias propiedades
(propiedades) y métodos (funciones) para manipular esas propiedades. Una clase de
software orientado a objetos es equivalente a un módulo de software normal y es la
unidad más pequeña en las pruebas unitarias.
2. ¿Por qué la "prueba” debe comenzar con el análisis y el diseño
orientado a objetos?
Si no se encuentra un problema en la fase de análisis o diseño y se traslada a la fase de
codificación, se dedicará mucho esfuerzo y tiempo a generar un código incorrecto. Si se
detecta un problema, los cambios en el sistema pueden causar efectos secundarios.
3. ¿Por qué es necesario volver a probar las subclases que se
instancian a partir de una clase existente si ésta ya se probó
ampliamente? ¿Puede usarse el diseño de casos de prueba para la
clase existente? Justifique su respuesta.
Eso se debe a la super clase ya que con esta se puede utilizar un contexto a diferencia de
los casos de pruebas, ya que estas se deben diseñar a un conjunto de pruebas
4. ¿Cuál es la diferencia entre las estrategias basadas en hebra y
basadas en uso para la prueba de integración? ¿Cómo encaja la
prueba de grupo?
Prueba basada en hebra: es donde se identifica un conjunto de clases que realizan una
determinada función. Prueba basada en uso: identifica desde ya lo que son las clases
independientes que son llamadas a ellas no dependen de otras.
5. La compatibilidad es una importante dimensión de la calidad.
¿Qué debe probarse para garantizar que existe compatibilidad
para una webapp?
La compatibilidad es una importante dimensión de la calidad. ¿Qué debe probarse para
garantizar que existe compatibilidad para una webapp?
Para probar que existe compatibilidad para una webapp se realizan pruebas ejecutando
la webapp con varias configuraciones en el cliente y servidor, esto permite encontrar
errores que sean específicos en una configuración del cliente o servidor única.
6. ¿Cuáles errores tienden a ser más serios: los que hay en el lado
cliente o los del lado servidor? ¿Por qué?
Los servidores, porque además de ser potencialmente un agujero de seguridad y causar
problemas de rendimiento, afectan a todos los clientes a nivel mundial. Por otro lado,
los errores en el lado del cliente no causan problemas de seguridad o problemas a nivel
global, y lo más probable es que no afecten a todos los usuarios. Son molestos, pero no
peligrosos.
7. ¿Cuál es la diferencia entre prueba de carga y prueba de
esfuerzo?
Se diferencian en que las ^pruebas de carga^ se encargan de determinar cómo
responderá la aplicación web y se ajustan del lado del servidor para diversas
condiciones de carga, por otro lado el objetivo de las ^pruebas de estrés^ es comprender
mejor el comportamiento del sistema como se ve obligado a exceder sus límites
operativos.
8. ¿Existen algunas situaciones en las que la prueba de webapps
deba descartarse por completo? Justifique su respuesta.
No, sería un problema ya que estas pruebas y revisiones técnicas aseguran la alta
calidad del producto. Sin estas pruebas y revisiones técnicas, podríamos lanzar un
producto que probablemente contenga errores y vulnerabilidades que harán que nuestra
aplicación o producto falle.
9. Con sus palabras, analice los objetivos de las pruebas en un
contexto webapp.
En las pruebas para una webapp, tomamos en cuenta las dimensiones de calidad de la
webapp y a partir de estas nos enfocamos en las mas relevantes, entre estas están:
La función, su objetivo es llevar a cabo una tarea especifica previamente delimitada por
los requerimientos del cliente, por lo que debemos verificar que las funciones hagan
exactamente lo que se espera de la misma.
La estructura, se refiere a como se muestra al cliente el contenido de nuestra webapp,
esta debe tener un orden y mantener una coherencia, para que pueda mantenerse
funcional incluso en el caso de agregar nuevo contenido.
La usabilidad, esta se refiere a que el usuario/cliente tenga la oportunidad de acceder a
la webapp indistintamente del dispositivo o método que utilice para acceder a la misma
y poder interactuar con esta o consumir el contenido.
La navegabilidad, el objetivo es garantizar que los enlaces o puntos de navegación en la
pagina dirijan al usuario correctamente hacia donde se espera y evitar que el usuario
sienta que al interactuar con un vinculo, no ocurre lo esperado.
El rendimiento, este se evalua esperando que la webapp sea capaz de procesar y
entregar la información al usuario de forma eficiente, que no tome mucho tiempo entre
el procesamiento y muestra de datos en pantalla.
La compatibilidad, tener la capacidad de acceder a la webapp desde cualquier
dispositivo sin que esta se vea afectada ni en la estructura o funcionalidad, sino que
pueda realizar todas las funciones indistintamente del dispositivo.
10. ¿Siempre es necesario desarrollar un plan de prueba escrito
formalmente? Explique.
Considero que es necesario tener el plan de prueba escrito formalmente debido a que
esto permite primeramente tener la guía de que se debe de llevar a cabo en cada paso del
desarrollo de la webapp, debido a que muchas veces como desarrolladores pensamos
que el documentar o plasmar en un documento la informaciones o planes de acción
toma mucho tiempo y esfuerzo, pero realmente a largo plazo esto nos permite tener una
idea clara de que y como queremos lograr llevar a cabo nuestras pruebas, por lo tanto
concluyo afirmando que es necesario mas no obligatorio, puesto que si es una webapp
sencilla podría prescindirse del mismo.
11. ¿Cuál es la diferencia entre probar la sintaxis de navegación y
probar la semántica de navegación?
Para probar la sintaxis de la navegación probamos que los mecanismos en sí, es decir,
vínculos, redirecciones, etc. funcionen correctamente. Probar la semántica de la
navegación no prueba los mecanismos sino comprueba que la navegación ejercite todos
los USN.
12. ¿Cuál es el objetivo de la prueba de seguridad? ¿Quién realiza
esta prueba?
El objetivo de la prueba de seguridad es identificar vulnerabilidades tanto en el frontend
como en el backend. Generalmente son llevadas a cabos por firmas especializadas en
seguridad informática, aunque a veces son llevadas a cabo por el mismo equipo de
pruebas.

practica 10 de fundamento.pdf

  • 1.
    Presentación Nombres: José Samuel PeñaAcevedo Ricardo David Muñoz Taveras Rudy Peña Matos Rhainer Peña Eduin Cecilio Pérez Santos Matriculas: A00107391 A00107874 A00109417 A00106851 A00110750 Tema: El Software y la Ingeniería de Software Maestro: Leandro Fondeur Gil Periodo académico: 2022-C3 Fecha de entrega: 24 de noviembre de 2022
  • 2.
    Luego de leerlos capítulos 19 y 20 del libro de texto, subrayar los conceptos centrales e investigar otras fuentes para ampliar las ideas, realice las siguientes actividades: 1. Con sus palabras, describa por qué la clase es la unidad razonable más pequeña para probar dentro de un sistema OO. En la programación orientada a objetos, la clase es la unidad sensible más pequeña para probar, porque las clases y sus instancias (objetos) tienen varias propiedades (propiedades) y métodos (funciones) para manipular esas propiedades. Una clase de software orientado a objetos es equivalente a un módulo de software normal y es la unidad más pequeña en las pruebas unitarias. 2. ¿Por qué la "prueba” debe comenzar con el análisis y el diseño orientado a objetos? Si no se encuentra un problema en la fase de análisis o diseño y se traslada a la fase de codificación, se dedicará mucho esfuerzo y tiempo a generar un código incorrecto. Si se detecta un problema, los cambios en el sistema pueden causar efectos secundarios. 3. ¿Por qué es necesario volver a probar las subclases que se instancian a partir de una clase existente si ésta ya se probó ampliamente? ¿Puede usarse el diseño de casos de prueba para la clase existente? Justifique su respuesta. Eso se debe a la super clase ya que con esta se puede utilizar un contexto a diferencia de los casos de pruebas, ya que estas se deben diseñar a un conjunto de pruebas 4. ¿Cuál es la diferencia entre las estrategias basadas en hebra y basadas en uso para la prueba de integración? ¿Cómo encaja la prueba de grupo? Prueba basada en hebra: es donde se identifica un conjunto de clases que realizan una determinada función. Prueba basada en uso: identifica desde ya lo que son las clases independientes que son llamadas a ellas no dependen de otras. 5. La compatibilidad es una importante dimensión de la calidad. ¿Qué debe probarse para garantizar que existe compatibilidad para una webapp? La compatibilidad es una importante dimensión de la calidad. ¿Qué debe probarse para garantizar que existe compatibilidad para una webapp? Para probar que existe compatibilidad para una webapp se realizan pruebas ejecutando la webapp con varias configuraciones en el cliente y servidor, esto permite encontrar errores que sean específicos en una configuración del cliente o servidor única.
  • 3.
    6. ¿Cuáles errorestienden a ser más serios: los que hay en el lado cliente o los del lado servidor? ¿Por qué? Los servidores, porque además de ser potencialmente un agujero de seguridad y causar problemas de rendimiento, afectan a todos los clientes a nivel mundial. Por otro lado, los errores en el lado del cliente no causan problemas de seguridad o problemas a nivel global, y lo más probable es que no afecten a todos los usuarios. Son molestos, pero no peligrosos. 7. ¿Cuál es la diferencia entre prueba de carga y prueba de esfuerzo? Se diferencian en que las ^pruebas de carga^ se encargan de determinar cómo responderá la aplicación web y se ajustan del lado del servidor para diversas condiciones de carga, por otro lado el objetivo de las ^pruebas de estrés^ es comprender mejor el comportamiento del sistema como se ve obligado a exceder sus límites operativos. 8. ¿Existen algunas situaciones en las que la prueba de webapps deba descartarse por completo? Justifique su respuesta. No, sería un problema ya que estas pruebas y revisiones técnicas aseguran la alta calidad del producto. Sin estas pruebas y revisiones técnicas, podríamos lanzar un producto que probablemente contenga errores y vulnerabilidades que harán que nuestra aplicación o producto falle. 9. Con sus palabras, analice los objetivos de las pruebas en un contexto webapp. En las pruebas para una webapp, tomamos en cuenta las dimensiones de calidad de la webapp y a partir de estas nos enfocamos en las mas relevantes, entre estas están: La función, su objetivo es llevar a cabo una tarea especifica previamente delimitada por los requerimientos del cliente, por lo que debemos verificar que las funciones hagan exactamente lo que se espera de la misma. La estructura, se refiere a como se muestra al cliente el contenido de nuestra webapp, esta debe tener un orden y mantener una coherencia, para que pueda mantenerse funcional incluso en el caso de agregar nuevo contenido. La usabilidad, esta se refiere a que el usuario/cliente tenga la oportunidad de acceder a la webapp indistintamente del dispositivo o método que utilice para acceder a la misma y poder interactuar con esta o consumir el contenido.
  • 4.
    La navegabilidad, elobjetivo es garantizar que los enlaces o puntos de navegación en la pagina dirijan al usuario correctamente hacia donde se espera y evitar que el usuario sienta que al interactuar con un vinculo, no ocurre lo esperado. El rendimiento, este se evalua esperando que la webapp sea capaz de procesar y entregar la información al usuario de forma eficiente, que no tome mucho tiempo entre el procesamiento y muestra de datos en pantalla. La compatibilidad, tener la capacidad de acceder a la webapp desde cualquier dispositivo sin que esta se vea afectada ni en la estructura o funcionalidad, sino que pueda realizar todas las funciones indistintamente del dispositivo. 10. ¿Siempre es necesario desarrollar un plan de prueba escrito formalmente? Explique. Considero que es necesario tener el plan de prueba escrito formalmente debido a que esto permite primeramente tener la guía de que se debe de llevar a cabo en cada paso del desarrollo de la webapp, debido a que muchas veces como desarrolladores pensamos que el documentar o plasmar en un documento la informaciones o planes de acción toma mucho tiempo y esfuerzo, pero realmente a largo plazo esto nos permite tener una idea clara de que y como queremos lograr llevar a cabo nuestras pruebas, por lo tanto concluyo afirmando que es necesario mas no obligatorio, puesto que si es una webapp sencilla podría prescindirse del mismo. 11. ¿Cuál es la diferencia entre probar la sintaxis de navegación y probar la semántica de navegación? Para probar la sintaxis de la navegación probamos que los mecanismos en sí, es decir, vínculos, redirecciones, etc. funcionen correctamente. Probar la semántica de la navegación no prueba los mecanismos sino comprueba que la navegación ejercite todos los USN. 12. ¿Cuál es el objetivo de la prueba de seguridad? ¿Quién realiza esta prueba? El objetivo de la prueba de seguridad es identificar vulnerabilidades tanto en el frontend como en el backend. Generalmente son llevadas a cabos por firmas especializadas en seguridad informática, aunque a veces son llevadas a cabo por el mismo equipo de pruebas.