Please enable JavaScript.
Coggle requires JavaScript to display documents.
Pruebas de Software. Fundamentos y Técnicas - Coggle Diagram
Pruebas de Software. Fundamentos y Técnicas
¿Qué son las pruebas?
1.- No deben enfocarse en demostrar que el software funciona, sino en detectar errores
2,- La prueba es la ejecución de un programa con la intención de encontrar fallo
3.- Distinción entre error (acción humana incorrecta), defecto (implementación errónea en el código) y fallo (comportamiento inesperado al ejecutar el software).
¿Por qué son importantes las pruebas?
El software es clave en múltiples industrias: salud, transporte, finanza
Errores pueden causar pérdidas millonarias y hasta daños humanos.
Ejemplos famosos de fallos:
Ariane 5 (1996) - pérdida de $500M
Therac-25 (radioterapia) - causó muertes por sobredosis
Error en Pentium (1994) - costó $475M a Intel
¿Cuál es el objetivo de las pruebas?
Definiciones de calidad
SO 9000: Cumplimiento de requisitos.
Philip Crosby: Conformidad con especificaciones
Factores clave según ISO 25010: funcionalidad, eficiencia, compatibilidad, seguridad, mantenimiento, usabilidad
¿Cómo llevamos a cabo las pruebas?
Uso de estrategias específicas para identificar errores.
No es posible encontrar todos los fallos por limitaciones de tiempo y costos.
Métodos principales:
Caja negra: Se analizan entradas y salidas sin conocer la estructura interna.
Caja blanca: Se estudia la estructura interna del software
Regla del 80/20: el 80% de los errores provienen del 20% del código
Pruebas funcionales
Se verifican las funcionalidades del sistema según sus requisitos
Se basan en técnicas de caja negra
Evaluación de:
Exactitud y completitud funcional
Interoperabilidad y seguridad
Pruebas no funcionales
Se analizan características externas como rendimiento, seguridad y usabilidad.
Tipos:
Carga: cantidad de usuarios simultáneos
Rendimiento: velocidad de respuesta
Seguridad: resistencia ante ataques
Compatibilidad: funcionamiento en distintas plataformas
Pruebas estructurales
Se examina el código y su estructura interna
Aplicación de pruebas de caja blanca.
Evaluación de:
Condiciones lógicas
Sentencias condicionales y estructuras de datos