Kényelmes BDD: SpecFlow+TFS

Sok cikk található az interneten arról, hogyan lehet használni a SpecFlow-t, hogyan kell beállítani a TFS-t a tesztek futtatására, de egy sincs, amely minden aspektust tartalmazna. A cikkben bemutatom, hogyan tehetjük a SpecFlow forgatókönyvek futtatását és szerkesztését mindenki számára kényelmessé.

A bejegyzés alatt megtudhatja, hogyan szerezheti be:

  • Tesztelés indítása a TFS-ből
  • Forgatókönyvek automatikus összekapcsolása a TFS teszteseteivel
  • Mindig aktuális teszteset tartalom a TFS-ben
  • A forgatókönyvek közvetlen szerkesztésének lehetősége a verziókezelő rendszerben a tesztelők által
    Kényelmes BDD: SpecFlow+TFS

Háttér

Feladatunk az volt, hogy automatizáljuk az alkalmazás tesztelését BDD megközelítéssel. Mivel a cégnél használt fő feladatkövető rendszer a TFS, a fejemben elképzelődött egy kép, ahol a SpecFlow forgatókönyvek lépései a TFS teszteseteinek lépései, és a tesztek futtatása teszttervekből történik. A továbbiakban arról, hogyan valósítottam ezt meg.

Amire szükségünk lesz:

  1. Projekt tesztekkel SpecFlow-ban
  2. Azure DevOps Server (más néven Team Foundation Server)
  3. Eszközt a SpecFlow forgatókönyvek TFS teszteseteivel való szinkronizálásához

Beállítás

1. A projekt tesztjeinek buildelése

Itt minden egyszerű, buildelünk és publikálunk artefaktumokat. A harmadik feladatról részletesebben később.

Kényelmes BDD: SpecFlow+TFS

2. Kiadás létrehozása a tesztek futtatásához

Kiadás létrehozása egy feladattal — Visual Studio Test

Kényelmes BDD: SpecFlow+TFS

Ebben az esetben a feladatot úgy állítottuk be, hogy a teszteket manuálisan futtassuk a teszttervből

Kényelmes BDD: SpecFlow+TFS

3. Tesztesetek szinkronizálása

Tudjuk, hogy a Visual Studio lehetővé teszi a tesztmódszerek összekapcsolását a tesztesetekkel a TFS-ben, és futtathatók a teszttervekből. Annak érdekében, hogy ezt manuálisan ne kelljen megtenni, és hogy szinkronizáljuk a forgatókönyvek tartalmát, írtam egy egyszerű konzolon futó alkalmazást, FeatureSync. Az alapelv egyszerű — a feature fájlt elemezve, a TFS API-jával frissítjük a teszteseteket.

Hogyan használjuk a FeatureSync-et

Hozzáadjuk a namespace-t és a kultúrát a feature fájl fejlécéhez:

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

*a namespace-nek meg kell egyeznie a .dll fájl nevével, amely a tesztmódszereket tartalmazza

Üres tesztesetek létrehozása a TFS-ben, és a forgatókönyvekhez a tag-ek hozzáadása az azonosítóikkal:

Kényelmes BDD: SpecFlow+TFS

@2124573 @pozitív
Forgatókönyv: Sikeres azonosítás
    Adott, hogy az azonosítási oldalon vagyok
    És beírom:
        | Bejelentkezés | Jelszó |
        | felhasználó  | jelszó  |
    Amikor megnyomom a Bejelentkezés gombot
    Akkor a böngésző átkonfigurálja a Főoldalra

Futtatjuk a FeatureSync-et:

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

A mi esetünkben a futtatás a projekt tesztjeinek buildelése után történik:

Kényelmes BDD: SpecFlow+TFS

A szinkronizálás eredménye

A SpecFlow forgatókönyv lépései szinkronizálva lettek, és automatikus státusz került beállításra

Kényelmes BDD: SpecFlow+TFS

Kényelmes BDD: SpecFlow+TFS

4. A tesztterv beállítása

Tesztterv létrehozása, automatizált tesztesetek hozzáadása, a beállításokban az összeállítás és a kiadás kiválasztása

Kényelmes BDD: SpecFlow+TFS

Kényelmes BDD: SpecFlow+TFS

5. Tesztek indítása

Kiválasztjuk a szükséges tesztet a teszttervben és elindítjuk.

Kényelmes BDD: SpecFlow+TFS

Zárás

A konfiguráció előnyei:

  • Bármely tesztelő megnyithatja a fetaure fájlt a verziókezelés webes formájában, szerkesztheti, és a módosítások azonnal életbe lépnek az összeállítás után.
  • A tesztek bármelyikét külön-külön bármikor lehet indítani.
  • Átlátható tesztmodel: mindig tudjuk, mit csinál az a teszt, amelyet elindítottunk.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster