Как управлять различными тестовыми примерами с файлом функций в Specflow

У нас есть ручные тестировщики, которые просто списывают свои тест-кейсы в MTM и tfs sprint. Мы должны взять оттуда тесты и автоматизировать истории в Specflow (форма BDD).

1) Ручные тестировщики не пишут все тестовые случаи в одной истории. Обычно они создают разные истории для одной и той же функции. Итак, во время автоматизации, какими должны быть наши файлы функций?

2) В настоящее время я могу сказать, что мы просто тестируем методы, но как мы будем обрабатывать высокопроизводительные сценарии для системного тестирования. как выполнить полный процесс, скажем, "Когда я добавляю товар в корзину", это на самом деле означает, что покупатель уже находится на странице описания товара и добавляет товар в корзину после выбора количества. В настоящее время мы создали такие сценарии, как «Я на странице товара», «Я выбираю количество» и «Я добавляю товар в корзину».

3) Также нужно запустить тестовые примеры Smoke. Итак, как мы можем выбрать или идентифицировать тестовые случаи, которые будут выполняться с тестами Smoke. Каким будет наш функциональный файл Smoke ?? Как повторно использовать другие методы? мы не будем писать одни и те же тестовые примеры для дыма, мы просто хотим повторно использовать и другие методы тестирования для дыма.

Я совершенно новичок в этом деле, поэтому, если вам непонятно, что я написал, пожалуйста, напишите это в комментарии, и я отредактирую.

Пожалуйста, помогите мне в управлении моими тестовыми примерами, файлами функций и сценариями.


person Arpan Buch    schedule 18.11.2014    source источник
comment
Вы можете использовать веб-драйвер selenium, чтобы автоматизировать тестовые случаи. Например согласно вашему второму сценарию добавления продукта в корзину, прямо сейчас вы делаете это вручную, но как только вы создадите автоматический скрипт добавления в корзину, тогда в будущем в любое время для тестирования той же функции вам просто нужно будет запустить этот скрипт, который сохранит ваш время и усилия тоже..   -  person Helping Hands    schedule 18.11.2014
comment
@Quality-Expert, проблема в том, что когда ваш сайт изменяется, ваш сценарий становится недействительным, и вам нужно изменить каждый сценарий. С помощью SpecFlow вы можете просто отредактировать затронутые шаги, и все тесты, использующие эти шаги, будут исправлены.   -  person Sam Holder    schedule 18.11.2014


Ответы (1)


  1. Вы можете создать файл функций и использовать различные истории в качестве сценариев. Если историю можно разбить на различные тесты, у вас может быть отдельный файл характеристик для каждой истории. Это зависит от вашего контекста и уровня абстракции и детализации, которых вы пытаетесь достичь с помощью своих тестов. Обычно я стараюсь иметь очень сфокусированные файлы функций, которые концентрируются на тестировании одной концепции. Если я получаю слишком много сценариев в одной функции, я ищу группы, которые можно переместить в другой файл функций, и дублирование, которое можно объединить в общие сценарии, шаги или тесты, управляемые данными.

  2. Сценарии высокого класса будут включать автоматизацию описанных выше сценариев в пользовательском интерфейсе. Если вам интересно, как автоматизировать сценарии, это зависит от вашего пользовательского интерфейса. Если у вас есть веб-интерфейс, Selenium Webdriver, как рекомендует эксперт по качеству, является хорошим выбором. Чтобы поддерживать ваши тесты в сопровождении, вам следует изучить объекты страницы.

  3. Многие средства запуска тестов, поддерживаемые SpecFlow, предоставляют средства категоризации тестов и позволяют запускать тесты по категориям. Чтобы использовать эту функцию, вы можете добавить теги к своим функциям или сценариям. классифицировать тесты. Вы можете добавить @Smoke к функциям и сценариям, которые ставят под угрозу ваши дымовые тесты. Затем в вашем скрипте для запуска тестов вы должны использовать аргументы командной строки для запуска тестов, чтобы запускать только тесты, отмеченные дымом.

    Ваш файл функций дыма будет похож на другие ваши тесты. Если вы повторно используете шаги, которые вы уже написали в SpecFlow, он автоматически свяжет и повторно использует метод шага. Пока ваши дымовые тесты написаны так же, как и другие ваши тесты, вы сможете легко повторно использовать свои пошаговые методы.

person charleslbryant    schedule 18.11.2014
comment
A) Я уже использую шаблон объекта страницы с использованием фабрики страниц. B) я использую теги для дыма, но все еще не уверен в части покрытия кода C) я настроил селен с помощью specflow, который дает мне более модульную форму в форме GIVEN WHEN THEN. Я до сих пор не уверен, каким должен быть наш подход к управлению тестовыми примерами и файлами функций. - person Arpan Buch; 19.11.2014