Удобен BDD: SpecFlow+TFS

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

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

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

Предистория

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

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

  1. Проект с тестове на SpecFlow
  2. Azure DevOps Server (другото име е 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. Принципът е прост — парсваме feature файла и с помощта на API TFS обновяваме тестовите случаи.

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

Добавете namespace и локал на заглавието на feature файла:

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

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

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

Удобен BDD: SpecFlow+TFS

@2124573 @позитивен
Сценарий: Успешна авторизация
    Given аз на страницата за авторизация
    И аз въвеждам:
        | Логин | Парола |
        | потребител | парола |
    Когато натисна бутона за вход
    Тогава браузърът пренасочва на началната страница

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

FeatureSync.exe -f C:ПапкаСFeatures -s https://tfs.server.com/collection -t 6ppjfdysk-your-tfs-token-2d7sjwfbj7rzba

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

Удобен BDD: SpecFlow+TFS

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

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

Удобен BDD: SpecFlow+TFS

Удобен BDD: SpecFlow+TFS

4. Настройка на тестовия план

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

Удобен BDD: SpecFlow+TFS

Удобен BDD: SpecFlow+TFS

5. Стартиране на тестовете

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

Удобен BDD: SpecFlow+TFS

Заключение

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

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

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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster