BDD
Поведение Driven Development все о разговорах между командой разработчиков и бизнеса. Файлы функций и сценарии внутри них должны всегда относиться к конкретной потребности бизнеса, функции или способности, что означает, что как бизнес, так и команда разработчиков полностью понятны между ними в точности, что обозначено.
В качестве примера:
Feature: Rewards for frequent flyers
As a frequent flyer
I should receive points to my account
So that I am more likely to book with BDD Airlines again in the future
Scenario: I get flyer miles
Given I book a flight
And this flight earns 100 miles
When I land
Then my account should have 100 miles added to it
Вопрос, делает это очертить всю проблему или есть нужно больше информации? Может ли команда разработчиков построить что-то с помощью этой беседы (как вы о SBE)?
Будет ли это лучше ?:
Feature: Rewards for frequent flyers
As a frequent flyer
I should receive points to my account
So that I am more likely to book with BDD Airlines again in the future
Scenario: Passenger gets flyer miles
Given the account number 12341234 has a ticket for the "LGW-MAN" flight
And this route earns 100 miles
And the ticket is scanned at "LGW"
When the flight lands at "MAN"
Then the account 12341234 is rewarded 100 miles
Scenario: Passenger missed their flight
Given the account number 12341234 has a ticket for the "LGW-MAN" flight
And this route earns 100 miles
And the ticket is not scanned at "LGW"
When the flight lands at "MAN"
Then the account 12341234 is not rewarded any miles
Scenario: Passenger gets kicked off the plane
Given the account number 12341234 has a ticket for the "LGW-MAN" flight
And this route earns 100 miles
And the ticket is scanned at "LGW"
But the ticket is removed from the flight
When the flight lands at "MAN"
Then the account 12341234 is not rewarded any miles
Это все о ясности, и, как правило, больше о том, как поведение системы описаны в отношении бизнеса.
Ваш пример
лично я бы не написать сценарий для целей тестирования индикатор прогресса, поскольку бизнес не должен быть заинтересован в реализации каких-либо компонентов, используемых (они не заботятся о панели загрузки, им просто нужно, чтобы информация фактически загружалась).
Это, по моему мнению, было бы лучше, как единичный тест.
Привет, Кайл, ваш пример полезен, и я понимаю, что мой сценарий - это не деловая вещь. Как предположил @Lunivore, я, вероятно, сделаю этот тест более низкого уровня и конвертирую GWT в комментарии. Один вопрос о вашем примере: «И если билет не сканируется на« LGW », начните с' But' вместо 'And'? –
Это может быть либо «И», либо «Но», оба имеют смысл в этом сценарии. После того, как вы это сказали, мой инстинкт говорит мне изменить его на «Но» исключительно потому, что он ссылается на отрицательное предположение, а не на положительное. Это все о предпочтении, когда дело доходит до использования 'And' &' But' –