Please enable JavaScript.
Coggle requires JavaScript to display documents.
Tema 2.2 pruebas de unidad (caja negra) - Coggle Diagram
Tema 2.2 pruebas de unidad (caja negra)
Introducción
Evalúa directamente una unidad de código
Trata de probar si la unidad contradice su especificación
Ventajas principales
Simplifican la interpretación de resultados.
Son predecibles (no dependen de otros módulos).
Pueden ejecutarse en paralelo y rápidamente.
Sirven como documentación viva del código.
Promueven depuración sencilla.
Principios FIRST
Fast
Isolated
Repeatable
Self-validating
Thorough
Diseño de pruebas de unidad
Objetivo general
Crear pocos casos de prueba muy representativos que cubran el máximo de escenarios posibles.
Estrategia general
Definir escenarios de prueba a partir de
Categorias generales
Casos normales y excepcionales
Asignar casos representativos
Con sus entradas y salidas esperadas
Verificar cobertura de escenarios
Estrategias de Caja Negra
Métodos
Clases de Equivalencia
Grupos de datos que deberían ser tratados igual por el software, es decir, si dos entradas ejercitan el mismo camino en el código
Un representante cubre toda la clase
Motivación
Reducir el dominio de entradas agrupandolo en subconjuntos
Un único caso de prueba válido o inválido por subconjunto
Ejemplo conceptual
Agrupar personas según el mes de nacimiento: 12 clases.
Aplicación en testing
Se crean clases sobre
Dominios de entrada
Dominios de salida
Valores válidos e inválidos
Tipos de dominio
Datos numéricos en un rango
Ej. temperatura corporal: 36 °C ≤ temp ≤ 41 °C
Datos con valores en un conjunto finito
Ej. días de la semana = {L, M, X, J, V, S, D}.
Cadenas con formato específico
Ej. números de teléfono, códigos postales, DNI
Datos lógicos
Ej. verdadero (T), falso (F).
Criterios útiles para definir clases de equivalencia
Intervalos de valores
Cantidad de parámetros de entrada
Valores individuales de variables
Restricciones o reglas de negocio
Método
Identificar clases de equivalencia
Tanto datos de entrada como salida, con calses válidas e inválidas
Asignar un identificador único a cada clase CV1, CI2...
Diseñar casos de prueba que cubran todas las clases
Un caso válido debe representar el mayor número de clases válidas posibles
Un caso inválido debe representar una sola clase inválida
Repetir hasta que todas las clases estén representadas.
Valores Frontera
Definición y motivación
Los errores suelen concentrarse en los límites de los rangos válidos o inválidos.
se deben crear casos específicos para los extremos del dominio
Complementa a las clases de equivalencia
Criterios útiles
Valores mínimos y máximos dentro de un intervalo
Valores justo por debajo o por encima de los mínimos y máximos.
Valores que satisfacen o violan restricciones por muy poco.