¿Qué es la prueba de dominio?
La prueba de dominio es un proceso de prueba de software en el que la aplicación se prueba dando un número mínimo de entradas y evaluando sus salidas apropiadas. El objetivo principal de las pruebas de dominio es verificar si la aplicación de software acepta entradas dentro del rango aceptable y entrega la salida requerida.
Es una técnica de prueba funcional en la que la salida de un sistema se prueba con un número mínimo de entradas para garantizar que el sistema no acepte valores de entrada no válidos y fuera de rango. Es uno de los métodos de prueba de caja blanca más importantes. También verifica que el sistema no debe aceptar entradas, condiciones e índices fuera del rango especificado o válido.
Las pruebas de dominio difieren para cada dominio específico, por lo que debe tener conocimientos específicos del dominio para probar un sistema de software.
En este tutorial, aprenderá:
- Práctica más sencilla de pruebas de dominio
- Estrategia de prueba de dominio
- Ejemplo de prueba de dominio
- Estructura de prueba de dominio
Práctica más sencilla de pruebas de dominio
En las pruebas de dominio, dividimos un dominio en subdominios (clases de equivalencia) y luego probamos usando valores de cada subdominio. Por ejemplo, si se ha proporcionado un sitio web (dominio) para realizar pruebas, lo dividiremos en pequeñas porciones (subdominio) para facilitar la prueba.
El dominio puede implicar la prueba de cualquier variable de entrada o combinación de variables de entrada.
Los profesionales a menudo estudian los casos más simples de pruebas de dominio con menos de otros dos nombres, "pruebas de límites" y "análisis de clases de equivalencia".
Prueba de límite: el análisis de valor límite (BVA) se basa en pruebas en los límites entre particiones. Probaremos los valores de entrada válidos e inválidos en la partición / clases.
Prueba de clase de equivalencia : la idea detrás de esta técnica es dividir (es decir, particionar) un conjunto de condiciones de prueba en grupos o conjuntos que se pueden considerar iguales (es decir, el sistema debe manejarlos de manera equivalente), por lo tanto, "partición de equivalencia".
Esa forma simplificada se aplica a las pruebas de dominio:
- Solo para pruebas de variables de entrada
- Solo cuando se prueba a nivel de sistema
- Solo cuando se prueban uno a la vez
- Solo cuando se prueba de una manera muy superficial.
Se puede simplificar de la siguiente manera:
Variable | Clase de equivalencia de clase válida | Clase de equivalencia de clase no válida | Límites y casos especiales | Notas |
---|---|---|---|---|
X | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Explicación:
- Si un campo acepta rangos de 0-100, el campo no debe aceptar -1 y 101 ya que son entradas inválidas y más allá de los límites.
- El campo debe aceptar valores como 0,100 y cualquier número entre ellos.
Mesa de construcción como estas (en la práctica)
- Para construir un análisis de clases de equivalencia a lo largo del tiempo, coloque la información en una hoja de cálculo. Empiece por enumerar las variables. Agregue información sobre ellos a medida que la obtenga.
- La tabla debería eventualmente contener todas las variables. Esto significa, todas las variables de entrada, todas las variables de salida y cualquier variable intermedia que pueda observar.
- En la práctica, la mayoría de las tablas que he visto están incompletas. Las mejores vistas enumeran todas las variables y agregan detalles para las variables críticas.
Estrategia de prueba de dominio
Mientras prueba el dominio, debe considerar las siguientes cosas,
- ¿Qué dominio estamos probando?
- ¿Cómo agrupar los valores en clases?
- ¿Qué valores de las clases se van a probar?
- ¿Cómo determinar el resultado?
¿Qué dominio estamos probando?
Cualquier dominio que probamos tiene alguna funcionalidad de entrada y una funcionalidad de salida. Habrá que introducir algunas variables de entrada y se debe verificar la salida adecuada.
Ejemplo de prueba de dominio
- Considere un escenario de prueba de entrada única:
C = a + b, donde a y b son variables de entrada y C es la variable de salida.
Aquí, en el ejemplo anterior, no es necesario clasificar o combinar las variables.
- Considere las siguientes entradas múltiples y el escenario de salida apropiado:
Considere una exhibición de juegos para niños, se organizan 6 concursos y los boletos deben entregarse de acuerdo con la entrada de edad y género. La venta de entradas es uno de los módulos que se probarán para toda la funcionalidad de la exhibición de Juegos.
Según el escenario, obtuvimos seis escenarios basados en la edad y las competencias:
- Edad> 5 y <10, el niño debe participar en Storytelling.
- Edad> 5 y <10, la niña debe participar en el Concurso de Dibujo.
- Edad> 10 y <15, el niño debe participar en la prueba.
- Edad> 10 y <15, la niña debe participar en la redacción de ensayos.
- Edad <5, tanto niños como niñas deben participar en el Concurso de Rimas.
- Edad> 15 años, tanto niños como niñas deben participar en el concurso de poesía.
Aquí la entrada será Edad y Género y, por lo tanto, se emitirá el boleto para la competencia. Este caso de partición de entradas o simplemente agrupación de valores entra en escena.
¿Cómo agrupar los valores en clases?
Particionar algunos valores significa dividirlos en subconjuntos que no se superponen.
Como comentamos anteriormente, existen dos tipos de particiones:
- Partición de equivalencia: la partición de equivalencia es una técnica de prueba de software que divide los datos de entrada de una unidad de software en particiones de datos equivalentes de los que se pueden derivar casos de prueba. En principio, los casos de prueba están diseñados para cubrir cada partición al menos una vez.
- Análisis del valor límite: el análisis del valor límite es una técnica de prueba de software en la que las pruebas están diseñadas para incluir representantes de los valores límite en un rango. La idea viene de la frontera .
Para el ejemplo anterior, estamos dividiendo los valores en un subconjunto o subconjunto. Estamos dividiendo la edad en las siguientes clases:
- Clase 1: Niños con grupo de edad de 5 a 10
- Clase 2: Niños con grupo de edad menor de 5 años
- Clase 3: Niños con grupo de edad de 10 a 15 años
- Clase 4: Niños con grupo de edad mayor de 15 años.
¿Qué valores de las clases se van a probar?
Los valores recogidos para la prueba deben ser valores límite:
- Los límites son representantes de las clases de equivalencia de las que los muestreamos. Es más probable que expongan un error que otros miembros de la clase, por lo que son mejores representantes.
- El mejor representante de una clase de equivalencia es un valor entre el rango.
Para el ejemplo anterior, tenemos las siguientes clases para probar:
Por ejemplo, para el escenario n. ° 1:
- Clase 1: Niños con grupo de edad de 5 a 10 (Edad> 5 y <= 10)
Valores límite:
- Los valores deben ser iguales o menores que 10. Por lo tanto, la edad de 10 años debe incluirse en esta clase.
- Los valores deben ser superiores a 5. Por lo tanto, la edad de 5 años no debe incluirse en esta clase.
- Los valores deben ser iguales o inferiores a 10. Por lo tanto, la edad de 11 años no debe incluirse en esta clase.
- Los valores deben ser superiores a 5. Por lo tanto, la edad de 6 años debe incluirse en esta clase.
Valores de partición de equivalencia:
Se hace referencia a la partición de equivalencia cuando se tiene que probar solo una condición de cada partición. En esto, asumimos que si una condición en una partición funciona, entonces todas deberían funcionar. De la misma manera, si una condición en esa partición no funciona, asumimos que ninguna de las otras condiciones funcionará. Por ejemplo,
(Edad> 5 y <= 10)
Como los valores del 6 al 10 son válidos, se debe seleccionar uno de los valores entre 6, 7, 8, 9 y 10. Por lo tanto, la edad seleccionada "8" es una edad de entrada válida para el grupo de edad entre (Edad> 5 y <= 10). Este tipo de partición se conoce como partición de equivalencia.
Guión | Valores límite a tomar | Valores de partición de equivalencia |
---|---|---|
Niño - Edad> 5 y <= 10 | Edad de entrada = 6 Edad de entrada = 5 Edad de entrada = 11 Edad de entrada = 10 | Edad de entrada = 8 |
Niña - Edad> 5 y <= 10 | Edad de entrada = 6 Edad de entrada = 5 Edad de entrada = 11 Edad de entrada = 10 | Edad de entrada = 8 |
Niño - Edad> 10 y <= 15 | Edad de entrada = 11 Edad de entrada = 10 Edad de entrada = 15 Edad de entrada = 16 | Edad de entrada = 13 |
Niña - Edad> 10 y <= 15 | Edad de entrada = 11 Edad de entrada = 10 Edad de entrada = 15 Edad de entrada = 16 | Edad de entrada = 13 |
Edad <= 5 | Edad de entrada = 4 Edad de entrada = 5 | Edad de entrada = 3 |
Edad> 15 | Edad de entrada = 15 Edad de entrada = 16 | Edad de entrada = 25 |
¿Cómo determinamos si el programa pasó o no la prueba?
Pasar la funcionalidad no solo depende de los resultados de los escenarios anteriores. La entrada dada y la salida esperada nos darán los resultados y esto requiere conocimiento de dominio.
Determinando los resultados del ejemplo:
Por lo tanto, si todos los casos de prueba de lo anterior pasan, se pasa el dominio de emisión de boletos en la competencia. Si no es así, el dominio falla.
Estructura de prueba de dominio
Por lo general, los evaluadores siguen los pasos a continuación en una prueba de dominio. Estos pueden personalizarse / omitirse de acuerdo con nuestras necesidades de prueba.
- Identifica las variables potencialmente interesantes.
- Identifique las variables que puede analizar ahora y ordénelas (de menor a mayor y viceversa).
- Cree e identifique valores límite y valores de clase de equivalencia como se indicó anteriormente.
- Identificar dimensiones secundarias y analizar cada una de forma clásica. (En el ejemplo anterior, Género es la dimensión secundaria).
- Identificar y probar variables que contienen resultados (variables de salida).
- Evalúe cómo el programa usa el valor de esta variable.
- Identifique variables adicionales potencialmente relacionadas para las pruebas de combinación.
- Imagínese riesgos que no necesariamente se corresponden con una dimensión obvia.
- Identifique y enumere las variables no analizadas. Reúna información para su posterior análisis.
- Resuma su análisis con una tabla de riesgo / equivalencia.
Resumen:
Las pruebas de dominio, como se describe anteriormente, requieren el conocimiento de proporcionar la entrada correcta para lograr el resultado deseado. Por lo tanto, solo es posible usarlo para pequeños fragmentos de código.