Удобен BDD: SpecFlow+TFS

Има много статии в интернет за това как да използвате SpecFlow, как да конфигурирате TFS за изпълнение на тестове, но няма нито една, която да съдържа всички аспекти. В тази статия ще ви кажа как можете да направите стартирането и редактирането на скриптове SpecFlow удобни за всички.

Под разреза ще научите как да получите:

  • Изпълнение на тестове от TFS
  • Автоматично свързване на скриптове към тестови случаи в TFS
  • Винаги актуално съдържание на тестови случаи в TFS
  • Възможност за редактиране на скриптове директно в системата за контрол на версиите от тестери
    Удобен BDD: SpecFlow+TFS

праистория

Бяхме изправени пред задачата да автоматизираме тестването на приложения, използвайки подхода BDD. Тъй като основата на системата за проследяване на задачи в нашата компания е TFS, имах картина в главата си, където стъпките на скрипта SpecFlow са стъпките на тестови случаи в TFS, а тестовете се стартират от тестови планове. По-долу е как го внедрих.

Какво ни трябва:

  1. Проект с тестове на SpecFlow
  2. Azure DevOps сървър (известен още като Team Foundation Server)
  3. Инструмент за синхронизиране на скриптове SpecFlow с тестови случаи в TFS

регулиране

1. Създаване на компилация на проект с тестове

Тук всичко е просто, сглобяване и публикуване на артефакти. Повече за третата задача по-късно.

Удобен BDD: SpecFlow+TFS

2. Създаване на версия за провеждане на тестове

Създаване на издание с една задача - Visual Studio Test

Удобен BDD: SpecFlow+TFS

В този случай задачата е конфигурирана да изпълнява тестове ръчно от тестовия план

Удобен BDD: SpecFlow+TFS

3. Синхронизиране на тестови случаи

Знаем, че Visual Studio ви позволява да свързвате тестови методи с тестови случаи в TFS и да ги изпълнявате от тестови планове. За да не правя това ръчно, а също и за да синхронизирам съдържанието на скриптовете, написах просто конзолно приложение FeatureSync. Принципът е прост – анализираме файла с функции и актуализираме тестовите случаи с помощта на TFS API.

Как да използвате FeatureSync

Добавете пространство от имена и локал към заглавката на файла с функции:

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

*именното пространство трябва да съвпада с името на .dll файла, който съдържа тестовите методи

Създаваме празни тестови случаи в TFS и добавяме тагове с техния идентификатор към скриптовете:

Удобен 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

Стартирайте FeatureSync:

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

В нашия случай стартирането става след изграждане на проекта с тестове:

Удобен BDD: SpecFlow+TFS

Резултат от синхронизация

Стъпките на скрипта SpecFlow се синхронизират и състоянието на автоматизацията е зададено

Удобен BDD: SpecFlow+TFS

Удобен BDD: SpecFlow+TFS

4. Създаване на тестов план

Създаваме тестов план, добавяме нашите автоматизирани случаи към него, избираме изграждане и освобождаване в настройките

Удобен BDD: SpecFlow+TFS

Удобен BDD: SpecFlow+TFS

5. Провеждане на тестове

Изберете необходимия тест в тестовия план и го стартирайте.

Удобен BDD: SpecFlow+TFS

Заключение

Предимствата на тази конфигурация:

  • всеки тестер може да отвори fetaure файла в уеб формуляра за контрол на версиите, да го редактира и промените ще влязат в сила веднага след изграждането
  • можете да провеждате индивидуални тестове по всяко време
  • прозрачен тестов модел - винаги знаем какво прави тестът, който стартирахме.

Източник: www.habr.com

Добавяне на нов коментар