En el tema anterior estudiamos clases de equivalencia, una técnica que agrupa datos que deberían comportarse de manera similar. Ahora veremos una técnica complementaria: análisis de valores límite.
Los defectos suelen aparecer en los bordes de los rangos permitidos. Por ejemplo, si un sistema acepta edades entre 18 y 65, es más probable encontrar errores alrededor de 18 y 65 que en un valor intermedio como 35.
La técnica de valores límite ayuda a seleccionar datos cercanos a esos bordes para comprobar si el sistema acepta y rechaza correctamente.
Un valor límite es un valor ubicado en el borde entre una clase válida y una clase inválida. También se prueban valores inmediatamente antes y después del límite.
Ejemplo:
Valores interesantes:
Estos valores suelen revelar errores de comparación, como usar mayor que en lugar de mayor o igual que.
Muchos defectos ocurren por errores en condiciones. Por ejemplo:
> cuando debía usarse >=.< cuando debía usarse <=.Por eso no alcanza con probar un valor central de una clase válida. También debemos revisar los bordes.
Las clases de equivalencia y los valores límite se usan juntas. Primero podemos identificar clases y luego analizar sus bordes.
Ejemplo:
| Clase | Valores | Tipo |
|---|---|---|
| Menor que 18 | 0 a 17 | Inválida |
| Entre 18 y 65 | 18 a 65 | Válida |
| Mayor que 65 | 66 en adelante | Inválida |
Los valores límite están en la frontera entre esas clases: 17, 18, 65 y 66. También se pueden incluir 19 y 64 para tener valores cercanos internos.
Una forma práctica de aplicar la técnica es:
La clave es leer con precisión la regla. No es lo mismo "mayor que 18" que "mayor o igual que 18".
Regla:
| Valor | Posición | Resultado esperado |
|---|---|---|
| 17 | Justo antes del mínimo | Rechazar registro. |
| 18 | Mínimo válido | Aceptar registro. |
| 19 | Justo después del mínimo | Aceptar registro. |
| 64 | Justo antes del máximo | Aceptar registro. |
| 65 | Máximo válido | Aceptar registro. |
| 66 | Justo después del máximo | Rechazar registro. |
Regla:
Valores límite por longitud:
En este caso no importa solamente el texto elegido, sino su cantidad de caracteres. El caso de prueba debe dejar clara la longitud usada.
Regla:
| Cantidad | Resultado esperado |
|---|---|
| 0 | Rechazar compra o impedir seleccionar esa cantidad. |
| 1 | Aceptar compra. |
| 2 | Aceptar compra. |
| 9 | Aceptar compra. |
| 10 | Aceptar compra. |
| 11 | Rechazar compra. |
Si además existe una regla de stock, debemos combinar este análisis con la disponibilidad real del producto.
Regla:
Aquí el límite inferior es exclusivo y el superior es inclusivo. Eso cambia los resultados esperados:
Este ejemplo muestra por qué debemos leer cuidadosamente expresiones como "mayor que", "menor que", "mayor o igual" y "menor o igual".
Un límite inclusivo forma parte del conjunto válido. Un límite exclusivo queda fuera.
| Regla | Significado | Ejemplo con 18 |
|---|---|---|
| Mayor que 18 | 18 no está permitido. | 18 inválido, 19 válido. |
| Mayor o igual que 18 | 18 sí está permitido. | 18 válido. |
| Menor que 18 | 18 no está permitido. | 17 válido para esa regla, 18 inválido. |
| Menor o igual que 18 | 18 sí está permitido. | 18 válido. |
Muchos defectos aparecen cuando el sistema interpreta mal este detalle.
Los valores límite también aplican a fechas.
Regla:
Fechas relevantes:
En fechas también pueden aparecer problemas por zona horaria, hora exacta de inicio o fin, días hábiles, fines de semana y formato regional.
Algunas reglas no se expresan como números ingresados por el usuario, sino como cantidad de elementos permitidos.
Ejemplos:
Para "hasta 3 direcciones", valores relevantes serían 2, 3 y 4. Para un archivo de hasta 1000 filas, probaríamos 999, 1000 y 1001.
En campos de texto, los límites suelen estar relacionados con longitud mínima y máxima.
Ejemplo:
Longitudes a probar:
Además de longitud, puede ser necesario probar caracteres especiales, espacios, acentos o números si la regla los menciona.
Cuando trabajamos con decimales, debemos conocer la precisión permitida. No es lo mismo permitir enteros, dos decimales o cualquier cantidad de decimales.
Ejemplo:
Valores relevantes:
En importes y porcentajes, los errores de redondeo también pueden ser importantes.
Los valores elegidos deben convertirse en casos claros. Ejemplo para contraseña de 8 a 20 caracteres:
| Longitud | Caso de prueba | Resultado esperado |
|---|---|---|
| 7 | Ingresar contraseña de 7 caracteres. | Rechazar y mostrar mensaje de longitud mínima. |
| 8 | Ingresar contraseña de 8 caracteres. | Aceptar si cumple las demás reglas. |
| 20 | Ingresar contraseña de 20 caracteres. | Aceptar si cumple las demás reglas. |
| 21 | Ingresar contraseña de 21 caracteres. | Rechazar y mostrar mensaje de longitud máxima. |
Según riesgo y tiempo disponible, podemos incluir también 9 y 19 como valores internos cercanos.
El análisis de valores límite tiene varias ventajas:
Es una técnica muy práctica porque muchas reglas de negocio tienen límites.
La técnica también tiene límites:
Cuando hay muchas condiciones combinadas, conviene complementarla con tablas de decisión u otras técnicas.
Al aplicar valores límite, algunos errores frecuentes son:
Estos errores pueden dejar sin cubrir justamente las zonas donde más suelen aparecer defectos.
Para aplicar bien esta técnica conviene:
El análisis de valores límite es una técnica simple y poderosa. Permite enfocarse en los bordes de una regla, donde suelen aparecer errores de comparación, inclusión, exclusión, redondeo o interpretación.
Combinada con clases de equivalencia, ayuda a diseñar pruebas más completas sin probar todos los valores posibles. Es especialmente útil en rangos, longitudes, fechas, cantidades y límites de negocio.
En el próximo tema estudiaremos tablas de decisión, una técnica muy útil cuando el resultado depende de varias condiciones combinadas.