Cómo empezar sin problemas con MFTF [lista de verificación]

¡Hola a nuestros lectores del blog!

Hoy pasamos a las pruebas con Magento Functional Testing Framework ( MFTF ), una poderosa herramienta nativa que puede ayudarlo a facilitar las pruebas.  

Entonces, ¿qué proporciona este marco a los probadores?

 

Resumen del artículo [ ocultar ]

  • ¿Qué es MFTF?
  • Pasos de preparación
    • Paso 1
    • Paso 2
    • Paso 3
  • Sección de anotaciones mentales
  • Prueba con MFTF: limpieza
  • Resumiendo

¿Qué es MFTF?

MFTF es un conjunto de pruebas listas para usar que verifican si la funcionalidad del sistema Magento 2 se ejecuta como se esperaba. En caso de que se amplió la funcionalidad predeterminada, debe cubrir las nuevas funciones con pruebas automáticas y, en particular, incluso los probadores manuales pueden hacerlo. La cuestión es que MFTF solo usa XML para escribir casos de prueba, no involucra PHP. La fase PHP viene más tarde cuando los casos de prueba XML se convierten automáticamente en scripts PHP y se prueban en Codeception, Selenium o Allure. Estas son las herramientas que emplea MFTF.

Esta conversión automática ahorra a los especialistas de control de calidad la molestia de crear secuencias de comandos y les permite escribir casos de prueba sobre la marcha. Además, el marco proporciona un conjunto de funciones y las pruebas existentes se pueden usar como una plantilla viable para escribir nuevas pruebas. Sin embargo, para utilizar toda la gama de funciones que ofrece MFTF, debe configurarlo correctamente. 

¿Planea trabajar con MFTF o acaba de empezar a probarlo? Aquí en Amasty, hemos decidido compartir algunos consejos útiles de nuestra experiencia MFTF. Te ayudarán a evitar tropiezos y a tener un comienzo rápido y eficiente.

Vamos a empezar.

Pasos de preparación

Aunque el marco es relativamente fácil de usar, debe andar con cuidado desde el principio. Recuerde que los pequeños errores e incluso los errores tipográficos que cometa al principio pueden costarle caro más adelante.

Así que aquí están los 3 pasos preparatorios para una prueba perfecta:

Paso 1

Al probar un sistema Magento 2.3, debe almacenar los casos de prueba en la carpeta del módulo, directorio Test/Mftf .

Paso 2

Además del directorio que almacena sus casos de prueba, debe configurar subdirectorios como ActionGroup , Data , Page , Section y otros en el directorio MFTF. Estos almacenarán las estructuras de datos necesarias para ejecutar las pruebas.

Pasos de preparación 1 y 2

Paso 3

Debe configurar noNamespaceSchemaLocation correctamente. Para los casos de prueba de Magento 2.3, debe comenzar con urn:magento:mftf. De lo contrario, su prueba no comenzará. Por favor, vea los ejemplos de implementaciones incorrectas y correctas a continuación.

Paso de preparación 3. Implementación incorrecta

 

Paso de preparación 3. Implementación correcta

Pasos de preparación simples completados, está listo para continuar con la escritura de casos de prueba. Y llega otra sorpresa: la sección de anotaciones. En las anotaciones de prueba MFTF son de especial importancia.

Sección de anotaciones mentales

Las anotaciones explican cada caso de prueba (o un grupo de casos de prueba) en MFTF. Las anotaciones deben ser fácilmente comprensibles, ya que tendrá que enviar informes de prueba a otros miembros del equipo, y ellos deberían ver qué hace exactamente un caso de prueba. Estas son las mejores prácticas para escribir anotaciones:

  • Las historias y el título deben ser únicos para ayudarlo a usted y a otros miembros del equipo a comprender lo que verifica el caso de prueba.

Pareja historias-título. Denominación incorrecta

Pareja historias-título. Denominación correcta

  • Por la misma razón, TestCaseId también debe ser único.

TestCaseID. Denominación incorrecta

TestCaseID. Denominación correcta

  • Asegúrese de que el campo Valor en una anotación de grupo sea significativo. Valor permite ejecutar un grupo separado de pruebas de forma independiente. Confiando en nuestra práctica de prueba, recomendamos que cada caso de prueba cubra los siguientes grupos . (Tenga en cuenta que una prueba puede emplear varios grupos):

    • VendorName Group para todas sus pruebas.
    • Módulo Grupo que corresponde al nombre de la carpeta del módulo y une todas las pruebas pertenecientes a este módulo. Por ejemplo, el grupo del módulo Atributos de pedido  se llama Orderattr .
    • Grupo de funcionalidad Magento (opcional). Este grupo incluye casos de prueba que cubren funciones nativas de Magento, como Checkout.
    • También puede seleccionar grupos lógicos separados de pruebas dentro de algún módulo o nuevas funciones personalizadas. Este fue el caso con la prueba del módulo Navegación en capas mejorada cuando introdujimos varios grupos de casos de prueba: para filtros (FiltersILN), para marcas (ShopByBrandILN), para SEO (SeoILN) y más.

Aquí están los malos y los buenos ejemplos del campo Valor .

Valor de grupo. Mala implementación

Valor de grupo. Implementación correcta

Una anotación razonablemente descriptiva ayudará a todo el equipo del proyecto a localizar rápidamente los problemas detectados. Pero las buenas anotaciones no son el único aspecto que asegura un buen comienzo.

Prueba con MFTF: limpieza

Lleva mucho tiempo encontrar el objeto necesario en una casa vieja y desordenada, y lo mismo ocurre con las pruebas, tanto manuales como automatizadas. Un entorno de prueba ordenado es una de las claves para una prueba rápida y eficiente. Entonces, ¿cómo asegurarlo en MFTF? 

En primer lugar, una vez finalizado, un caso de prueba debe limpiar los datos que pueden dificultar la repetición o la ejecución de otras pruebas.

Ejemplo:   una prueba configura un campo en ?heckout, y en caso de que este campo esté vacío, no puede realizar un pedido. Lógicamente, esto afectará a las pruebas relacionadas con la funcionalidad de colocación de pedidos.

Recuerde que «limpiar» no siempre se trata de eliminar los datos. Simplemente puede hacer que un campo necesario en la primera prueba sea opcional en la segunda prueba. Para hacerlo, vaya a Magento o a la configuración del módulo.

 Los datos que crea una prueba deben ser únicos . Esto se aplica a ID, URL, claves, nombres, etc.

Resumiendo

En esta publicación, hemos decidido compartir algunas ideas para que el comienzo con MFTF sea sencillo y rápido. Así que aquí hay un breve resumen basado en nuestra práctica:

  • Pasos de preparación:  invierta algo de tiempo en nombrar y almacenar correctamente sus casos de prueba.
  • Sección de anotaciones informativas:  Realice anotaciones en sus casos de prueba razonablemente detalladas. Esto asegurará que todo el equipo comprenda de qué se trata un caso de prueba.
  • Entorno de prueba ordenado:  Coagular su entorno de prueba con datos innecesarios solo hará que sus casos de prueba tropiecen. Así que límpialo a tiempo.

Esta ordenada lista de verificación nos ayuda a iniciar las pruebas rápidamente.

¿Quizás tienes algo que agregar? Por favor, deje sus comentarios.

 Para preguntas más específicas que surjan en el proceso de prueba, puede consultar una guía completa de MFTF .