BDD conveniente: SpecFlow + TFS

Hai moitos artigos en Internet sobre como usar SpecFlow, como configurar TFS para executar probas, pero non hai ningún que conteña todos os aspectos. Neste artigo, vouche dicir como podes facer que o lanzamento e a edición de scripts SpecFlow sexan cómodos para todos.

Debaixo do corte aprenderás a conseguir:

  • Execución de probas desde TFS
  • Vinculación automática de scripts a casos de proba en TFS
  • Contido sempre actualizado dos casos de proba en TFS
  • Capacidade de editar scripts directamente no sistema de control de versións por parte dos probadores
    BDD conveniente: SpecFlow + TFS

prehistoria

Enfrontámonos á tarefa de automatizar as probas de aplicacións mediante o enfoque BDD. Dado que a base do sistema de seguimento de tarefas na nosa empresa é TFS, tiña unha imaxe na miña cabeza onde os pasos do script SpecFlow son os pasos dos casos de proba en TFS e as probas lánzanse a partir de plans de proba. A continuación móstrase como o implementei.

O que necesitamos:

  1. Proxecto con probas en SpecFlow
  2. Servidor Azure DevOps (tamén coñecido como Team Foundation Server)
  3. Unha ferramenta para sincronizar scripts SpecFlow con casos de proba en TFS

axuste

1. Creación dunha compilación de proxecto con probas

Aquí todo é sinxelo, montaxe e publicación de artefactos. Máis sobre a terceira tarefa máis tarde.

BDD conveniente: SpecFlow + TFS

2. Creación dunha versión para executar probas

Crear unha versión cunha tarefa: Visual Studio Test

BDD conveniente: SpecFlow + TFS

Neste caso, a tarefa está configurada para executar probas manualmente desde o plan de probas

BDD conveniente: SpecFlow + TFS

3. Sincronización de casos de proba

Sabemos que Visual Studio permítelle vincular métodos de proba a casos de proba en TFS e executalos desde os plans de proba. Para non facelo manualmente, e tamén para sincronizar o contido dos scripts, escribín unha sinxela aplicación de consola Sincronización de funcións. O principio é sinxelo: analizamos o ficheiro de funcións e actualizamos os casos de proba mediante a API de TFS.

Como usar FeatureSync

Engade espazo de nomes e configuración rexional á cabeceira do ficheiro de funcións:

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

*espazo de nomes debe coincidir co nome do ficheiro .dll que contén os métodos de proba

Creamos casos de proba baleiros en TFS e engadimos etiquetas co seu ID aos 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

Iniciar FeatureSync:

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

No noso caso, o lanzamento prodúcese despois de construír o proxecto con probas:

BDD conveniente: SpecFlow + TFS

Resultado da sincronización

Os pasos de guión de SpecFlow están sincronizados e o estado de automatización está definido

BDD conveniente: SpecFlow + TFS

BDD conveniente: SpecFlow + TFS

4. Configurar un plan de proba

Creamos un plan de proba, engadímoslle os nosos casos automatizados, seleccionamos compilar e lanzar na configuración

BDD conveniente: SpecFlow + TFS

BDD conveniente: SpecFlow + TFS

5. Realización de probas

Seleccione a proba necesaria no plan de proba e execútaa.

BDD conveniente: SpecFlow + TFS

Conclusión

As vantaxes desta configuración:

  • calquera probador pode abrir o ficheiro fetaure no formulario web de control de versións, editalo e os cambios entrarán en vigor inmediatamente despois da compilación.
  • pode realizar probas individualmente en calquera momento
  • modelo de proba transparente: sempre sabemos o que fai a proba que lanzamos.

Fonte: www.habr.com

Engadir un comentario