Zgodan BDD: SpecFlow+TFS

Na internetu postoji mnogo članaka o tome kako koristiti SpecFlow, kako konfigurirati TFS za izvođenje testova, ali ne postoji niti jedan koji sadrži sve aspekte. U ovom članku ću vam reći kako pokretanje i uređivanje SpecFlow skripti možete učiniti praktičnim za sve.

Ispod presjeka saznat ćete kako doći do:

  • Izvođenje testova iz TFS-a
  • Automatsko povezivanje skripti s testnim slučajevima u TFS-u
  • Uvijek ažuran sadržaj testnih slučajeva u TFS-u
  • Mogućnost uređivanja skripti izravno u sustavu kontrole verzija od strane testera
    Zgodan BDD: SpecFlow+TFS

prapovijest

Suočili smo se sa zadatkom automatizacije testiranja aplikacije korištenjem BDD pristupa. Budući da je osnova sustava za praćenje zadataka u našoj tvrtki TFS, imao sam sliku u glavi gdje su koraci SpecFlow skripte koraci testnih slučajeva u TFS-u, a testovi se pokreću iz testnih planova. Ispod je kako sam to implementirao.

Što nam treba:

  1. Projekt s testovima na SpecFlowu
  2. Azure DevOps poslužitelj (aka Team Foundation Server)
  3. Alat za sinkronizaciju SpecFlow skripti s testnim slučajevima u TFS-u

podešavanje

1. Izrada građe projekta s testovima

Ovdje je sve jednostavno, sastavljanje i objavljivanje artefakata. Više o trećem zadatku kasnije.

Zgodan BDD: SpecFlow+TFS

2. Stvaranje izdanja za izvođenje testova

Izrada izdanja s jednim zadatkom - Visual Studio Test

Zgodan BDD: SpecFlow+TFS

U ovom slučaju, zadatak je konfiguriran za ručno pokretanje testova iz plana testiranja

Zgodan BDD: SpecFlow+TFS

3. Sinkronizacija testnih slučajeva

Znamo da vam Visual Studio omogućuje povezivanje testnih metoda s testnim slučajevima u TFS-u i njihovo pokretanje iz testnih planova. Kako to ne bih radio ručno, a i kako bih sinkronizirao sadržaj skripti, napisao sam jednostavnu konzolnu aplikaciju FeatureSync. Princip je jednostavan - analiziramo datoteku značajki i ažuriramo testne slučajeve pomoću TFS API-ja.

Kako koristiti FeatureSync

Dodajte prostor imena i lokalizaciju u zaglavlje značajke datoteke:

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

*namespace mora odgovarati nazivu .dll datoteke koja sadrži metode testiranja

Stvaramo prazne testne slučajeve u TFS-u i dodajemo oznake s njihovim ID-om u skripte:

Zgodan 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

Pokreni FeatureSync:

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

U našem slučaju, pokretanje se događa nakon izgradnje projekta s testovima:

Zgodan BDD: SpecFlow+TFS

Rezultat sinkronizacije

Koraci SpecFlow skripte su sinkronizirani i postavljen je status automatizacije

Zgodan BDD: SpecFlow+TFS

Zgodan BDD: SpecFlow+TFS

4. Postavljanje plana testiranja

Izrađujemo testni plan, dodajemo mu naše automatizirane slučajeve, odabiremo build i release u postavkama

Zgodan BDD: SpecFlow+TFS

Zgodan BDD: SpecFlow+TFS

5. Izvođenje testova

Odaberite traženi test u planu testiranja i pokrenite ga.

Zgodan BDD: SpecFlow+TFS

Zaključak

Prednosti ove konfiguracije:

  • bilo koji tester može otvoriti fetaure datoteku u web obrascu za kontrolu verzija, urediti je i promjene će stupiti na snagu odmah nakon izgradnje
  • možete pokrenuti pojedinačne testove u bilo koje vrijeme
  • transparentni testni model - uvijek znamo što radi test koji smo pokrenuli.

Izvor: www.habr.com

Dodajte komentar