Please enable JavaScript.
Coggle requires JavaScript to display documents.
Pruebas de software (Tipos de pruebas, técnicas y tácticas (Otros tipos de…
Pruebas de software
Tipos de pruebas, técnicas y tácticas
Pruebas de instalación
Pruebas de compatibilidad, entre versiones, con otros sistemas o interfaces.
Pruebas de humo y cordura, determinan si es razonable proceder con pruebas adicionales
Prueba de regresión, encontrar defectos después de un cambio importante en el código
Prueba de aceptación
Prueba alfa, forma de prueba de aceptación interna antes de que el software pase a la prueba beta
Prueba beta, forma de prueba de aceptación del usuario externo.
Pruebas funcionales
Pruebas no funcionales, ejm. escalabilidad, rendimiento, comportamiento bajo ciertas restricciones o seguridad
Pruebas continuas: son el proceso de ejecución de pruebas automatizadas
Pruebas destructivas, intentan hacer que el software o un subsistema falle
Pruebas de rendimiento de software: determinan cómo se desempeña un sistema en términos de capacidad de respuesta y estabilidad bajo una carga de trabajo particular.
Pruebas de usabilidad
Pruebas de accesibilidad, para discapacitados
Pruebas de seguridad
Internacionalización y localización
Pruebas de desarrollo, tiene como objetivo eliminar los errores de construcción antes de que el código sea promovido a otras pruebas
Pruebas A / B: es un método para ejecutar un experimento controlado para determinar si un cambio propuesto es más efectivo que el enfoque actual.
Prueba concurrente
Pruebas de conformidad o pruebas de tipo: verifican que un producto funcione de acuerdo con sus estándares especificados
Prueba de comparación de salida, pruebas los diferentes tipos de salida como pantallas, mensajes, textos, etc.
Otros tipos de prueba
Prueba activa: introducir datos de prueba y analizar los resultados de la ejecución.
Prueba de edad: evalúa la capacidad de un sistema para realizar en el futuro
Pruebas ad-hoc: Pruebas realizadas sin planificación y documentación, el probador intenta 'romper' el sistema probando aleatoriamente la funcionalidad del sistema
Prueba de afirmación: tipo de prueba que consiste en verificar si las condiciones confirman los requisitos del producto
Prueba de API: técnica de prueba similar a la prueba unitaria.
Prueba de todos los pares: prueba todas las combinaciones discretas posibles de parámetros de entrada
Prueba de ruta de base: se basa en una guía para definir un conjunto básico de rutas de ejecución.
Prueba de referencia: evalúa el rendimiento del hardware y software de una computadora en una configuración dada
Big Bang Integration Testing: integra módulos de programa individuales solo cuando todo está listo
Prueba de portabilidad binaria: prueba la portabilidad de una aplicación ejecutable a través de plataformas y entornos del sistema
Prueba de valor límite: incluir representantes de valores límite
Pruebas de integración ascendentes: los módulos del nivel más bajo se desarrollan primero y luego se incluyen otros módulos y se prueban uno por uno
Prueba de rama: todas las ramas del código fuente del programa se prueban al menos una vez
Prueba de amplitud: conjunto de pruebas que valida la funcionalidad completa de un producto, pero no prueba las características en detalle
Prueba de comparación: compara las fortalezas y debilidades del producto con versiones anteriores u otros productos similares
Prueba de cobertura de condición: cada condición se ejecuta al hacerla verdadera y falsa, en cada una de las formas al menos una vez
Prueba de conversión: convierte datos de sistemas existentes para su uso en sistemas de reemplazo
Prueba de cobertura de decisiones: se ejecuta cada condición / decisión configurándola en verdadero / falso
Prueba de dominio: comprueba que el programa solo acepta entradas válidas
Prueba de manejo de errores: determina la capacidad del sistema para procesar correctamente las transacciones erróneas
Prueba de resistencia: verifica si hay pérdidas de memoria u otros problemas que pueden ocurrir con la ejecución prolongada
Prueba de partición de equivalencia: divide los datos de entrada de una unidad de software en particiones de datos a partir de los cuales se pueden derivar casos de prueba
Prueba de inyección de fallas: comprueba la forma en que la aplicación bajo prueba maneja las excepciones.
Verificación formal Prueba: Prueba la corrección de los algoritmos de un sistema con respecto a una determinada especificación formal o propiedad, utilizando métodos formales de matemática
Fuzz Testing: Enviar datos no válidos, inesperados o aleatorios a las entradas de un programa, un área especial de prueba de mutación
Prueba de gorila: probar en gran medida un módulo en particular.
Prueba basada en palabras clave: metodología de prueba de software para pruebas automatizadas que separa el proceso de creación de pruebas en dos etapas distintas: una etapa de planificación y una etapa de implementación
Prueba de carga: Enviar grandes volúmenes de datos en un tiempo corto a un sistema o dispositivo y medir su respuesta
Prueba de bucle: comprueba los bucles de programa
Prueba de mutación: modificar el código fuente de los programas o el código de bytes de forma pequeña para probar secciones del código a las que rara vez o nunca se accede durante la ejecución de las pruebas normales
Pruebas negativas: el objetivo de las pruebas es mostrar que un componente o sistema no funciona
Prueba de matriz ortogonal: forma sistemática y estadística de prueba que se puede aplicar en la prueba de interfaz de usuario, prueba de sistema, prueba de regresión, prueba de configuración y prueba de rendimiento
Prueba de rampa: elevar una señal de entrada continuamente hasta que el sistema se descomponga
Prueba de recuperación: evalúa qué tan bien se recupera un sistema de fallas en software o hardware u otros problemas catastróficos
Prueba de declaración: comprueba que cada declaración en un programa se ejecuta al menos una vez
Pruebas de almacenamiento: comprueba si almacena los archivos de datos en los directorios correctos y que reserva espacio suficiente para evitar terminaciones inesperadas como resultado de la falta de espacio
Prueba de actualización: verifica si los activos creados con versiones anteriores se pueden usar correctamente y no se cuestiona el aprendizaje de ese usuario
Ciclo de pruebas
Análisis de requisitos
Planificación de prueba, estrategia de prueba, plan de prueba, creación de banco de pruebas
Desarrollo de pruebas, procedimientos de prueba, escenarios de prueba, casos de prueba, conjuntos de datos de prueba, scripts de prueba
Ejecución de prueba
Informes de prueba
Análisis del resultado de la prueba, el Análisis de defectos, lo realiza el equipo de desarrollo, generalmente junto con el cliente, para decidir qué defectos deben asignarse, repararse, rechazarse
Prueba de defectos detectados previamente
Pruebas de regresión
Cierre de la prueba
Taxonomía de pruebas:
• ¿Qué estamos probando?
• ¿Cuándo estamos probando?
• ¿Por qué estamos probando?
• ¿Quién realiza la prueba?
• ¿Dónde se realiza la prueba?
• ¿Cómo lo estamos probando?
• ¿Qué tan bien funcionan los objetos bajo prueba?
Artefactos de las pruebas
Plan de prueba: documento que detalla el enfoque que se tomará para las actividades de prueba previstas.
Matriz de trazabilidad: tabla que correlaciona requisitos o documentos de diseño con documentos de prueba
Caso de prueba: consta de un identificador único, referencias de requisitos de una especificación de diseño, condiciones previas, eventos, una serie de pasos a seguir, entrada, salida, resultado esperado y el resultado real.
Script de prueba: procedimiento o código de programación que replica las acciones del usuario.
Banco de pruebas: colección de casos de prueba es un conjunto de pruebas
Dispositivo de prueba o datos de prueba: Todos los valores de prueba y los componentes ambientales modificables se recopilan en archivos separados y se almacenan como datos de prueba.
Arnés de prueba: El software, las herramientas, las muestras de entrada y salida de datos y las configuraciones se denominan colectivamente como arnés de prueba
Enfoque de prueba
Pruebas estáticas, implican verificación
Pruebas dinámicas, implican verificación y validación
Prueba pasiva, no se interactúa con el producto
Enfoque exploratorio, enfatiza la responsabilidad individual del tester
Enfoque de caja
caja blanca: se tiene acceso al código
caja negra: solo se tiene acceso a la funcionalidad
Prueba de interfaz de componentes, se centra en los datos
Prueba visual, examinar lo que estaba sucediendo al momento del fallo
Prueba de caja gris, se tiene conocimiento de estructuras de datos y algoritmos y se interactúa con funcionalidad
Niveles de prueba
Prueba unitaria, verifica funcionalidad de una sección específica de código
Pruebas de integración, verifica las interfaces entre componentes contra un diseño de software
Prueba del sistema
Pruebas de aceptación operacional, se enfoca en la disponibilidad operativa del sistema que se admitirá o que formará parte del entorno de producción
Proceso de prueba
Modelo de desarrollo de cascada tradicional, las pruebas son realizadas por un grupo independiente de evaluadores
Modelo de desarrollo ágil o XP, los ingenieros de software escriben primero las pruebas unitarias
Pruebas automatizadas
Muchos grupos de programación confían cada vez más en las pruebas automatizadas para poder integrarlas con el software de integración continua .
Herramientas de prueba: Monitores del programa, Volcado formateado o depuración simbólica, herramientas de prueba de la Interfaz gráfica de usuario, análisis de rendimiento
Jerarquía de dificultad de prueba
Clase I: existe un conjunto de pruebas finito completo.
Clase II: cualquier tasa de distinción parcial se puede alcanzar con un conjunto de pruebas finito.
Clase III: existe un conjunto de pruebas completo contable.
Clase IV: existe un conjunto de pruebas completo.
Clase V: todos los casos.
Test: Ejecución de un objeto bajo prueba con unas condiciones previas, con estímulos específicos para comparar su comportamiento con el esperado
Estados previos: modo de prueba, estado, datos almacenados, condiciones externas
Estímulos: llamadas, comandos, mensajes, entradas de datos, eventos.
Comportamiento: datos devueltos o almacenados, excepciones, llamadas, comandos, mensajes, condiciones posteriores.
Propósito: detectar fallas
Roles: gerente de prueba, líder de prueba, analista de prueba, diseñador de prueba, probador, desarrollador de automatización y administrador de prueba
Verificación: ¿Hemos construido el software correcto? (es decir, implementa los requisitos).
Validación: ¿Hemos creado el software adecuado? (es decir, los entregables satisfacen al cliente).