Análisis de valores límite

Por qué los defectos suelen aparecer en los límites y cómo aplicar el análisis de valores límite a campos, intervalos y condiciones de transición.

Actualizado:

Contenido

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.

plain text
Longitud	Ejemplo	Esperado
7	aaaaaaa	Rechazar: demasiado corto
8	aaaaaaaa	Aceptar
9	aaaaaaaaa	Aceptar
19	aaaaaaaaaaaaaaaaaaa	Aceptar
20	aaaaaaaaaaaaaaaaaaaa	Aceptar
21	aaaaaaaaaaaaaaaaaaaaa	Rechazar: demasiado largo

Para 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.

plain text
Entrada	Esperado
0	Rechazar
1	Aceptar
2	Aceptar
4	Aceptar
5	Aceptar
6	Rechazar

Si 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.

Seguir aprendiendo

Partición de equivalencia

Casos de prueba

Referencia sobre las técnicas: programa ISTQB CTFL, secciones 4.2 y 5.5. Los ejemplos anteriores son escenarios didácticos originales.