Técnicas de diseño de prueba para usar en Magento 2

¡Hola, lector!

Entonces, ¿necesita probar una característica/corrección/personalización, pero no hay ningún especialista en control de calidad gratuito? Sucede.

En el siguiente artículo, describimos técnicas de prueba básicas que lo ayudarán a resolver estas situaciones de forma independiente.

Aquí está uno de los 7 principios de las pruebas :

Las pruebas exhaustivas son imposibles

¿Porque? La cuestión es que, para cualquier aplicación de la vida real, la cantidad de posibles casos de prueba es demasiado grande. Para reducir este número a un valor óptimo razonable, utilizamos una gama de técnicas de diseño de pruebas probadas y verdaderas.

Explicaremos estas técnicas con ejemplos basados ​​en la práctica que incluyen pruebas de Magento 2 Out Of Stock Notification . ¿Cómo funciona? Vea el cuadro a continuación.

Resumen del artículo [ ocultar ]

  • ¿Sufres desbordamiento de almacén? ¡Conoce qué productos necesitan tus clientes!
  • ¿Qué es la partición de equivalencia?
  • ¿Qué es el análisis de valores límite?
    • Análisis de valor límite: un complemento
  • Pruebas por pares
  • Epílogo
  • ¿Desea llenar su tienda solo con productos en demanda? ¡Consulta nuestra oferta!

¿Sufres desbordamiento de almacén? ¡Conoce qué productos necesitan tus clientes!

IR A LA EXTENSIÓN

 

¿Qué es la partición de equivalencia?

Esta técnica se utiliza para probar el procesamiento de entradas, salidas, valores internos y valores relacionados con el tiempo de manera eficiente. ¿Como funciona? Tiene que dividir una multitud de valores en clases de equivalencia o particiones de equivalencia dependiendo de las especificaciones de la aplicación bajo prueba. Todos los valores pertenecientes a una misma partición de equivalencia se procesan de la misma forma.

ejemplo _ El módulo OSN permite a un usuario suscribirse a productos agotados. Por lo tanto, debemos probar si el campo de suscripción ( Subscribe ) es visible para un cliente, es decir, si se muestra en la interfaz.

En una prueba de Magento 2 con una fecha de muestra preestablecida, hay 2046 productos con diferentes configuraciones y valores de atributos. Esto potencialmente nos proporciona 2046 casos de prueba:

Como regla general, la partición de equivalencia se usa para las pruebas de humo que ejecuta para verificar si la aplicación funciona.

Esto nos permite simplificar la tarea: consideraremos solo productos simples con visibilidad = Catálogo, Buscar .

Hay 32 de ellos. Todavía mucho.

Intentemos señalar las clases de equivalencia :

  • Productos con Cantidad > 0
  • Productos con Cantidad <= 0

Ahora solo necesitamos 2 casos de prueba:

  • el caso de prueba 1 verifica que el campo se muestre cuando sea necesario;
  • El caso de prueba 2 comprueba que el campo no se muestra cuando no se necesita.

Hemos asumido que la visualización del campo solo depende de la cantidad del producto (valor del campo de cantidad). Esto significa que todos los productos dentro de los rangos dados deben comportarse de manera idéntica.

El problema es que esta suposición es incorrecta.

Uno de los problemas clave con los que te encuentras al usar esta técnica son las condiciones adicionales. Los análisis de prueba no los conocen, ya que las especificaciones del producto rara vez los mencionan.

En nuestro caso, estas condiciones adicionales se reducen a Umbral de existencias agotadas y Pedidos pendientes en la pestaña Inventario avanzado.

Ahora que los conocemos, podemos mejorar nuestro modelo. Diseñaremos más casos de prueba utilizando otra técnica: tablas de decisión .

Así es como se ve por defecto:

Esta técnica ayuda a estructurar la información que obtiene de la especificación del producto/su experiencia/otras fuentes. A continuación proporcionamos una tabla de decisión redactada para nuestro caso:

Tenga en cuenta que :

  • «-» significa que el valor no afecta el resultado para las condiciones dadas.
  • No usamos números negativos para el umbral de existencias agotadas .

¿Qué obtenemos? El modelo se volvió más complejo y el número de casos de prueba se duplicó, llegando a 4. En el lado positivo, no importa la cantidad de productos en la tienda, siempre que podamos asignarlos a uno de los cuatro subconjuntos que tienen la combinaciones de propiedades descritas anteriormente.

Tipos de defectos detectados : defectos funcionales que provocan un tratamiento incorrecto de los datos.

Cobertura de prueba : la relación entre el número de clases de equivalencia dividido por el número de casos de prueba.

Ahora pasemos a otra técnica adecuada para las pruebas independientes de Magento: el análisis del valor límite.

¿Qué es el análisis de valores límite?

Los valores ubicados en los límites de la partición de equivalencia constituyen un punto de especial interés. Aquí es donde se resuelven los defectos.

El análisis del valor límite es una buena opción para conjuntos ordenados, como:

  • Estructuras de datos almacenadas
  • Actividades dependientes del tiempo
  • Atributos numéricos de variables no numéricas (p. ej., longitud);
  • Bucles, incluidos aquellos en casos de uso y más

Esta técnica se ajusta perfectamente a la prueba del campo Qty en el ejemplo anterior. Vamos a ver cómo funciona.

