BDD convenient: SpecFlow + TFS

Hi ha molts articles a Internet sobre com utilitzar SpecFlow, com configurar TFS per executar proves, però no n'hi ha cap que contingui tots els aspectes. En aquest article, us explicaré com podeu fer que el llançament i l'edició de scripts SpecFlow siguin convenients per a tothom.

A continuació del tall aprendràs a aconseguir-ho:

  • Execució de proves des de TFS
  • Enllaç automàtic d'scripts a casos de prova en TFS
  • Contingut sempre actualitzat dels casos de prova a TFS
  • Possibilitat d'editar scripts directament al sistema de control de versions per part dels provadors
    BDD convenient: SpecFlow + TFS

prehistòria

Ens vam enfrontar a la tasca d'automatitzar les proves d'aplicacions mitjançant l'enfocament BDD. Com que la base del sistema de seguiment de tasques a la nostra empresa és TFS, tenia una imatge al cap on els passos de l'script SpecFlow són els passos dels casos de prova a TFS i les proves es llancen a partir de plans de prova. A continuació es mostra com el vaig implementar.

El que necessitem:

  1. Projecte amb proves a SpecFlow
  2. Servidor Azure DevOps (també conegut com Team Foundation Server)
  3. Una eina per sincronitzar scripts SpecFlow amb casos de prova a TFS

ajust

1. Creació d'un projecte de construcció amb proves

Aquí tot és senzill, muntatge i publicació d'artefactes. Més endavant més sobre la tercera tasca.

BDD convenient: SpecFlow + TFS

2. Creació d'una versió per executar proves

Creació d'una versió amb una tasca: Visual Studio Test

BDD convenient: SpecFlow + TFS

En aquest cas, la tasca està configurada per executar proves manualment des del pla de proves

BDD convenient: SpecFlow + TFS

3. Sincronització de casos de prova

Sabem que Visual Studio us permet enllaçar mètodes de prova amb casos de prova a TFS i executar-los des de plans de prova. Per no fer-ho manualment, i també per sincronitzar el contingut dels scripts, vaig escriure una senzilla aplicació de consola FeatureSync. El principi és senzill: analitzem el fitxer de funcions i actualitzem els casos de prova mitjançant l'API TFS.

Com utilitzar FeatureSync

Afegiu l'espai de noms i la configuració regional a la capçalera del fitxer de funcions:

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

*L'espai de noms ha de coincidir amb el nom del fitxer .dll que conté els mètodes de prova

Creem casos de prova buits a TFS i afegim etiquetes amb el seu identificador als scripts:

BDD convenient: 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

Inicieu FeatureSync:

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

En el nostre cas, el llançament es produeix després de construir el projecte amb proves:

BDD convenient: SpecFlow + TFS

Resultat de la sincronització

Els passos d'script de SpecFlow es sincronitzen i s'estableix l'estat d'automatització

BDD convenient: SpecFlow + TFS

BDD convenient: SpecFlow + TFS

4. Configuració d'un pla de proves

Creem un pla de prova, hi afegim els nostres casos automatitzats, seleccionem la creació i el llançament a la configuració

BDD convenient: SpecFlow + TFS

BDD convenient: SpecFlow + TFS

5. Execució de proves

Seleccioneu la prova necessària al pla de proves i executeu-la.

BDD convenient: SpecFlow + TFS

Conclusió

Els avantatges d'aquesta configuració:

  • qualsevol provador pot obrir el fitxer fetaure al formulari web de control de versions, editar-lo i els canvis tindran efecte immediatament després de la compilació
  • podeu executar proves individualment en qualsevol moment
  • model de prova transparent: sempre sabem què fa la prova que vam llançar.

Font: www.habr.com

Afegeix comentari