Praktični BDD: SpecFlow+TFS

Na internetu postoji mnogo članaka o korištenju SpecFlow-a, postavljanju TFS-a za pokretanje testova, ali nijedan ne obuhvata sve aspekte. U ovom članku ću objasniti kako učiniti pokretanje i uređivanje SpecFlow scenarija jednostavnijim za sve.

Ispod saznajte kako dobiti:

  • Pokretanje testova iz TFS-a
  • Automatsko povezivanje scenarija s testnim slučajevima u TFS-u
  • Uvijek ažurirani sadržaj testnih slučajeva u TFS-u
  • Mogućnost uređivanja scenarija izravno u sustavu za kontrolu verzija od strane testera
    Praktični BDD: SpecFlow+TFS

Povijest

Suočili smo se s izazovom automatizacije testiranja aplikacije koristeći BDD pristup. Budući da je osnovni sustav za praćenje zadataka u našoj tvrtki TFS, u mojoj glavi se stvorila slika gdje su koraci SpecFlow scenarija koraci testnih slučajeva u TFS-u, a pokretanje testova odvija se iz testnih planova. U nastavku ću opisati kako sam to realizirao.

Što nam je potrebno:

  1. Projekt s testovima na SpecFlow-u
  2. Azure DevOps Server (poznat i kao Team Foundation Server)
  3. Alat za sinkronizaciju SpecFlow scenarija s testnim slučajevima u TFS-u

Podešavanje

1. Izrada gradnje projekta s testovima

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

Praktični BDD: SpecFlow+TFS

2. Izrada izdanja za pokretanje testova

Izrađujemo izdanje s jednim zadatkom — Visual Studio Test

Praktični BDD: SpecFlow+TFS

U ovom slučaju zadatak je postavljen za ručno pokretanje testova iz testnog plana

Praktični BDD: SpecFlow+TFS

3. Sinkronizacija testnih slučajeva

Znamo da Visual Studio omogućuje povezivanje testnih metoda s testnim slučajevima u TFS-u i njihovo pokretanje iz testnih planova. Kako bismo to izbjegli raditi ručno, kao i za sinkronizaciju sadržaja scenarija, napisao sam jednostavnu konzolnu aplikaciju FeatureSync. Princip je jednostavan — parsiramo feature datoteku i putem TFS API-ja ažuriramo testne slučajeve.

Kako koristiti FeatureSync

Dodajemo namespace i lokalizaciju u zaglavlje feature datoteke:

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

*namespace mora odgovarati nazivu .dll datoteke u kojoj se nalaze testne metode

Izrađujemo prazne testne slučajeve u TFS-u i dodajemo tagove s njihovim ID-evima scenarijima:

Praktični BDD: SpecFlow+TFS

@2124573 @posistive
Scenario: Uspješna autorizacija
    Given sam na stranici za autorizaciju
    I unosim:
        | Login | Lozinka |
        | user  | pass     |
    When pritisnem gumb Login
    Then Preglednik preusmjerava na početnu 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 odvija nakon izrade projekta s testovima:

Praktični BDD: SpecFlow+TFS

Rezultat sinkronizacije

Sinkronizirani su koraci SpecFlow scenarija i postavljen je status Automatizacija.

Praktični BDD: SpecFlow+TFS

Praktični BDD: SpecFlow+TFS

4. Postavljanje testnog plana

Kreiramo testni plan, dodajemo naše automatizirane testne slučajeve, a u postavkama odabiremo verziju i izdanja.

Praktični BDD: SpecFlow+TFS

Praktični BDD: SpecFlow+TFS

5. Pokretanje testova

Odabiremo potreban test u testnom planu i pokrećemo ga.

Praktični BDD: SpecFlow+TFS

Zaključak

Prednosti ovog konfiguracije:

  • svaki tester može otvoriti feature datoteku u web sučelju za kontrolu verzija, urediti je, a izmjene će odmah biti primijenjene nakon izrade verzije.
  • možete pokretati testove u bilo kojem trenutku, pojedinačno.
  • prozirni testni model — uvijek znamo što radi test koji smo pokrenuli.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster