BDD convenabil: SpecFlow+TFS

Există multe articole pe internet despre cum să folosești SpecFlow, cum să configurezi TFS pentru a rula teste, dar nu există niciunul care să conțină toate aspectele. În acest articol, voi explica cum să faci rularea și editarea scenariilor SpecFlow mai convenabilă pentru toți.

Sub acest titlu veți afla cum să obțineți:

  • Rularea testelor din TFS
  • Linkuri automate între scenarii și testele din TFS
  • Conținut întotdeauna actualizat al testurilor din TFS
  • Posibilitatea de a edita scenarii direct în sistemul de control al versiunilor de către testeri
    BDD convenabil: SpecFlow+TFS

Povestea

Am avut sarcina de a automatiza testarea aplicației folosind abordarea BDD. Deoarece sistemul de management al sarcinilor din compania noastră este TFS, mi-am imaginat o imagine în care pașii scenariului SpecFlow sunt pașii testelor din TFS, iar rularea testelor se face din planurile de testare. Mai departe voi explica cum am realizat acest lucru.

Ce ne va fi necesar:

  1. Un proiect cu teste pe SpecFlow
  2. Azure DevOps Server (cunoscut și ca Team Foundation Server)
  3. Un instrument pentru sincronizarea scenariilor SpecFlow cu testele din TFS

Configurare

1. Crearea unei construcții a proiectului cu teste

Aici totul este simplu, construirea și publicarea artefactelor. Despre a treia sarcină voi vorbi mai în detaliu mai târziu.

BDD convenabil: SpecFlow+TFS

2. Crearea unei versiuni pentru rularea testelor

Creăm o versiune cu o singură sarcină - Visual Studio Test

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 testelor

Știm că Visual Studio permite linkarea metodelor de testare cu testele din TFS și rularea lor din planurile de testare. Pentru a nu face asta manual, și de asemenea pentru a sincroniza conținutul scenariilor, am scris o aplicație simplă de consolă FeatureSync. Principiul este simplu: analizăm fișierul feature și folosind API-ul TFS actualizăm testele.

Cum să folosești FeatureSync

Adăugați un namespace și localizare în antetul fișierului feature:

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

*namespace-ul trebuie să corespundă cu numele fișierului .dll în care se află metodele de testare

Creăm teste goale în TFS și adăugăm etichete cu ID-urile lor la scenarii:

BDD convenabil: SpecFlow+TFS

@2124573 @positiv
Scenariul: Autorizare reușită
    Dat fiind că mă aflu pe pagina de autorizare
    Și introduc:
        | Login | Parolă |
        | user  | pass     |
    Când apăs butonul Login
    Atunci browserul mă redirecționează pe pagina Principală

Rulăm FeatureSync:

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

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

BDD convenabil: SpecFlow+TFS

Rezultatul sincronizării

Pașii scenariului SpecFlow au fost sincronizați și statutul de automatizare a fost setat

BDD convenabil: SpecFlow+TFS

BDD convenabil: SpecFlow+TFS

4. Configurarea planului de testare

Creăm un plan de testare, adăugăm cazurile noastre automatizate, în setări alegem versiunea și build-ul

BDD convenabil: SpecFlow+TFS

BDD convenabil: SpecFlow+TFS

5. Rularea testelor

Selectăm testul necesar din planul de testare și îl lansăm.

BDD convenabil: SpecFlow+TFS

Concluzie

Avantajele acestei configurații:

  • orice testare poate deschide fișierul de caracteristici în forma web de control al versiunilor, îl poate edita și modificările vor avea efect imediat după build
  • poți lansa testele în orice moment, individual
  • modelul de testare transparent — știm întotdeauna ce face testul pe care l-am lansat.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster