¿Qué son las pruebas de dominio en las pruebas de software? (con ejemplo)

¿Qué es la prueba de dominio?

Pruebas de dominio es un Pruebas de software Proceso en el que se prueba la aplicación 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 los resultados requeridos.

Es un Prueba de funcion Técnica 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ás importantes Blanco Box Pruebas métodos. 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 es necesario tener conocimientos específicos del dominio para poder probar un sistema de software.

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 probar, dividiremos el sitio web 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 suelen estudiar 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ímites – El análisis de valores 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.

Pruebas de clase de equivalencia – La idea detrás de esta técnica es dividir (es decir, dividir) un conjunto de condiciones de prueba en grupos o conjuntos que puedan considerarse iguales (es decir, el sistema debería manejarlos de manera equivalente), de ahí la "partición de equivalencia".

Ese formulario simplificado se aplica a las pruebas de dominio:

  1. Sólo para pruebas de variables de entrada.
  2. Sólo cuando se prueba a nivel del sistema
  3. Sólo cuando se prueba uno a la vez
  4. Sólo 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:

  1. Si un campo acepta rangos de 0 a 100, el campo no debe aceptar -1 y 101 ya que son entradas no válidas y están más allá de los límites.
  2. El campo debe aceptar valores como 0,100 y cualquier número entre ellos.

Construyendo mesas como estas (en la práctica)

  1. 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. Añade información sobre ellos a medida que la obtengas.
  2. 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.
  3. En la práctica, la mayoría de las tablas que he visto están incompletas. Los mejores vistos enumeran todas las variables y agregan detalles para las variables críticas.

Estrategia de prueba de dominio

Al realizar pruebas de dominio, debe tener en cuenta lo siguiente:

  1. ¿Qué dominio estamos probando?
  2. ¿Cómo agrupar los valores en clases?
  3. ¿Qué valores de las clases se probarán?
  4. ¿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 ingresar algunas variables de entrada y se deberá verificar la salida adecuada.

Estrategia de prueba de dominio

Ejemplo de prueba de dominio

  1. 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 hay necesidad de clasificación ni de combinación de variables.

  1. Considere las siguientes entradas múltiples y el escenario de salida apropiado:

Consideremos una exhibición de juegos para niños, se organizan 6 competiciones y las entradas deben entregarse según la edad y el sexo. La venta de entradas es uno de los módulos que se probarán para toda la funcionalidad de la exhibición de los Juegos.

Según el escenario, obtuvimos seis escenarios según la edad y las competiciones:

  1. Edad >5 y <10, el niño debe participar en la narración.
  2. Edad >5 y <10, las niñas deben participar en el concurso de dibujo.
  3. Edad >10 y <15, el niño debe participar en el cuestionario.
  4. Edad >10 y <15, la niña debe participar en la redacción de ensayos.
  5. Edad <5, tanto niños como niñas deben participar en el Concurso de Rimas.
  6. Mayores de 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. En este caso, la partición de entradas o simplemente la agrupación de valores entran en escena.

¿Cómo agrupar los valores en clases?

Particionar algunos valores significa dividirlos en subconjuntos que no se superpongan.

Como comentamos anteriormente, existen dos tipos de partición:

  1. Partición de equivalencia – La partición de equivalencia es una pruebas de software Técnica que divide los datos de entrada de una unidad de software en particiones de datos equivalentes de los cuales 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.
  2. Análisis de valor límite – El análisis del valor límite es una pruebas de software Técnica en la que las pruebas se diseñan para incluir representantes de valores límite en un rango. La idea surge del límite.

Para el ejemplo anterior, estamos dividiendo los valores en un subconjunto o el subconjunto. Estamos dividiendo la edad en las siguientes clases:

  1. Clase 1: Niños con grupo de edad de 5 a 10 años.
  2. Clase 2 : Niños con grupo de edad menor de 5 años.
  3. Clase 3: Niños con grupo de edad de 10 a 15 años.
  4. Clase 4: Niños con grupo de edad mayor a 15 años.

¿Qué valores de las clases se probarán?

Los valores elegidos para las pruebas deben ser valores límite:

  1. Los límites son representantes de las clases de equivalencia de las que los tomamos como muestra. Es más probable que expongan un error que otros miembros de la clase, por lo que son mejores representantes.
  2. 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:

  1. Clase 1: Niños con grupo de edad de 5 a 10 años (Edad >5 y <=10)

Valores límite:

  1. Los valores deben ser iguales o menores que 10. Por lo tanto, la edad de 10 años debe incluirse en esta clase.
  2. Los valores deben ser mayores que 5. Por lo tanto, la edad de 5 años no debe incluirse en esta clase.
  3. Los valores deben ser iguales o menores que 10. Por lo tanto, los 11 años no deben incluirse en esta clase.
  4. Los valores deben ser mayores que 5. Por lo tanto, los 6 años deben incluirse en esta clase.

Valores de partición de equivalencia:

Se hace referencia a la partición de equivalencia cuando uno 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 las condiciones 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 denomina 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 sólo depende de los resultados de los escenarios anteriores. La entrada dada y la salida esperada nos darán los resultados y esto requiere conocimiento del dominio.

Determinando los resultados del ejemplo:

Determinar los resultados

Por lo tanto, si se pasan todos los casos de prueba anteriores, se pasa el dominio de emisión de boletos en la competencia. De lo contrario, 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 u omitirse según nuestras necesidades de prueba.

  • Identificar 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 indica arriba.
  • 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 utiliza el valor de esta variable.
  • Identifique variables adicionales potencialmente relacionadas para pruebas combinadas.
  • Imagine riesgos que no necesariamente se corresponden con una dimensión obvia.
  • Identificar y enumerar las variables no analizadas. Recopilar información para su posterior análisis.
  • Resuma su análisis con una tabla de riesgo/equivalencia.

Resum

Las pruebas de dominio, como se describe anteriormente, requieren conocimiento para proporcionar información correcta para lograr el resultado deseado. Por lo tanto, sólo es posible utilizarlo para pequeños fragmentos de código.