Praktični BDD: SpecFlow+TFS

Na mreži postoji mnogo članaka o tome kako koristiti SpecFlow, kako postaviti TFS za pokretanje testova, ali nema niti jednog koji obuhvata sve aspekte. U ovom članku ću objasniti kako učiniti pokretanje i uređivanje SpecFlow scenarija jednostavnim za sve.

Ispod saznajte kako dobiti:

  • Pokretanje testova iz TFS-a
  • Automatsko povezivanje scenarija s test slučajevima u TFS-u
  • Uvek ažurirani sadržaj test slučajeva u TFS-u
  • Mogućnost uređivanja scenarija direktno u sistemu kontrole verzija od strane testera
    Praktični BDD: SpecFlow+TFS

Pozadina

Stajali smo pred zadatkom automatizacije testiranja aplikacije koristeći BDD pristup. Kako je osnovni sistem za praćenje zadataka u našoj firmi TFS, formirala se slika u mojoj glavi, gde su koraci scenarija SpecFlow koraci test slučajeva u TFS-u, a pokretanje testova vrši se iz test planova. Dalje ću opisati kako sam to realizovao.

Šta će nam biti potrebno:

  1. Projekat sa testovima na SpecFlow-u
  2. Azure DevOps Server (poznat i kao Team Foundation Server)
  3. Alat za sinhronizaciju scenarija SpecFlow sa test slučajevima u TFS-u

Setup

1. Kreiranje gradnje projekta sa testovima

Ovdje je sve jednostavno, gradnja i objava artefakata. O trećem zadatku više u nastavku.

Praktični BDD: SpecFlow+TFS

2. Kreiranje izdanja za pokretanje testova

Kreiramo izdanje sa jednim zadatkom — Visual Studio Test

Praktični BDD: SpecFlow+TFS

U ovom slučaju je zadatak podešen za pokretanje testova ručno iz test plana

Praktični BDD: SpecFlow+TFS

3. Sinhronizacija test slučajeva

Znamo da Visual Studio omogućava povezivanje test metoda s test slučajevima u TFS-u i pokretanje ih iz test planova. Da ne bismo ručno radili ovo, kao i da bismo sinhronizovali sadržaj scenarija, napisao sam jednostavnu konzolnu aplikaciju FeatureSync. Način rada je jednostavan — parsiramo feature datoteku i uz pomoć TFS API-a ažuriramo test slučajeve.

Kako koristiti FeatureSync

Dodajte namespace i lokalitet u zaglavlje feature datoteke:

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

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

Kreiramo prazne test slučajeve u TFS-u i dodajemo tagove s njihovim id-jevima u scenarije:

Praktični BDD: SpecFlow+TFS

@2124573 @pozitivno
Scenarij: Uspešna autorizacija
    Pretpostavimo da sam na stranici za autorizaciju
    I unosim:
        | Login | Lozinka |
        | korisnik  | lozinka     |
    Kada pritisnem dugme Prijava
    Onda pretraživač preusmerava na poletnu stranicu

Pokrećemo 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 dešava nakon gradnje projekta sa testovima:

Praktični BDD: SpecFlow+TFS

Rezultat sinhronizacije

Sinhronizovani su koraci SpecFlow scenarija i dodeljen status Automatizovano

Praktični BDD: SpecFlow+TFS

Praktični BDD: SpecFlow+TFS

4. Podešavanje test plana

Ustvarjamo testni načrt, dodajamo naše avtomatizirane primere in v nastavitvah izberemo številko in izdajo.

Praktični BDD: SpecFlow+TFS

Praktični BDD: SpecFlow+TFS

5. Zagon testov

Izberemo potreben test v testnem načrtu in ga zaženemo.

Praktični BDD: SpecFlow+TFS

Zaključek

Prednosti te konfiguracije:

  • katerikoli tester lahko odpre datoteko funkcionalnosti v spletni obliki nadzora različic, jo uredi, spremembe pa se takoj uveljavijo po sestavljanju.
  • testi se lahko izvajajo kadarkoli posamično.
  • prosojna testna metoda — vedno vemo, kaj počne test, ki smo ga zagnali.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster