Testing Primera Parcial
Testing Primera Parcial
Testing Primera Parcial
2. Testing de integración: Ocurre después del testing unitario. Una vez que las unidades
individuales están probadas, se integran en módulos o grupos para testear las
interacciones entre ellas. Tiene como objetivo asegurarse de que los módulos o
componentes del software funcionen correctamente cuando se combinan. El propósito de
esta prueba es detectar defectos en las interfaces entre los defectos mas comunes podemos
encontrar: Perdida de datos, Manipulación de datos, Los componentes interpretan datos
de entrada de manera diferente.
Características
• Prueba de integración entre • Realizado por desarrolladores o testers
componentes • Se utiliza métodos de caja blanca o
• Realizado luego del testing unitario negra
3. Testing de sistema: Se realiza después de completar el testing de integración. En esta
etapa, todo el sistema software se prueba en un entorno que simula la producción. Tiene
como objetivo verificar el comportamiento completo del sistema y asegurarse de que
cumple con los requisitos especificados.
Características
• Prueba de comportamiento de todo • Prueba de requerimientos
el sistema funcionales y no funcionales
• Punto de vista de usuario
• Se utiliza métodos de caja negra
4. Testing de aceptación: Es el último nivel de prueba antes de que el software sea
entregado al cliente o puesto en producción. Usualmente se realiza después del testing de
sistema. Para este tipo usamos solo métodos de caja negra
Características
• Prueba de verificación formal
• Tipos
o Testing de aceptación interno
o Testing de aceptación externo
Tipos de pruebas
• Funcionales: Se puede realizar en todos los niveles de prueba, tiene como objetivo que el
objetivo realmente funcione, permite verificar los requisitos funcionales.
o Adecuación: Verifica si el software proporciona funciones que satisfacen las
necesidades especificadas. Ej.: Si el sistema registra usuarios correctamente.
o Exactitud: Evalúa si el software proporciona los resultados correctos con el nivel
de precisión requerido. Ej.: En una aplicación de cálculo de impuestos, la exactitud
se probaría ingresando varios escenarios de datos fiscales.
o Interoperabilidad: Determina si el software es capaz de interactuar con otros
sistemas y dentro de su entorno de forma adecuada. Ej.: Para un software que debe
integrarse con sistemas de terceros.
o Cumplimiento de la funcionalidad: Verifica que el software cumple con todas las
funciones especificadas. Ej.: En un software educativo, se verificaría que todas las
funciones listadas en los documentos de especificaciones.
o Seguridad: Asegura que el software protege la información y mantiene la
privacidad y la integridad de los datos. Ej.: En una aplicación bancaria, la seguridad
se probaría intentando realizar ataques como inyección SQL, XSS, o intentos de
acceso no autorizado.
• No funcionales: Diseñadas para evaluar el comportamiento del sistema en condiciones
específicas más allá de las funciones puras del software. Tiene como objetivo es saber
como funciona el sistema, se puede llevar a cabo en todos los niveles de pruebas.
o Volumen: Evalúa la capacidad del sistema para manejar grandes volúmenes de
datos. Ej.: ara una base de datos, se podría probar cómo maneja la inserción y
consultas.
o Estabilidad: Asegura que el software es capaz de operar bajo carga durante
periodos prolongados sin degradación del servicio. Ej.: Un sistema de reservas
online podría ser sometido a pruebas de estabilidad ejecutándolo a capacidad
máxima durante 24 horas.
o Robustez: Mide la capacidad del sistema para manejar condiciones erróneas o
extremas. Ej.: Intentar romper una aplicación web mediante la inyección de código
malicioso o entradas no válidas para ver cómo maneja los errores
o Usabilidad: Evalúa qué tan fácil y agradable es para los usuarios finales usar el
software Ej.: Llevar a cabo estudios de usuario para determinar la facilidad de uso
de una aplicación móvil.
o Rendimiento: Prueba cuán efectivo es el software en términos de velocidad de
respuesta y estabilidad bajo carga. Ej.: Medir el tiempo de respuesta de un servidor
web múltiples simultáneamente.
o Carga: Examina el comportamiento del sistema bajo cargas de trabajo esperadas y
picos de carga. Ej.: Simular múltiples usuarios accediendo a un sistema de comercio
electrónico durante un evento de ventas para verificar si puede manejar picos de
tráfico.
o Cobertura de camino
▪ Comprobamos el número de caminos linealmente independientes
▪ 𝑐𝑜𝑏𝑒𝑟𝑡𝑢𝑟𝑎 =( 𝑛𝑟𝑜.𝑑𝑒 𝑑𝑒𝑐𝑖𝑠𝑖𝑜𝑛𝑒𝑠 𝑒𝑗𝑒𝑐𝑢𝑡𝑎𝑑𝑎𝑠 /𝑛𝑟𝑜.𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 caminos)
×100
▪ Mas exhaustiva que la cobertura de sentencia y decisión
o Pruebas de condición y cobertura :
▪ Porcentaje de todos los resultados individuales de condición que afecta al
resultado de una decisión
▪ Detectamos defectos que provienen de implementar condiciones múltiples
Técnicas Estáticas: Las técnicas estáticas pueden realizarse antes dinámicas defectos para
antes conviertan en fallas de las encontrar que se
• Revisiones
o Tipos
▪ Revisión Informal: revisión entre pares, es la revisión más simple ya
que no tiene un proceso formal.
▪ Revisión Guiada: este tipo de revisión está liderada por el Autor del
documento, quien a lo largo de la presentación va mostrando el
artefacto a revisar, mientras que los revisores hacen preguntas.
▪ Revisión Técnica: Es una revisión formal o informal, donde participan
técnicos expertos, preferentemente externos a la organización y es
liderada por un moderador, no el autor.
▪ Inspección: Revisión formal, cuenta con procesos de preparación,
ejecución, documentación y seguimiento).
• Análisis con Herramientas: Lo que buscan estas herramientas es PREVENIR
defectos antes de ejecutar las pruebas, para advertir aspectos sospechosos del código,
detectando inconsistencias.
Mediante el análisis estático con herramientas se comprueban:
o Reglas y estándares de programación
o Diseño de un programa (la herramienta es: análisis del flujo de control
o Uso de datos (la herramienta es: análisis del flujo de datos)
o Complejidad de la estructura de un programa (la herramienta es: métrica)
Las herramientas son:
o Compiladores: Detecta errores sintácticos en el código fuente, comprueba
consistencias entre tipos de variables, detecta variables no declaradas.
o Analizadores: trata convenciones y estándares, acoplamiento de objetos.
• Análisis de flujo de control
• Análisis de flujo de datos
• Métricas del compilador
Clase 4 –
Clase 5 –