Я в процессе написания сценариев Gherkin и сталкиваюсь с проблемой, когда пользовательские истории применяются к нескольким персонажам в разрабатываемой нами системе с небольшими различиями.
Основываясь на том, что я прочитал, предпочтительный подход - писать файлы функций с этой точки зрения:
Как [роль / персона]
Я хочу [особенность]
Так что [выгода]
Проблема в том, что я в конечном итоге напишу более или менее один и тот же сценарий для каждого персонажа, что в конечном итоге приведет к большому дублированию.
Чтобы привести конкретный пример, в заявке на набор персонала разные лица должны иметь возможность просматривать организации-кандидаты, зарегистрированные в Компании. Единственная разница в том, что в зависимости от того, какой у вас уровень привилегий (т.е. какова ваша личность), например, уровень руководителя, региональный менеджер, региональный менеджер, руководитель филиала, сотрудник филиала, внешний клиент, к коллекции необходимо применить какую-то фильтрацию. кандидатов вы можете просмотреть.
Один из способов решения этой проблемы - ориентировать Feature / User Story на сущность (заявителя), а не на личность, т.е.
Функция
Как пользователь приложения (NB. Вместо того, чтобы упоминать конкретную личность, мы ссылаемся на "общий" пользовательский образ)
Я хочу видеть кандидатов
Чтобы я мог выполнять свои рабочие обязанности
Сценарий
Когда я прошу просмотреть кандидатов
Затем я должен просмотреть кандидатов, которые мне разрешены на основе моих разрешений.
Этот сценарий кратко описывает историю пользователя. Однако я хотел бы протестировать различные варианты использования, например, менеджер филиала может просматривать только кандидатов, назначенных его филиалу, региональные менеджеры могут просматривать только кандидатов, назначенных его региону, клиент может просматривать только кандидатов, назначенных на работу в своей компании.
Как лучше всего это сделать и считаете ли вы приемлемым подход к написанию пользовательских историй, ориентированных на сущность, а не на личность?