testing - software - tecnica de valor limite
Prueba de clase de equivalencia frente a prueba de valor lĂmite (6)
El análisis del valor límite es parte o subconjunto de la partición de equivalencia. En el análisis de valores de límite, en lugar de algún valor aleatorio, solo se seleccionan los valores en el límite.
Entiendo cómo funcionan las pruebas de equivalencia.
¿En qué es igual o diferente a las pruebas de valor límite?
El análisis del valor límite supera el inconveniente de la partición de la clase de Equivalance. Si se fija una longitud fija para, por ejemplo, Número de móvil (10 dígitos).
El límite inferior en este caso es - dígito - 1 (es decir, 10 - 1 = 9) El límite superior en este caso es - dígito +1 (es decir, 10 + 1 = 11)
Ahora podemos realizar pruebas para el 9 y el 11.
La prueba de equivalencia debe complementarse con la prueba de valor límite.
Por ejemplo, para pruebas equivalentes de una función que toma valores entre 1 y 12.
(digamos meses de un año) las particiones serían:
Para las pruebas de equivalencia, es suficiente elegir un valor como entrada de prueba de cada una de estas clases de partición. Eso significaría que las pruebas con un valor de -2,6, y 15 se considerarían suficientes para probar el comportamiento de la función. Pero estos valores no detectan el error Off-by-one que puede ocurrir con bastante frecuencia.
Con la prueba de valor de límite, las entradas de prueba serían: -1,0,1,11,12,13 (en los límites), lo que atraparía los errores off-by-one.
Veo que estos dos métodos de prueba se complementan entre sí.
Tipos de pruebas dinámicas -
Especificaciones basadas en pruebas
A. Partición de Equivalance
A1. Boundary value analysis A2. Decision Tables A3. Use case Testing A4. State Transition testing
Pruebas de base estructural
A. Cobertura de prueba
B. cobertura del código
C. cobertura de la declaración
D. cobertura de la decisión
Experiencia basada en pruebas
A. prueba de error
B. Pruebas exploratorias
Partición de Equivalance: es una técnica donde el probador divide las condiciones de prueba en grupos y series. El sistema debería manejarlos de manera equivalente, por lo tanto, se llaman clases de equivalencia Para probar una condición de cada partición funcionará asumiendo que todas las condiciones funcionarán en esa partición.
EX >> Compruebe la suma de los valores de un solo dígito. Es decir, valores entre 0 y 9.
Valores menores que -9, es decir, -10, -11,…. (Partición inválida)
Valores menores que 0, es decir, -1, -2,…. hasta -9 (Partición válida)
Valores entre 0-9 es decir 0,1…. hasta el 9 (partición válida)
Valores superiores a 9, es decir, 10,11 (partición no válida)
Es suficiente probar la suma de dos valores de cada partición.
Pruebas de valor límite: se basan en pruebas en los límites entre particiones.
EX >> Considera debajo de la combinación.
Adición de -9 y -10,
Adición de -10 y -11
Adición de 0 y -1
Adición de 0 y 1
Adición de 9 y 10
Adición de 11 y 10
Prueba de clase de equivalencia
Prueba de EC es cuando tiene una serie de elementos de prueba (por ejemplo, valores) que desea probar, pero debido al costo (tiempo / dinero) no tiene tiempo para probarlos todos. Por lo tanto, se agrupa el elemento de prueba en clase, donde se supone que todos los elementos de cada clase se comportan exactamente igual. La teoría es que solo necesita probar uno de cada elemento para asegurarse de que el sistema funciona.
Ejemplo 1
Los niños menores de 2 años viajan gratis en los autobuses. Los jóvenes pagan $ 10, los adultos $ 15 y los adultos mayores pagan $ 5.
Clases:
Precio: 0 -> Edad: 0-1
Precio: 10 -> Edad: 2-14
Precio: 15 -> Edad: 15-64
Precio: 5 -> Edad: 65-infinito
Ejemplo 2 (más de un parámetro)
Los teléfonos celulares K80, J64 y J54 ejecutan Java 5. K90 y J99 ejecutan Java 6. Pero existen dos navegadores posibles: FireFox y Opera, los modelos J ejecutan los modelos FF y K ejecutan O.
Clases:
Navegador: FF, Java: 5 -> Teléfonos: J64, J54
Navegador: FF, Java: 6 -> Teléfonos: J99
Navegador: O, Java: 5 -> Teléfonos: K80
Navegador: O, Java: 6 -> Teléfonos: K90
Peligros de las pruebas de clase de equivalencia
Existe el peligro de utilizar las Pruebas EC que rara vez se mencionan en los libros de pruebas, pero es muy importante recordarlas.
Solo porque se supone que dos elementos / valores están en la misma clase y se comportan de la misma manera, no significa que se comporten de la misma manera.
Eso significa que solo porque prueba un valor en la clase que TODOS los valores en la clase se comportan igual. El ejemplo real del mío es con los teléfonos celulares que todos tenían una cierta plataforma Java. Se suponía que todos trabajaban igual pero no lo hacían en la realidad. Por lo tanto, probar solo un valor en una clase es bueno, pero no lo suficiente. EC Testing es una buena herramienta, pero no es infalible y ten cuidado con ella. Si los casos de prueba son baratos y rápidos (como la automatización), pruebe más, ¡o por qué no los prueba todos!
Prueba de valor límite
La prueba de BV es cuando usted decide probar los valores en el borde de cada clase que ha identificado. La teoría es que la mayoría de los defectos está alrededor de los bordes de una clase. Ejemplo
Clases:
Precio: 0 -> Edad: 0-1 (Valores límite 0, 1)
Precio: 10 -> Edad: 2-14 (Valores límite 2, 14)
Precio: 15 -> Edad: 15-64 (Valores límite 15, 64)
Precio: 5 -> Edad: 65-infinito (valores límite 65)
Crítica de las pruebas de valor límite
1) Yo, y otros profesionales de exámenes de los que he tomado cursos, no estamos convencidos de que la mayoría de los defectos estén ocultos en los bordes de cada clase. Y nunca he visto ningún estudio que demuestre que este sea el caso. 2) El hecho de que necesite usar la prueba de BV demuestra que la prueba de EC es defectuosa ya que prueba más de un valor de cada clase. 3) Es fácil de usar cuando se usan valores como números enteros. Pero, ¿cuál es el valor límite de las versiones de modelos de teléfonos o navegadores?
Prueba de valor de límite oculto
Los valores límite de una clase a menudo se basan en la especificación de cómo debería funcionar el sistema. Todo esto es bueno y está bien, pero la mayoría de los sistemas contienen límites que no se explican en ninguna especificación y tendrá que buscarlo usted mismo. Por ejemplo, "¿Cuántos caracteres puedo poner en el campo de prueba antes de que el sistema falle y se rompa?", "¿Qué tan grande puede llegar a ser el archivo de datos antes de que sea tan lento leerlo que se vuelve molesto".
Ejemplos del mundo real
- Al pegar un millón de caracteres en un área de texto en FireFox 3.5 para ganar 7, se bloquea
- ReCaptcha tiene un límite de 16003 caracteres, ¿su sistema maneja los 413 que le devuelve si alguien coloca 16004 caracteres en el campo? O se rompe
Resumen
EC Testing y BV Testing son excelentes herramientas y usted debería usarlas, pero no son perfectas y no esperan encontrar todos los defectos al usarlas. Usa tu know-how sobre el sistema y tu inteligencia e intuición para probar más elementos y busca otras formas en que podría fallar. ¡Y busca los límites ocultos!
El análisis del valor límite simplemente significa seleccionar valores cerca de los límites de las clases. Por lo tanto, aún está dividiendo el dominio de entrada según las clases, en lugar de seleccionar valores del medio de la clase, utilice los valores de los límites.
Por ejemplo, si la condición de entrada es un rango de 20 a 70, entonces tiene tres clases de entrada
- menos de 20
- entre 20 y 70
- mas de 70
luego, para el análisis de valor de límite, seleccione la entrada = 19, 20, 21, 69, 70, 71. Este tipo de análisis recoge errores en los límites.