BDD conveniente: SpecFlow+TFS

Hay muchos artículos en Internet sobre cómo usar SpecFlow y cómo configurar TFS para ejecutar pruebas, pero ninguno contiene todos los aspectos. En este artículo, le diré cómo puede hacer que el inicio y la edición de scripts de SpecFlow sean convenientes para todos.

Debajo del corte aprenderás cómo conseguir:

  • Ejecución de pruebas desde TFS
  • Vinculación automática de scripts a casos de prueba en TFS
  • Contenido siempre actualizado de casos de prueba en TFS
  • Capacidad de editar scripts directamente en el sistema de control de versiones por parte de los evaluadores.
    BDD conveniente: SpecFlow+TFS

Prehistoria

Nos enfrentamos a la tarea de automatizar las pruebas de aplicaciones utilizando el enfoque BDD. Dado que la base del sistema de seguimiento de tareas en nuestra empresa es TFS, tenía una imagen en mi cabeza donde los pasos del script SpecFlow son los pasos de los casos de prueba en TFS y las pruebas se inician desde los planes de prueba. A continuación se muestra cómo lo implementé.

Lo que necesitamos:

  1. Proyecto con pruebas en SpecFlow
  2. Servidor Azure DevOps (también conocido como Team Foundation Server)
  3. Una herramienta para sincronizar scripts de SpecFlow con casos de prueba en TFS

Ajuste

1. Crear una compilación de proyecto con pruebas.

Aquí todo es sencillo, montaje y publicación de artefactos. Más sobre la tercera tarea más adelante.

BDD conveniente: SpecFlow+TFS

2. Crear una versión para ejecutar pruebas.

Creación de una versión con una tarea: prueba de Visual Studio

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 le permite vincular métodos de prueba a casos de prueba en TFS y ejecutarlos desde planes de prueba. Para no hacer esto manualmente y también para sincronizar el contenido de los scripts, escribí una aplicación de consola simple. Sincronización de funciones. El principio es simple: analizamos el archivo de funciones y actualizamos los casos de prueba utilizando la API TFS.

Cómo utilizar FeatureSync

Agregue espacio de nombres y configuración regional al encabezado del archivo de características:

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

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

Creamos casos de prueba vacíos en TFS y agregamos etiquetas con su identificación a los scripts:

BDD conveniente: SpecFlow+TFS

@2124573 @posistive
Scenario: Successful authorization
    Given I on authorization page
    And I enter:
        | Login | Password |
        | user  | pass     |
    When I press Login button
    Then Browser redirect on Home page

Inicie FeatureSync:

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

En nuestro caso, el lanzamiento se produce después de construir el proyecto con pruebas:

BDD conveniente: SpecFlow+TFS

Resultado de sincronización

Los pasos del guión de SpecFlow están sincronizados y el estado de automatización está establecido

BDD conveniente: SpecFlow+TFS

BDD conveniente: SpecFlow+TFS

4. Configurar un plan de prueba

Creamos un plan de prueba, le agregamos nuestros casos automatizados, seleccionamos compilar y lanzar en la configuración

BDD conveniente: SpecFlow+TFS

BDD conveniente: SpecFlow+TFS

5. Realizar pruebas

Seleccione la prueba requerida en el plan de prueba y ejecútela.

BDD conveniente: SpecFlow+TFS

Conclusión

Las ventajas de esta configuración:

  • cualquier evaluador puede abrir el archivo fetaure en el formulario web de control de versiones, editarlo y los cambios entrarán en vigor inmediatamente después de la compilación.
  • Puedes ejecutar pruebas individualmente en cualquier momento.
  • Modelo de prueba transparente: siempre sabemos qué hace la prueba que lanzamos.

Fuente: habr.com

Añadir un comentario