Возьмите два разных способа описания одного и того же поведения.
Вариант А:
Given a customer has 50 items in their shopping cart
When they check out
Then they will receive a 10% discount on their order
Вариант Б:
Given a customer has a high volume of items in their shopping cart
When they check out
Then they will receive a high volume discount on their order
Первый гораздо более конкретен. Если у кого-то возникнут вопросы о том, когда именно клиент получает большую скидку за объем или сколько ему дать, прочтение этого сценария проясняет ситуацию. Служа целям документирования поведения, он настолько специфичен, насколько это возможно, хотя любое изменение этих значений потребует изменения сценария.
Второй более общий и не имеет ясности первого. Для его автоматизации потребуется включить значения «50» и «10» в реализации шага. С другой стороны, сценарий отражает основную потребность бизнеса: крупный клиент получает скидку. Если позже мы решим использовать «40» и «15», сценарий не должен измениться, потому что потребности основного бизнеса на самом деле не изменились (хотя пошаговая реализация изменится). Кроме того, термин «крупный клиент» кое-что сообщает о том, почему мы предоставляем им скидку.
Итак, что лучше? Скорее, при каких обстоятельствах я должен отдать предпочтение первому или второму?