Parte 2 - Tema 7 Flashcards
Pruebas software
¿Qué son las pruebas de software?
Las pruebas de software son un proceso sistemático que busca detectar defectos o errores en un software para garantizar que cumple con los requisitos establecidos y funciona según lo esperado.
¿Cuál es el objetivo principal de las pruebas de software?
El objetivo principal es garantizar la calidad del software, asegurando que sea confiable, seguro y que cumpla con las expectativas del usuario.
¿Por qué son importantes las pruebas de software?
Las pruebas ayudan a prevenir errores que podrían causar pérdidas económicas, dañar la reputación de la empresa y afectar la satisfacción del cliente.
¿Cuáles son los tipos principales de pruebas de software?
- Pruebas unitarias: Verifican la funcionalidad de unidades individuales de código (funciones, métodos).
- Pruebas de integración: Verifican cómo interactúan diferentes componentes del software.
- Pruebas de sistema: Evalúan el sistema completo para asegurarse de que cumple con los requisitos.
- Pruebas de aceptación: Verifican que el software cumple con las necesidades del usuario.
- Otros tipos: Pruebas de rendimiento, pruebas de seguridad, pruebas de usabilidad, etc.
¿Cuáles son algunas técnicas comunes para diseñar casos de prueba?
- Pruebas de caja blanca: Se basan en el conocimiento del código interno.
- Pruebas de caja negra: Se enfocan en la funcionalidad externa del software.
- Pruebas basadas en requisitos: Se derivan directamente de los requisitos del software.
- Pruebas aleatorias: Se generan entradas aleatorias para encontrar defectos inesperados.
- Pruebas de mutación: Se introducen pequeños cambios en el código para evaluar la efectividad de las pruebas.
¿Cuáles son las fases típicas del ciclo de vida de las pruebas?
- Planificación y control de las pruebas.
- Diseño de las pruebas.
- Ejecución de las pruebas.
- Evaluación de los resultados.
- Reporte de defectos.
¿Cuáles son los principios fundamentales de las pruebas de software?
- Las pruebas demuestran la presencia de defectos, no su ausencia.
- Es imposible realizar pruebas exhaustivas.
- Las pruebas tempranas ahorran tiempo y dinero.
- Los defectos tienden a agruparse.
- La paradoja del pesticida (las mismas pruebas pueden dejar de detectar defectos con el tiempo).
¿Qué son las pruebas de caja blanca?
Las pruebas de caja blanca, también conocidas como pruebas estructurales o de caja de cristal, son un tipo de pruebas de software que se centran en la estructura interna del código. El tester tiene acceso al código fuente y utiliza este conocimiento para diseñar casos de prueba.
¿Cuál es el objetivo principal de las pruebas de caja blanca?
El objetivo es verificar que el flujo interno del código se ejecute correctamente y que todas las ramas, condiciones y rutas de código se ejecuten al menos una vez.
¿Cuál es el objetivo principal de las pruebas de caja blanca?
El objetivo es verificar que el flujo interno del código se ejecute correctamente y que todas las ramas, condiciones y rutas de código se ejecuten al menos una vez.
¿Por qué son importantes las pruebas de caja blanca?
Son fundamentales para garantizar la calidad del código a nivel interno, detectar errores lógicos y optimizar el rendimiento del software.
Pruebas de Caja Blanca ventajas
- Permite identificar errores lógicos y de codificación.
- Ayuda a optimizar el código.
- Puede automatizarse en gran medida.
Pruebas de Caja Blanca desventajas
- Requiere un profundo conocimiento del código fuente.
- Puede ser costoso y tiempo-consumidor.
- No garantiza que el software funcione correctamente desde el punto de vista del usuario final.
¿Qué son las pruebas de caja negra?
Las pruebas de caja negra, también conocidas como pruebas funcionales, son un tipo de pruebas de software donde se evalúa la funcionalidad de un sistema sin conocer su estructura interna. Es como probar una caja sin saber qué hay dentro, basándose únicamente en sus entradas y salidas.
¿Cuál es el objetivo principal de las pruebas de caja negra?
El objetivo es verificar que el sistema se comporta como se espera, cumpliendo con los requisitos funcionales especificados. Se enfoca en las interfaces del sistema y en las interacciones del usuario.
¿Por qué son importantes las pruebas de caja negra?
Son fundamentales para asegurar que el software cumple con las expectativas del usuario final, ya que simulan el uso real del sistema. Además, ayudan a identificar errores en la lógica del sistema y en la interfaz de usuario.
¿Cuáles son las técnicas más comunes para diseñar casos de prueba de caja negra?
- Partición de equivalencia: Dividir el rango de valores de entrada en clases de equivalencia para seleccionar valores representativos de cada clase.
- Análisis de valores límite: Seleccionar valores límite para las entradas, como valores mínimos, máximos, nulos o vacíos.
- Tabla de decisión: Utilizar tablas para representar las condiciones de entrada y las acciones correspondientes.
- Pruebas basadas en uso: Diseñar casos de prueba basados en los escenarios de uso más comunes del sistema.
Pruebas de Caja Negra ventajas
- No requiere conocimiento del código interno.
- Se pueden realizar por personas sin conocimientos técnicos profundos.
- Se enfoca en la perspectiva del usuario.
Pruebas de Caja Negra desventajas
- Puede que no se detecten todos los posibles errores.
- Requiere una especificación de requisitos clara y completa.
- Puede ser redundante si se combinan con pruebas de caja blanca.
¿Qué son los niveles de prueba?
Los niveles de prueba son las distintas fases o etapas por las que pasa un software durante el proceso de pruebas, cada una enfocada en un aspecto particular del sistema.