Как вы реализуете функциональные тесты в стиле BDD?

Используйте цепочку методов.

Альтернатива автоматизированному UAT с использованием BDD.

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

Иногда Cucumber или аналогичный инструмент для совместной работы может не понадобиться для определенного проекта. Мол, заинтересованные стороны бизнеса не используют его как канал связи. В таких случаях наличие такого инструмента может стать накладными расходами.

Вы можете объединить свои методы в цепочку, чтобы четко описать цель проверяемого сценария.
Принцип чистого кодирования — код должен быть легко читаемым, понятным и поддерживаемым — следует использовать и для автоматизированных функциональных тестов.

В последнее время я работал с Cypress для автоматизации функций, где я выполнил следующие шаги, чтобы добиться этого:

  • Дайте понятные имена методам.
  • Экспортируйте индивидуально названные функции.
  • Импортируйте его как именованный файл.

Эти 3 пункта, если они реализованы правильно, могут помочь выполнить тесты в стиле BDD.

Взгляните на эту суть:

Вы можете увидеть именованные методы в

upload.ts
wait.ts
details.ts

Все методы этих файлов называются импортами в файле спецификаций.
Файл спецификаций теперь содержит самоочевидный тестовый пример/спецификацию:

  • Тест входит в систему и ожидает загрузки домашней страницы.
  • На домашней странице он загружает страницу сведений (для элемента) и ожидает ее.
  • Затем загружаются 2 файла, где он ожидает успешной загрузки обоих файлов. Время ожидания составляет 120 секунд.
    (Метод поддерживает загрузку нескольких файлов одновременно.)
  • Затем выполняется проверка — были ли успешно загружены эти 2 файла.

Вот так просто! Мне нравится работать с этой стратегией. Дайте мне знать и о вашем опыте!