Pohodlné BDD: SpecFlow+TFS

Na internete je veľa článkov o tom, ako používať SpecFlow, ako nakonfigurovať TFS na spustenie testov, ale neexistuje ani jeden, ktorý by obsahoval všetky aspekty. V tomto článku vám poviem, ako môžete urobiť spúšťanie a úpravu skriptov SpecFlow pohodlnými pre každého.

Pod strihom sa dozviete, ako získať:

  • Spustenie testov z TFS
  • Automatické prepojenie skriptov s testovacími prípadmi v TFS
  • Vždy aktuálny obsah testovacích prípadov v TFS
  • Schopnosť upravovať skripty priamo v systéme správy verzií testermi
    Pohodlné BDD: SpecFlow+TFS

pravek

Stáli sme pred úlohou automatizovať testovanie aplikácií pomocou BDD prístupu. Keďže základom systému sledovania úloh v našej spoločnosti je TFS, mal som v hlave obrázok, kde kroky skriptu SpecFlow sú krokmi testovacích prípadov v TFS a testy sa spúšťajú z testovacích plánov. Nižšie je uvedený spôsob, akým som to implementoval.

Čo potrebujeme:

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

nastavenie

1. Vytvorenie zostavy projektu s testami

Všetko je tu jednoduché, montáž a publikovanie artefaktov. Viac o tretej úlohe neskôr.

Pohodlné BDD: SpecFlow+TFS

2. Vytvorenie vydania na spustenie testov

Vytvorenie vydania s jednou úlohou – Visual Studio Test

Pohodlné BDD: SpecFlow+TFS

V tomto prípade je úloha nakonfigurovaná na manuálne spustenie testov z plánu testovania

Pohodlné BDD: SpecFlow+TFS

3. Synchronizácia testovacích prípadov

Vieme, že Visual Studio vám umožňuje prepojiť testovacie metódy s testovacími prípadmi v TFS a spustiť ich z testovacích plánov. Aby som to nerobil ručne a tiež aby som synchronizoval obsah skriptov, napísal som jednoduchú konzolovú aplikáciu FeatureSync. Princíp je jednoduchý – analyzujeme súbor funkcií a aktualizujeme testovacie prípady pomocou TFS API.

Ako používať FeatureSync

Pridajte priestor názvov a miestne nastavenie do hlavičky súboru funkcií:

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

*priestor názvov sa musí zhodovať s názvom súboru .dll, ktorý obsahuje testovacie metódy

V TFS vytvárame prázdne testovacie prípady a do skriptov pridávame značky s ich ID:

Pohodlné 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

Spustiť 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ční po zostavení projektu pomocou testov:

Pohodlné BDD: SpecFlow+TFS

Výsledok synchronizácie

Kroky skriptu SpecFlow sú synchronizované a je nastavený stav automatizácie

Pohodlné BDD: SpecFlow+TFS

Pohodlné BDD: SpecFlow+TFS

4. Nastavenie plánu testovania

Vytvoríme testovací plán, pridáme doň naše automatizované prípady, v nastaveniach vyberieme zostavenie a vydanie

Pohodlné BDD: SpecFlow+TFS

Pohodlné BDD: SpecFlow+TFS

5. Priebeh testov

Vyberte požadovaný test v pláne testovania a spustite ho.

Pohodlné BDD: SpecFlow+TFS

Záver

Výhody tejto konfigurácie:

  • každý tester môže otvoriť súbor fetaure vo webovom formulári správy verzií, upraviť ho a zmeny sa prejavia ihneď po zostavení
  • testy môžete kedykoľvek spustiť individuálne
  • transparentný testovací model – vždy vieme, čo robí test, ktorý sme spustili.

Zdroj: hab.com

Pridať komentár