Я работаю над проектом веб-разработки и тестирования BDD с другими членами команды.
Сверху мы пишем файлы функций в gherkin и запускаем cucumber для генерации пошаговых функций. Внизу мы пишем модели страниц Selenium и скрипты библиотек действий. Остальное - просто заполните пошаговые функции скриптом Selenium и, наконец, запустите варианты огурца.
Звучит достаточно просто.
Проблема начинается, когда мы пишем файлы функций.
Проблема 1. Требования нашего клиента меняются каждую неделю по мере реализации проекта в отношении удаления старых и добавления новых.
Проблема 2. Кроме того, для некоторых функций подробные инструкции также постоянно меняются.
Проблема становится действительно серьезной, если мы каждый день пытаемся генерировать обновленные пошаговые функции на основе обновленного файла функций. Чтобы синхронизировать пошаговые функции и файлы функций, необходимо провести некоторую уборку.
Чтобы решить проблему 2, я вспомнил, что одно из основных правил при написании файла функций gherkin - как можно больше использовать язык бизнес-домена. Поэтому я попытался убедить BA написать файл функций немного более расплывчатым и не включать в него слишком много шагов, специфичных для пользовательского интерфейса, чтобы нам не приходилось часто изменять файлы функций / пошаговые функции. Но она колеблется, потому что в документе с требованиями клиента есть подробности, и она просто пытается следовать.
Чтобы справиться с проблемой 1, у меня нет решения.
Итак, мой вопрос:
Есть ли хороший способ написать файл функций, чтобы на него меньше влияло изменение требований клиента? Можем ли мы написать его расплывчато, чтобы опустить некоторые детали, которые могут измениться (по крайней мере, таким образом мы сможем стабилизировать прототип пошаговой функции), и если да, то как далеко мы можем зайти?
Когда подходящее время для создания определений шагов и заполнения содержимого? С самого начала или подождать, пока характеристики немного стабилизируются? Как часто мы должны это делать, если функция продолжает меняться? А есть ли удобный способ убрать устаревшие пошаговые функции?
Любые мысли приветствуются.
Спасибо,