Pogodan BDD: SpecFlow+TFS

Na mreži postoji mnogo članaka o tome kako koristiti SpecFlow, kako konfigurirati TFS za pokretanje testova, ali ne postoji nijedan koji sadrži sve aspekte. U ovom članku ću vam reći kako možete učiniti pokretanje i uređivanje SpecFlow skripti pogodnim za svakoga.

Ispod kroja ćete naučiti kako da dobijete:

  • Pokretanje testova iz TFS-a
  • Automatsko povezivanje skripti sa test slučajevima u TFS-u
  • Uvijek ažuran sadržaj test slučajeva u TFS-u
  • Mogućnost uređivanja skripti direktno u sistemu kontrole verzija od strane testera
    Pogodan BDD: SpecFlow+TFS

prapovijest

Bili smo suočeni sa zadatkom automatizacije testiranja aplikacija koristeći BDD pristup. Pošto je osnova sistema za praćenje zadataka u našoj kompaniji TFS, u glavi sam imao sliku gde su koraci SpecFlow skripte koraci test slučajeva u TFS-u, a testovi se pokreću iz test planova. U nastavku je kako sam to implementirao.

Šta nam treba:

  1. Projekt s testovima na SpecFlow
  2. Azure DevOps Server (aka Team Foundation Server)
  3. Alat za sinhronizaciju SpecFlow skripti sa test slučajevima u TFS-u

podešavanje

1. Kreiranje izrade projekta sa testovima

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

Pogodan BDD: SpecFlow+TFS

2. Kreiranje izdanja za pokretanje testova

Kreiranje izdanja sa jednim zadatkom - Visual Studio Test

Pogodan BDD: SpecFlow+TFS

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

Pogodan BDD: SpecFlow+TFS

3. Sinhronizacija test slučajeva

Znamo da Visual Studio omogućava da povežete metode testiranja sa test slučajevima u TFS-u i da ih pokrenete iz planova testiranja. Kako to ne bih radio ručno, a također i kako bih sinkronizirao sadržaj skripti, napisao sam jednostavnu konzolnu aplikaciju FeatureSync. Princip je jednostavan - analiziramo datoteku karakteristika i ažuriramo test slučajeve koristeći TFS API.

Kako koristiti FeatureSync

Dodajte prostor imena i lokalizaciju u zaglavlje datoteke sa značajkama:

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

*imenski prostor mora odgovarati imenu .dll datoteke koja sadrži metode testiranja

Kreiramo prazne test slučajeve u TFS-u i dodajemo tagove sa njihovim id skriptama:

Pogodan 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

Pokrenite FeatureSync:

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

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

Pogodan BDD: SpecFlow+TFS

Rezultat sinhronizacije

Koraci SpecFlow skripte su sinhronizovani i status automatizacije je postavljen

Pogodan BDD: SpecFlow+TFS

Pogodan BDD: SpecFlow+TFS

4. Postavljanje plana testiranja

Kreiramo plan testiranja, dodajemo mu naše automatizirane slučajeve, odabiremo build i release u postavkama

Pogodan BDD: SpecFlow+TFS

Pogodan BDD: SpecFlow+TFS

5. Pokretanje testova

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

Pogodan BDD: SpecFlow+TFS

zaključak

Prednosti ove konfiguracije:

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

izvor: www.habr.com

Dodajte komentar