Specflow для автоматизации пользовательского интерфейса

В нашем проекте TDD-подход придерживается разработанная команда. Но BA пишут пользовательскую историю в том же формате примера.

КАК: Анонимный покупатель (ACUST) Я ХОЧУ: фильтровать результаты поиска по цвету, ЧТО ТАКОЕ: я могу видеть продукты только тех цветов, которые мне нравятся

Если BA пишут пользовательские истории в более обобщенном формате, разработчики разбивают пользовательские истории на несколько историй. И наши ручные тестировщики пишут тестовые примеры в форме «При условии, когда-то», которая передается тестировщику автоматизации (нам) для автоматизации.

Мы, как тестировщики автоматизации, получаем, что SBI имеет один связанный с ним тестовый пример.

Теперь мы используем SpecFlow-Selenium для автоматизации наших тестовых случаев с использованием шаблона PageObject. и будет использовать MTM для связывания тестовых сценариев с тестовыми примерами и запуска их из MTM.

Каким должен быть наш подход к описанному выше сценарию? Как нам создать наш сценарий и файлы функций в specflow?

Любая информация была бы замечательной.


person Ankit    schedule 02.12.2014    source источник


Ответы (1)


Вам следует начать с счастливого сценария, например: (вы также можете использовать «схему сценария» вместо «обычный сценарий»)

Feature: filter results page of "Anonymous Customer"
         In order to help anonymous customers to find what their looked for
         As a anonymous customer I want be able to filter my search results   

BACKGROUND:
GIVEN i am an Anonymous Customer
AND i am at search results page

SCENARIO: customer filter results by color
GIVEN the page contains the following items:
         | product name | color | 
         | name1        | blue  |
         | etc....      | etc.. |
WHEN i filter results by <color X> (for example "blue")
THEN i should see the following items: <verify existence for the following items> 
         | product name       |
         | name1              |
         | other blue items...|

Затем вы можете начать проверку поведения «плохого сценария» только в том случае, если они являются важными (это зависит от времени выполнения, денег и т. Д.), Например:

scenario: customer change the filter color
scenario: customer remove all filters
scenario: etc...

В любом случае, из вашего описания кажется, что тестеры не разбивали эту историю на критерии приемки.

person Old Fox    schedule 03.02.2015