BDD conveniente: SpecFlow+TFS.

En la red hay muchos artículos sobre cómo utilizar SpecFlow, cómo configurar TFS para ejecutar pruebas, pero no hay ninguno que contenga todos los aspectos. En este artículo, explicaré cómo hacer que la ejecución y edición de los escenarios de SpecFlow sean cómodos para todos.

A continuación, descubrirás cómo obtener:

  • Ejecución de pruebas desde TFS
  • Enlace automático de los escenarios a los casos de prueba en TFS
  • Contenido siempre actualizado de los casos de prueba en TFS
  • Posibilidad de editar los escenarios directamente en el sistema de control de versiones por los testers
    BDD conveniente: SpecFlow+TFS.

Antecedentes

Nos enfrentamos a la tarea de automatizar la prueba de la aplicación utilizando el enfoque BDD. Dado que el sistema principal de seguimiento de tareas en nuestra empresa es TFS, se formó en mi mente la imagen de que los pasos del escenario de SpecFlow son los pasos de los casos de prueba en TFS, y las pruebas se ejecutan desde los planes de prueba. A continuación, explicaré cómo lo implementé.

Qué necesitaremos:

  1. Proyecto con pruebas en SpecFlow
  2. Azure DevOps Server (también conocido como Team Foundation Server)
  3. Herramienta para sincronizar los escenarios de SpecFlow con los casos de prueba en TFS

Configuración

1. Creación de una compilación del proyecto con pruebas

Aquí todo es sencillo, compilación y publicación de artefactos. Más detalles sobre la tercera tarea a continuación.

BDD conveniente: SpecFlow+TFS.

2. Creación de un lanzamiento para ejecutar pruebas

Creamos un lanzamiento con una tarea — Visual Studio Test

BDD conveniente: SpecFlow+TFS.

En este caso, la tarea está configurada para ejecutar pruebas manualmente desde el plan de pruebas.

BDD conveniente: SpecFlow+TFS.

3. Sincronización de casos de prueba

Sabemos que Visual Studio permite vincular métodos de prueba a casos de prueba en TFS y ejecutarlos desde los planes de prueba. Para no hacer esto manualmente, y también para sincronizar el contenido de los escenarios, escribí una sencilla aplicación de consola FeatureSync. El principio es simple: analizamos el archivo feature y, utilizando la API de TFS, actualizamos los casos de prueba.

Cómo utilizar FeatureSync

Agregamos el espacio de nombres y la localización en el encabezado del archivo feature:

#language:en
@Namespace:Application.Autotests
Feature: Log to application

*el espacio de nombres debe coincidir con el nombre del archivo .dll en el que se encuentran los métodos de prueba

Creamos casos de prueba vacíos en TFS y añadimos etiquetas con sus id a los escenarios:

BDD conveniente: SpecFlow+TFS.

@2124573 @positiva
Escenario: Autorización exitosa
    Dado que estoy en la página de autorización
    Y ingreso:
        | Usuario | Contraseña |
        | usuario  | pass     |
    Cuando presiono el botón de Login
    Entonces el navegador redirecciona a la página de inicio

Ejecutamos FeatureSync:

FeatureSync.exe -f C:FolderWithFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba

En nuestro caso, la ejecución se produce después de la compilación del proyecto con pruebas:

BDD conveniente: SpecFlow+TFS.

Resultado de la sincronización

Se han sincronizado los pasos del escenario de SpecFlow y se ha marcado el estado de Automatización

BDD conveniente: SpecFlow+TFS.

BDD conveniente: SpecFlow+TFS.

4. Configuración del plan de pruebas

Creando un plan de pruebas, añadimos nuestros casos automatizados, en la configuración seleccionamos la compilación y el lanzamiento.

BDD conveniente: SpecFlow+TFS.

BDD conveniente: SpecFlow+TFS.

5. Ejecución de pruebas

Seleccionamos la prueba necesaria en el plan de pruebas y la ejecutamos.

BDD conveniente: SpecFlow+TFS.

Conclusión

Ventajas de esta configuración:

  • cualquier tester puede abrir el archivo feature en la interfaz web de control de versiones, editarlo y los cambios se aplicarán inmediatamente después de la compilación.
  • se pueden ejecutar pruebas en cualquier momento de forma individual.
  • modelo de prueba transparente: siempre sabemos qué hace la prueba que hemos ejecutado.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster