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
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:
- Projekt s testovima na SpecFlowu
- Azure DevOps poslužitelj (aka Team Foundation Server)
- 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.
2. Stvaranje izdanja za izvođenje testova
Izrada izdanja s jednim zadatkom - Visual Studio Test
U ovom slučaju, zadatak je konfiguriran za ručno pokretanje testova iz plana testiranja
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
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:
@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:
Rezultat sinkronizacije
Koraci SpecFlow skripte su sinkronizirani i postavljen je status automatizacije
4. Postavljanje plana testiranja
Izrađujemo testni plan, dodajemo mu naše automatizirane slučajeve, odabiremo build i release u postavkama
5. Izvođenje testova
Odaberite traženi test u planu testiranja i pokrenite ga.
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