BDD convenabil: SpecFlow+TFS

Există multe articole pe Internet despre cum să utilizați SpecFlow, cum să configurați TFS pentru a rula teste, dar nu există unul care să conțină toate aspectele. În acest articol, vă voi spune cum puteți face lansarea și editarea scripturilor SpecFlow convenabile pentru toată lumea.

Sub tăietură veți învăța cum să obțineți:

  • Rularea de teste de la TFS
  • Conectarea automată a scripturilor la cazurile de testare în TFS
  • Conținut mereu actualizat al cazurilor de testare în TFS
  • Posibilitatea de a edita scripturi direct în sistemul de control al versiunilor de către testeri
    BDD convenabil: SpecFlow+TFS

preistorie

Ne-am confruntat cu sarcina de a automatiza testarea aplicațiilor folosind abordarea BDD. Deoarece baza sistemului de urmărire a sarcinilor din compania noastră este TFS, aveam o imagine în cap în care pașii scriptului SpecFlow sunt pașii cazurilor de testare în TFS, iar testele sunt lansate din planurile de testare. Mai jos este cum l-am implementat.

Ce ne trebuie:

  1. Proiect cu teste pe SpecFlow
  2. Azure DevOps Server (alias Team Foundation Server)
  3. Un instrument pentru sincronizarea scripturilor SpecFlow cu cazuri de testare în TFS

ajustare

1. Crearea unui proiect build cu teste

Totul este simplu aici, asamblarea și publicarea artefactelor. Mai multe despre a treia sarcină mai târziu.

BDD convenabil: SpecFlow+TFS

2. Crearea unei versiuni pentru a rula teste

Crearea unei versiuni cu o singură sarcină - Testul Visual Studio

BDD convenabil: SpecFlow+TFS

În acest caz, sarcina este configurată pentru a rula teste manual din planul de testare

BDD convenabil: SpecFlow+TFS

3. Sincronizarea cazurilor de testare

Știm că Visual Studio vă permite să conectați metode de testare la cazuri de testare în TFS și să le rulați din planuri de testare. Pentru a nu face acest lucru manual și, de asemenea, pentru a sincroniza conținutul scripturilor, am scris o aplicație simplă de consolă FeatureSync. Principiul este simplu - analizăm fișierul de caracteristici și actualizăm cazurile de testare folosind API-ul TFS.

Cum se utilizează FeatureSync

Adăugați spațiu de nume și locale la antetul fișierului caracteristic:

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

*spațiul de nume trebuie să se potrivească cu numele fișierului .dll care conține metodele de testare

Creăm cazuri de testare goale în TFS și adăugăm etichete cu id-ul lor la scripturi:

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

Lansați FeatureSync:

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

În cazul nostru, lansarea are loc după construirea proiectului cu teste:

BDD convenabil: SpecFlow+TFS

Rezultatul sincronizării

Pașii de script SpecFlow sunt sincronizați și starea automatizării este setată

BDD convenabil: SpecFlow+TFS

BDD convenabil: SpecFlow+TFS

4. Stabilirea unui plan de testare

Creăm un plan de testare, adăugăm cazurile noastre automate la acesta, selectăm construirea și lansarea în setări

BDD convenabil: SpecFlow+TFS

BDD convenabil: SpecFlow+TFS

5. Teste de rulare

Selectați testul necesar din planul de testare și rulați-l.

BDD convenabil: SpecFlow+TFS

Concluzie

Avantajele acestei configurații:

  • orice tester poate deschide fișierul fetaure în formularul web de control al versiunii, îl poate edita și modificările vor intra în vigoare imediat după compilare
  • puteți rula teste individual în orice moment
  • model de testare transparent - știm întotdeauna ce face testul pe care l-am lansat.

Sursa: www.habr.com

Adauga un comentariu