Patogus BDD: SpecFlow+TFS

Internete yra daug straipsnių apie tai, kaip naudoti SpecFlow, kaip sukonfigūruoti TFS, kad būtų vykdomi testai, tačiau nėra vieno, kuriame būtų pateikti visi aspektai. Šiame straipsnyje papasakosiu, kaip padaryti, kad SpecFlow scenarijų paleidimas ir redagavimas būtų patogus visiems.

Žemiau pjūvio sužinosite, kaip gauti:

  • Testai vykdomi iš TFS
  • Automatinis scenarijų susiejimas su bandomaisiais atvejais TFS
  • Visada atnaujintas TFS bandomųjų atvejų turinys
  • Galimybė testuotojams redaguoti scenarijus tiesiogiai versijų valdymo sistemoje
    Patogus BDD: SpecFlow+TFS

priešistorė

Mes susidūrėme su užduotimi automatizuoti programų testavimą naudojant BDD metodą. Kadangi užduočių sekimo sistemos pagrindas mūsų įmonėje yra TFS, galvoje turėjau vaizdą, kur SpecFlow scenarijaus žingsniai yra TFS testavimo atvejų žingsniai, o testai paleidžiami iš testavimo planų. Žemiau yra kaip aš tai įgyvendinau.

Ko mums reikia:

  1. Projektas su „SpecFlow“ bandymais
  2. „Azure DevOps Server“ (dar žinomas kaip „Team Foundation Server“)
  3. Įrankis, skirtas sinchronizuoti SpecFlow scenarijus su bandomaisiais atvejais TFS

reguliavimas

1. Projekto kūrimo su bandymais kūrimas

Čia viskas paprasta, artefaktų surinkimas ir publikavimas. Daugiau apie trečiąją užduotį vėliau.

Patogus BDD: SpecFlow+TFS

2. Sukurkite leidimą testams vykdyti

Leidinio kūrimas su viena užduotimi – Visual Studio Test

Patogus BDD: SpecFlow+TFS

Tokiu atveju užduotis sukonfigūruota taip, kad testus būtų galima vykdyti rankiniu būdu iš testavimo plano

Patogus BDD: SpecFlow+TFS

3. Bandomųjų atvejų sinchronizavimas

Žinome, kad „Visual Studio“ leidžia susieti bandymo metodus su bandomaisiais atvejais TFS ir paleisti juos iš bandymo planų. Kad to nedarytų rankiniu būdu, taip pat norėdamas sinchronizuoti scenarijų turinį, parašiau paprastą konsolės programą Funkcijų sinchronizavimas. Principas paprastas – analizuojame funkcijų failą ir atnaujiname bandomuosius atvejus naudodami TFS API.

Kaip naudoti „FeatureSync“.

Pridėkite vardų erdvę ir lokalę prie funkcijos failo antraštės:

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

*vardų erdvė turi atitikti .dll failo, kuriame yra bandymo metodai, pavadinimą

TFS kuriame tuščius bandomuosius atvejus ir prie scenarijų pridedame žymas su jų ID:

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

Paleiskite „FeatureSync“:

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

Mūsų atveju paleidimas įvyksta sukūrus projektą su bandymais:

Patogus BDD: SpecFlow+TFS

Sinchronizacijos rezultatas

SpecFlow scenarijaus žingsniai sinchronizuojami ir nustatoma automatizavimo būsena

Patogus BDD: SpecFlow+TFS

Patogus BDD: SpecFlow+TFS

4. Bandymo plano sudarymas

Sudarome testavimo planą, pridedame prie jo savo automatizuotus atvejus, nustatymuose pasirenkame kūrimą ir išleidimą

Patogus BDD: SpecFlow+TFS

Patogus BDD: SpecFlow+TFS

5. Testų vykdymas

Testavimo plane pasirinkite reikiamą testą ir paleiskite jį.

Patogus BDD: SpecFlow+TFS

išvada

Šios konfigūracijos pranašumai:

  • bet kuris bandytojas gali atidaryti fetaure failą versijos valdymo žiniatinklio formoje, jį redaguoti ir pakeitimai įsigalios iš karto po sukūrimo
  • bet kuriuo metu galite atlikti testus atskirai
  • skaidrus bandymo modelis – mes visada žinome, ką daro mūsų pradėtas testas.

Šaltinis: www.habr.com

Добавить комментарий