Priročen BDD: SpecFlow+TFS

Na internetu je veliko člankov o tem, kako uporabljati SpecFlow, kako konfigurirati TFS za izvajanje testov, vendar ni nobenega, ki bi vseboval vse vidike. V tem članku vam bom povedal, kako lahko naredite zagon in urejanje skriptov SpecFlow priročno za vsakogar.

Pod rezom boste izvedeli, kako pridobiti:

  • Izvajanje testov iz TFS
  • Samodejno povezovanje skriptov s testnimi primeri v TFS
  • Vedno posodobljena vsebina testnih primerov v TFS
  • Možnost urejanja skriptov neposredno v sistemu za nadzor različic s strani preizkuševalcev
    Priročen BDD: SpecFlow+TFS

prazgodovina

Postavili smo se pred nalogo avtomatizacije testiranja aplikacij s pristopom BDD. Ker je osnova sistema za sledenje nalog v našem podjetju TFS, sem imel v glavi sliko, kjer so koraki skripte SpecFlow koraki testnih primerov v TFS, testi pa se zaženejo iz testnih načrtov. Spodaj je opisano, kako sem to implementiral.

Kaj potrebujemo:

  1. Projekt s testi na SpecFlow
  2. Strežnik Azure DevOps (aka Team Foundation Server)
  3. Orodje za sinhronizacijo skriptov SpecFlow s testnimi primeri v TFS

prilagoditev

1. Ustvarjanje gradnje projekta s testi

Tukaj je vse preprosto, sestavljanje in objava artefaktov. Več o tretji nalogi kasneje.

Priročen BDD: SpecFlow+TFS

2. Ustvarjanje izdaje za izvajanje testov

Ustvarjanje izdaje z eno nalogo - Visual Studio Test

Priročen BDD: SpecFlow+TFS

V tem primeru je naloga konfigurirana za ročno izvajanje testov iz testnega načrta

Priročen BDD: SpecFlow+TFS

3. Sinhronizacija testnih primerov

Vemo, da Visual Studio omogoča povezovanje testnih metod s testnimi primeri v TFS in njihovo izvajanje iz testnih načrtov. Da tega ne bi delal ročno in tudi zaradi sinhronizacije vsebine skriptov, sem napisal preprosto konzolno aplikacijo FeatureSync. Načelo je preprosto - razčlenimo datoteko funkcij in posodobimo testne primere z uporabo API-ja TFS.

Kako uporabljati FeatureSync

Dodajte imenski prostor in področne nastavitve v glavo datoteke funkcij:

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

*imenski prostor se mora ujemati z imenom datoteke .dll, ki vsebuje testne metode

V TFS ustvarimo prazne testne primere in skriptom dodamo oznake z njihovim ID-jem:

Priročen 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

Zaženite FeatureSync:

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

V našem primeru se zagon izvede po izgradnji projekta s testi:

Priročen BDD: SpecFlow+TFS

Rezultat sinhronizacije

Koraki skripta SpecFlow so sinhronizirani in stanje avtomatizacije je nastavljeno

Priročen BDD: SpecFlow+TFS

Priročen BDD: SpecFlow+TFS

4. Priprava testnega načrta

Ustvarimo testni načrt, mu dodamo naše avtomatizirane primere, v nastavitvah izberemo build in release

Priročen BDD: SpecFlow+TFS

Priročen BDD: SpecFlow+TFS

5. Izvajanje testov

V testnem načrtu izberite želeni test in ga zaženite.

Priročen BDD: SpecFlow+TFS

Zaključek

Prednosti te konfiguracije:

  • vsak preizkuševalec lahko odpre datoteko fetaure v spletnem obrazcu za nadzor različic, jo uredi in spremembe bodo začele veljati takoj po gradnji
  • kadar koli lahko izvajate posamezne teste
  • pregleden testni model - vedno vemo, kaj naredi test, ki smo ga lansirali.

Vir: www.habr.com

Dodaj komentar