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

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

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

Так вот'Мой сценарий (каламбур): я

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

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

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

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

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

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