Как вы реализуете функциональные тесты в стиле BDD?
Используйте цепочку методов.
Альтернатива автоматизированному UAT с использованием BDD.
Написание автоматизированных функциональных тестов в стиле BDD выгодно и просто. Я знаю это, потому что я реализовал его с помощью Cucumber.
При правильном выполнении Cucumber дает вам синхронизированное представление бизнес-проблемы (файл функций) и ее технического решения (продукт проверяется базовым тестом). Это может помочь инженерной и бизнес-группе лучше общаться.
Cucumber также может помочь изменить мышление инженера с «Как мне протестировать этот фрагмент кода?» на «Как пользователь будет взаимодействовать с этой системой и какое поведение мы ожидаем в результате этого?»
Иногда Cucumber или аналогичный инструмент для совместной работы может не понадобиться для определенного проекта. Мол, заинтересованные стороны бизнеса не используют его как канал связи. В таких случаях наличие такого инструмента может стать накладными расходами.
Вы можете объединить свои методы в цепочку, чтобы четко описать цель проверяемого сценария.
Принцип чистого кодирования — код должен быть легко читаемым, понятным и поддерживаемым — следует использовать и для автоматизированных функциональных тестов.
В последнее время я работал с Cypress для автоматизации функций, где я выполнил следующие шаги, чтобы добиться этого:
- Дайте понятные имена методам.
- Экспортируйте индивидуально названные функции.
- Импортируйте его как именованный файл.
Эти 3 пункта, если они реализованы правильно, могут помочь выполнить тесты в стиле BDD.
Взгляните на эту суть:
Вы можете увидеть именованные методы в
upload.ts wait.ts details.ts
Все методы этих файлов называются импортами в файле спецификаций.
Файл спецификаций теперь содержит самоочевидный тестовый пример/спецификацию:
- Тест входит в систему и ожидает загрузки домашней страницы.
- На домашней странице он загружает страницу сведений (для элемента) и ожидает ее.
- Затем загружаются 2 файла, где он ожидает успешной загрузки обоих файлов. Время ожидания составляет 120 секунд.
(Метод поддерживает загрузку нескольких файлов одновременно.) - Затем выполняется проверка — были ли успешно загружены эти 2 файла.
Вот так просто! Мне нравится работать с этой стратегией. Дайте мне знать и о вашем опыте!