La experiencia indica que los casos de prueba que exploran las condiciones límite de un programa producen un mejor resultado para detectar defectos.
El AVL (Análisis de valores límite) es una técnica de diseño de casos de prueba que complementa a la de particiones de equivalencia.
La principal diferencia se encuentra en el tratamiento que tienen las clases de equivalencia de rango de valores y de número finito y consecutivo de valores. Ahora la prueba se realizará sobre los valores límite de los rangos.
Ejemplo |
Clase de equivalencia |
Valores límite |
---|---|---|
La edad de acceso a un evento está comprendida entre 18 y 100 años. |
Clase valida: |
Clases válidas: |
Valor entre 18 - 100. Caso único. P.e 30 |
Caso 1: 18 Caso 2: 100 |
|
Clases no válidas: |
Clases no válidas: |
|
Menor de 18. P.e 15 Mayor de 100. P.e. 110 |
Menor de 18. 17 Mayor de 100. 101 |
|
Una encuesta puede ser valorada con los valores 0, 1, 2, 3. |
Clase valida: |
Clases válidas: |
Cualquier de los valores 0,1,2,3 Caso único. P.e 2 |
Caso 1: 0 Caso 2: 3 |
|
Clases no válidas: |
Clases no válidas: |
|
Menor de 0. P.e -10 Mayor de 3. P.e 7 |
Valor -1 Valor 4 |
En las pruebas AVL también habría que generar casos de prueba atendiendo a clases de equivalencia de los datos de salida.
En el código Java adjunto, aparecen dos funciones que reciben el parámetro x. En la función1, el parámetro es de tipo real y en la función2, el parámetro es de tipo entero.
Como se aprecia, el código de las dos funciones es el mismo, sin embargo, los casos de prueba con valores límite va a ser diferente.
La experiencia ha demostrado que los casos de prueba que obtienen una mayor probabilidad de éxito, son aquellos que trabajan con valores límite.
Esta técnica, se suele utilizar como complementaria de las particiones equivalentes, pero se diferencia, en que se suelen seleccionar, no un conjunto de valores, sino unos pocos, en el límite del rango de valores aceptado por el componente a probar.
Cuando hay que seleccionar una valor para realizar una prueba, se escoge aquellos que están situados justo en el límite de los valores admitidos.
Por ejemplo, supongamos que queremos probar el resultado de la ejecución de una función, que recibe un parámetro x:
- Si el parámetro x de entrada tiene que ser mayor estricto que 5, y el valor es real, los valores límite pueden ser 4,99 y 5,01.
- Si el parámetro de entrada x está comprendido entre -4 y +4, suponiendo que son valores enteros, los valores límite serán -5, -4 ,-3,3, 4 y 5.