Pohodlné BDD: SpecFlow+TFS

Na internete je množstvo článkov o tom, ako používať SpecFlow, ako nastaviť TFS na spúšťanie testov, ale žiadny článok neobsahuje všetky aspekty. V článku sa podelím o to, ako urobiť spúšťanie a úpravu scénarov SpecFlow pohodlné pre všetkých.

Pod rozšírením sa dozviete, ako získať:

  • Spúšťanie testov z TFS
  • Automatické prepojenie scenárov na testovací prípady v TFS
  • Vždy aktuálny obsah testovacích prípadov v TFS
  • Možnosť upravovať scenáre priamo v systéme správy verzií testerami
    Pohodlné BDD: SpecFlow+TFS

Pozadie

Pred nami stála úloha automatizovať testovanie aplikácie pomocou prístupu BDD. Keďže základným systémom sledovania úloh v našej spoločnosti je TFS, v mojej hlave sa vytvoril obraz, v ktorom kroky scenára SpecFlow sú kroky testovacích prípadov v TFS a spúšťanie testov sa uskutočňuje z testovacích plánov. Ďalej popíšem, ako som to realizoval.

Čo budeme potrebovať:

  1. Projekt s testami na SpecFlow
  2. Azure DevOps Server (aka Team Foundation Server)
  3. Nástroj na synchronizáciu scenárov SpecFlow s testovacími prípadmi v TFS

Nastavenie

1. Vytvorenie zostavy projektu s testami

Tu je všetko jednoduché, zostavenie a publikácia artefaktov. O tretej úlohe podrobnejšie ďalej.

Pohodlné BDD: SpecFlow+TFS

2. Vytvorenie vydania na spúšťanie testov

Vytvoríme vydanie s jednou úlohou — Visual Studio Test

Pohodlné BDD: SpecFlow+TFS

V tomto prípade je úloha nastavená na spúšťanie testov manuálne z testovacieho plánu

Pohodlné BDD: SpecFlow+TFS

3. Synchronizácia testovacích prípadov

Vieme, že Visual Studio umožňuje prepojiť testovacie metódy s testovacími prípadmi v TFS a spúšťať ich z testovacích plánov. Aby sme to nemuseli robiť manuálne a tiež na synchronizáciu obsahu scénarov, napísal som jednoduchú konzolovú aplikáciu FeatureSync. Princíp je jednoduchý — parsujeme feature súbor a pomocou TFS API aktualizujeme testovacie prípady.

Ako používať FeatureSync

Pridajte namespace a lokalizáciu do hlavičky feature súboru:

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

*namespace by mal zodpovedať názvu .dll súboru, v ktorom sa nachádzajú testovacie metódy

Vytvoríme prázdne testovacie prípady v TFS a pridáme štítky s ich ID k scénarom:

Pohodlné BDD: SpecFlow+TFS

@2124573 @pozitívny
Scenár: Úspešná autorizácia
	Given Sa na stránke autorizácie
	And Zadajte:
		| Login | Heslo |
		| používateľ | pass |
	When Stlačím tlačidlo prihlásenia
	Then Prehliadač presmeruje na domovskú stránku

Spustíme FeatureSync:

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

V našom prípade sa spustenie uskutočňuje po zostavení projektu s testami:

Pohodlné BDD: SpecFlow+TFS

Výsledok synchronizácie

Synchronizované kroky scenára SpecFlow a bol nastavený stav Automatizácia

Pohodlné BDD: SpecFlow+TFS

Pohodlné BDD: SpecFlow+TFS

4. Nastavenie testovacieho plánu

Vytvárame testovací plán, pridávame doň naše automatizované prípady, v nastaveniach vyberáme zostavenie a vydanie

Pohodlné BDD: SpecFlow+TFS

Pohodlné BDD: SpecFlow+TFS

5. Spustenie testov

Vyberáme potrebný test v testovacom pláne a spúšťame ho.

Pohodlné BDD: SpecFlow+TFS

Záver

Výhody takejto konfigurácie:

  • ktorýkoľvek tester môže otvoriť feature súbor vo webovej forme správy verzií, upraviť ho a zmeny nadobudnú účinnosť ihneď po zostavení
  • je možné spúšťať testy kedykoľvek samostatne
  • priehľadný testovací model — vždy vieme, čo robí test, ktorý sme spustili.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster