Как мы справляемся с незначительными изменениями сценариев BDD?

Мне нравится подход BDD к разработке, но я столкнулся с проблемой того, как далеко продвинуться. Этот комментарий от ThoughtWorks самый последнийрадиолокационный дает мне паузу:

"The advent of behavior-driven design (BDD) testing frameworks like Cucumber, combined with browser automation tools like Selenium, has encouraged widespread use of acceptance testing at the browser level. This unfortunately encouraged doing the bulk of testing where the cost to run the tests is the greatest. Instead, we should test at the appropriate level, as close to the code as possible, so that tests can be run with maximum efficiency. Browser-level tests should be the icing on the cake, supported by acceptance and unit tests executed at appropriate layers."

Итак, вот мой сценарий (каламбур):

У меня есть базовое приложение CRUD с бизнес-требованиями для фильтрации отображаемых данных на основе критериев, которые конечному пользователю разрешено выбирать. Для простоты обсуждения предположим, что это приложение для энергетической компании, и я отображаю текущее потребление электроэнергии для каждого потребителя за месяц. Пользователь этого приложения может сузить данные, выбрав одного клиента, нескольких клиентов, ни одного клиента или «Все клиенты». Отображаемые данные будут меняться в зависимости от того, что они выбирают.

Для заинтересованных сторон продукта они действительно представляют 4 отдельных сценария. Однако, с точки зрения разработчика, они практически идентичны, с той лишь разницей, что параметр передается в БД. Таким образом, возникает вопрос: перевешивает ли польза от того, что каждая перестановка прописана, затраты на их эксплуатацию и обслуживание?

Я думаю, что принципы BDD, вероятно, скажут "да" потому что сообщение об ожидаемом поведении является более явным, но я не уверен. Это, безусловно, имеет чувство излишнего. Сценарии, вероятно, будут много копировать с незначительными изменениями.

Я склонен покрыть эту функциональность одним сценарием, который фиксирует ценность для основного бизнеса («при выборе клиента я вижу данные об энергопотреблении»), а затем покрываю другие перестановки с помощью набора интеграции без использования пользовательского интерфейса. тесты, которые проверяют сервис / запрос, возвращают правильные данные. Это неправильное мышление? Каков наилучший ответ, чтобы убедиться, что эти сценарии охвачены, не отказываясь от преимуществ BDD?

Ответы на вопрос(2)

Ваш ответ на вопрос