El análisis de valores límite se basa en una idea sencilla y práctica: los errores suelen producirse en los límites de los intervalos y las condiciones. En esos puntos son habituales los operadores de comparación incorrectos, la confusión entre límites incluidos y excluidos y el tratamiento erróneo de valores vacíos o extremos.
Qué se considera un límite
- →El valor mínimo permitido
- →El valor máximo permitido
- →El valor inmediatamente anterior a un límite
- →El valor situado exactamente en un límite
- →El valor inmediatamente posterior a un límite
Ejemplo
Si las contraseñas deben tener entre 8 y 20 caracteres, unas longitudes útiles son 7, 8, 9, 19, 20 y 21. Suelen aportar más valor que longitudes arbitrarias como 11 y 14.
Dónde resulta especialmente útil
- →Intervalos numéricos, límites, longitudes de cadenas y tamaños de archivo
- →Fechas e intervalos: comienzos, finales, plazos y vencimientos
- →Límites de cantidad: intentos, elementos, solicitudes y usuarios
- →Reglas de negocio basadas en umbrales: descuentos según el importe, acceso según el rol y cambios de estado al cumplirse determinadas condiciones
Errores frecuentes
- →Comprobar solo los valores límite y olvidar sus vecinos
- →Ignorar límites lógicos que no son explícitamente numéricos
- →Pasar por alto si las condiciones incluyen o excluyen el límite
- →Considerar que el análisis de valores límite basta por sí solo para una lógica de negocio compleja
El análisis de límites combina especialmente bien con la partición de equivalencia: primero identifica las particiones y después refuerza la cobertura en sus extremos.
Matriz desarrollada de límites: extremos incluidos
Considera un campo didáctico independiente que acepta un identificador ASCII de entre 8 y 20 letras, ambos límites incluidos. Todos los caracteres son válidos; únicamente cambia la longitud. Se elige ASCII para que los caracteres, los bytes y las unidades de código no introduzcan una segunda variable. Es un ejercicio de diseño de pruebas, no una recomendación de seguridad para contraseñas.
Longitud Ejemplo Esperado
7 aaaaaaa Rechazar: demasiado corto
8 aaaaaaaa Aceptar
9 aaaaaaaaa Aceptar
19 aaaaaaaaaaaaaaaaaaa Aceptar
20 aaaaaaaaaaaaaaaaaaaa Aceptar
21 aaaaaaaaaaaaaaaaaaaaa Rechazar: demasiado largoPara esta regla de longitud entera, un conjunto compacto de análisis de 2 valores es 7, 8, 20 y 21: cruza cada frontera entre lo válido y lo no válido. El conjunto de 3 valores también incorpora el vecino situado al otro lado de cada extremo: 7, 8, 9 y 19, 20, 21. Este último puede revelar un defecto que afecte únicamente al vecino válido inmediato. Estos conjuntos no cubren todas las demás reglas de entrada.
Ejercicio: cantidad entre 1 y 5
Supongamos que una cantidad entera obligatoria debe estar entre 1 y 5, ambos incluidos. Anota los candidatos para el análisis de tres valores antes de leer la respuesta. Comprueba por separado la ausencia del campo, null, los valores no enteros y los no numéricos; los valores límite numéricos no representan esos casos.
Entrada Esperado
0 Rechazar
1 Aceptar
2 Aceptar
4 Aceptar
5 Aceptar
6 RechazarSi un extremo pasa a ser excluyente, deduce de nuevo los resultados esperados a partir de la nueva regla. Para valores decimales, marcas de tiempo o cadenas Unicode, primero define el incremento mínimo relevante y qué mide realmente el sistema. «Uno menos» que una fecha o un límite de tamaño de archivo no tiene un significado preciso sin una unidad.