Análisis del valor límite – Una técnica de pruebas de caja negra
Ya sabemos que las pruebas de caja negra implican validar el sistema sin conocer su diseño interno. También hemos hablado de las trampas del particionamiento por equivalencia y de cómo pueden fallar en los límites de las particiones. En caso de que no hayas leído nuestro artículo sobre Partición de Equivalencia, te recomiendo que lo leas antes de leer este. En este artículo, discutiremos otra técnica de prueba de caja negra conocida como Análisis de Valor Límite. También veremos cómo esta técnica complementa la partición de equivalencia.
- ¿Qué es el análisis de valor límite?
- ¿Cómo hacer el análisis de valor límite?
- ¿Qué es el Análisis de Valor de Frontera con Partición de Equivalencia?
- Trampas del Análisis de Valor de Frontera
¿Qué es el Análisis de Valor de Frontera?
La base del Análisis de Valor de Frontera (BVA) es probar los límites en las particiones (¡Recuerde la Partición de Equivalencia!). BVA es una extensión de la partición de equivalencia. Sin embargo, sólo se puede utilizar cuando la partición está ordenada, formada por datos numéricos o secuenciales. Los valores mínimos y máximos de una partición son sus valores límite.
Hemos visto que hay muchas posibilidades de encontrar los defectos en los límites de una partición (Por ejemplo, un desarrollador que utiliza >10 en lugar de >= 10 para una condición). La partición de equivalencia por sí sola no era suficiente para detectar estos defectos. Por lo tanto, surgió la necesidad de definir una nueva técnica que pudiera detectar anomalías en los límites de la partición. Así es como el análisis de valor límite entró en escena.
El análisis de valor límite puede realizarse en todos los niveles de prueba, y se utiliza principalmente para un rango de números, fechas y tiempo.
¿Cómo hacer el análisis de valor límite?
Ahora que tenemos una idea sobre el análisis de valor límite vamos a entender cómo derivar las condiciones de prueba utilizando esta técnica. Nos referiremos al mismo ejemplo de la forma de gimnasia (Consulte nuestro artículo sobre Partición de Equivalencia) donde tenemos que introducir Age.
El primer paso del análisis de valor límite es crear la Partición de Equivalencia, que se vería como abajo.
Ahora Concéntrese en la Partición válida, que oscila entre 16-60. Tenemos un enfoque de 3 pasos para identificar los límites:
- Identificar el valor límite exacto de esta clase de partición – que es 16 y 60.
- Obtener el valor límite que es uno menos que el límite exacto – que es 15 y 59.
- Obtenga el valor límite que es uno más que el límite exacto – que es 17 y 61.
Si los combinamos todos, obtendremos las siguientes combinaciones para el valor límite para el criterio de edad.
Condiciones límite válidas : Edad = 16, 17, 59, 60
Condiciones límite inválidas : Edad = 15, 61
Es sencillo ver que las condiciones de contorno válidas entran en la clase de partición Válida, y las condiciones de contorno inválidas entran en la clase de partición Inválida.
¿Puedes averiguar por qué no hemos utilizado 16.1, 15.9, 59.9 y 60.1 como valores de incremento y decremento de los límites? Es un concepto que tiene una explicación insuficiente en la mayoría de los artículos. Por lo tanto, tomemos otro ejemplo para explicarlo. Supongamos que usted introduce su peso en una página web. Basándose en su peso y su altura, el sitio le dirá el Índice de Masa Corporal (IMC). Puede introducir valores de 30 a 150 kg en el campo de entrada de peso. El campo de entrada del peso sólo permite números naturales, es decir, enteros positivos:
En este caso, si crea los límites utilizando el mismo método, obtendrá
Condiciones límite válidas: Edad = 30, 31, 149, 150
Condiciones límite no válidas : Edad = 29, 151
Considere ahora el mismo escenario, pero el campo de entrada del peso permite números decimales de hasta 1 decimal. En este caso, las condiciones límite vendrán como:
Condiciones límite válidas : Edad = 30, 30.1, 149.9, 150
Condiciones límite inválidas : Edad = 29.9, 150.1
¿Has visto la diferencia? Tomamos el mínimo valor aceptable a cada lado de la frontera. Si tomamos el valor como 30,01, entonces terminamos probando el software para dos decimales cuando el requisito es un decimal. Es una condición de prueba separada y no debe ser mezclada con el valor de los límites.
La medición de la cobertura de los límites para una partición puede ocurrir como el número de valores de los límites probados dividido por el número total de valores de prueba de los límites identificados.
Análisis del valor de los límites con partición de equivalencia
Ahora tenemos una buena comprensión del análisis del valor de los límites. Por lo tanto, vamos a ver cómo podemos combinarlo con la partición de equivalencia para obtener un conjunto completo de condiciones de prueba.
Volviendo a nuestro ejemplo anterior, vamos a revisar el diagrama de nuevo.
El rango es de 16 – 60, y el análisis de valor límite nos da condiciones de prueba como 15, 16, 17, 59, 60, 61. Si te fijas bien, ¿no crees que ya hemos cubierto la partición de Equivalencia Válida al cubrir 17, 59, y la Partición de Equivalencia Inválida al cubrir 15 y 61? Después de todo la partición de Equivalencia dice que debemos elegir un número entre 16-60 para la partición válida y menos de 16 o más de 60 para la partición inválida. Entonces, si el valor límite ya cubre la partición de Equivalencia, ¿por qué necesitamos la partición como una técnica separada? Es un concepto que no está claro para la mayoría de la gente, y no hay muchos artículos que lo hayan explicado con claridad.
Teóricamente, el valor límite sí ha cubierto la partición de equivalencia, pero seguimos necesitando una partición. Si sólo aplicamos el valor Boundary, y falla, nunca sabremos si la condición de borde falló, o toda la partición falló. Vamos a comprenderlo con la ayuda de un ejemplo. Siguiendo con nuestro formulario de gimnasio, supongamos que el desarrollador ha escrito la siguiente lógica :
Si (edad < = 17 ) Entonces no permite la afiliación al gimnasio
Si (edad > 60) Entonces no permite la afiliación al gimnasio
Si observa la lógica, se dará cuenta de que la lógica debería haber sido If (edad <17), pero el desarrollador añadió el signo = de forma incorrecta. ¿También te has dado cuenta de que falta la lógica para toda la partición válida? If (age>=16 and age <= 60 ) Then allow Gym membership !
Si sólo utilizamos el valor de la condición límite 17, fallará la ejecución de la prueba. Sin embargo, no le dirá si la condición límite falló o si falló toda la partición. Por lo tanto, es esencial utilizar un valor de partición de equivalencia, que no es un valor de límite. En este caso, si utilizamos el valor 20, fallará la ejecución. Dará una clara indicación de que el desarrollador no ha implementado la partición completa.
Así que si combinamos tanto el Valor de Límite como la Partición de Equivalencia, nuestras condiciones de prueba serán :
Condiciones de Límite Válidas : Edad = 16, 17, 59, 60
Condiciones límite inválidas : Edad = 15, 61
Partición de Equivalencia Válida : Edad = 25
Partición de Equivalencia Inválida : Edad = 5 , 65
Trampas de BVA
Después de aplicar tanto la partición de valores límite como la de Equivalencia, ¿podemos decir con seguridad que hemos conseguido toda la cobertura requerida? Por desgracia, no es tan sencillo. El valor límite y la partición por equivalencia suponen que la aplicación no permite introducir otros caracteres o valores. No se permitirá la entrada de tales caracteres, como @ o valores negativos o incluso alfabetos. Sin embargo, esta suposición no es válida para todas las aplicaciones, y es esencial probarlas antes de poder decir que el valor del campo funciona completamente.
Aparte de eso, podemos tener situaciones en las que el valor de entrada depende de la decisión de otro valor. Por ejemplo, si el formulario del Gimnasio tiene otro campo Masculino y Femenino, y el límite de edad variará de acuerdo a esa selección. El valor límite por sí solo no puede manejar tales variaciones, y esto nos lleva a otra técnica de caja negra llamada Prueba de Tabla de Decisión. Lo discutiremos en detalle en nuestro próximo artículo. Esté atento!