Umbral fuera de stock = 10

Esto significa que tan pronto como la cantidad de productos llegue a 10, comenzaremos a mostrar el campo Suscripción ( Subscribe ). Entonces podemos destacar 2 particiones de equivalencia:

  • Rango 1: x<=10;
  • Rango 2: x>10.

Para hacer el ejemplo más atractivo, permitiremos comprar el producto en partes:

  • Cant. Utiliza decimales = Sí

Magento permite a los usuarios guardar valores de cantidad de hasta 0,01. En nuestro ejemplo, es delta mínimo (incremento).

Para cada valor límite, podemos destacar 3 puntos notables :

  • ENCENDIDO : un punto límite. Para el 1er rango, es 10;
  • APAGADO – punto justo por encima del máximo (10) – 10.01;
  • IN – punto justo debajo del máximo – 9.99 (el menos interesante, podemos dejarlo pasar. Está incluido en la clase de equivalencia).

Ahora consideremos el Rango 2:

Para el segundo rango, obtenemos los siguientes puntos:

  • ENCENDIDO = 10.01
  • APAGADO = 10
  • EN = 10.02

Verás, los valores se repiten. Entonces podemos diseñar los siguientes 2 casos de prueba para cada uno de estos rangos:

Después de verificar con la base de datos, aprenderemos que la cantidad se puede almacenar al 0,0001 más cercano.

Entonces, ¿qué sucede en Magento 2 si la cantidad es mayor que 9,99 y menor que 10?

¿Se mostrará el campo si la cantidad es 9,9999? No, no lo hará.

Sin embargo, debe recordar que el incremento mínimo en Magento 2 y en la base de datos puede ser diferente.

Análisis de valor límite: un complemento

Al probar con esta técnica, generalmente agregamos la verificación de Qty = 0 y las condiciones de contorno relacionadas, incluso si no existen para una condición en particular. ¿Porque?

En primer lugar, es una tradición. El cero siempre ha sido una trampa a la hora de calcular, sobre todo en los albores de la programación.

En segundo lugar, no puede ser demasiado cauteloso al realizar las pruebas.

Vamos a ver cómo funciona.

Entonces, así es como podemos verificar la visualización del campo Suscribirse para un producto con los atributos a continuación:

  • Cant. Utiliza decimales = Sí
  • Umbral fuera de stock = 10

Podemos usar los siguientes valores:

Tipos de defectos : errores con lógica menor que y mayor que, límites perdidos y errores relacionados con el exceso de valores permitidos (como límite de valor en la base de datos).

Cobertura de prueba : la relación entre el número de clases de equivalencia dividido por el número de casos de prueba. En nuestro ejemplo, alcanzamos una cobertura del 100 % con la ayuda de 4 casos de prueba (normalmente no contamos un caso de prueba 0 en las métricas).

Pruebas por pares

Esta técnica es adecuada para probar diversas combinaciones de valores de parámetros. En lugar de verificar todas las combinaciones posibles, prueba solo las de cada par de parámetros.

Se estableció empíricamente que la mayoría de los defectos ocurren debido a una interacción defectuosa de 2 parámetros. Las interacciones de más de 3 parámetros dan como resultado defectos de identificación mucho más raramente.

¿Porque? Lea la Guía para profesionales sobre el diseño de pruebas de software de Lee Copeland para obtener más información.

Y volvemos a nuestro módulo OSN. Consideraremos la configuración.

En este bloque, configura los 3 WH (Qué, dónde y para quién) para el campo Suscripción, así como la configuración de notificación relacionada.

No consideramos la última configuración, ya que otras técnicas (por ejemplo, valores límite y partición de equivalencia) se adaptan mejor a la prueba.

Así que ahí vamos.

Para la primera configuración (Permitir suscripción para grupos seleccionados), destacamos 3 valores significativos.

Supongamos que los valores General , Mayorista y Minorista son equivalentes para nuestros propósitos.

Para otras configuraciones, los valores disponibles son Sí/No .

Usamos el producto cartesiano para obtener el número de todas las combinaciones posibles:

3*2*2*2 = 24 combos posibles (posibles casos de prueba)

Las pruebas por pares implican matemáticas complejas. Los combos a continuación se establecieron con la ayuda de una herramienta específica:

A significa que en este caso, el valor no es importante, es decir, puede elegir cualquiera.

Tenga en cuenta que algunos casos de prueba deben ignorarse, ya que los combos no siempre tienen sentido.

¿Que tenemos? Usando pruebas por pares, redujimos el número de casos de prueba en 3.

Tipos de defectos : defectos relacionados con valores combinados de varios parámetros.

Epílogo

En esta publicación, consideramos algunas técnicas de prueba básicas que puede usar para ejecutar pruebas en caso de que un especialista en control de calidad no esté disponible. ¿Los has probado alguna vez?

Por favor, deje comentarios a continuación.

Existen muchas otras técnicas de diseño de pruebas, pero resultan útiles en otras situaciones.

Es probable que aprenda sobre ellos en nuestras próximas publicaciones.

Manténganse al tanto.

 

¿Desea llenar su tienda solo con productos en demanda? ¡Consulta nuestra oferta!

IR A LA EXTENSIÓN