Главная

Статьи

BDD следующего поколения: от автоматизированных веб-тестов до автоматических веб-приемочных испытаний

В прошлом году наш Gumtree Австралия команда начала использовать ориентированную на поведение разработку в нашем процессе гибкой разработки. Первоначально мы искали среду BDD с открытым исходным кодом для реализации для тестирования BDD. Поскольку мы работаем над веб-приложением, мы хотели, чтобы наши автоматизированные тесты BDD использовали приложение в качестве пользовательского интерфейса через веб-интерфейс. Конечно, многие библиотеки веб-тестирования делают именно это, включая инструменты с открытым исходным кодом, такие как Селен а также WebDriver (Селен 2). Однако мы обнаружили, что ни одна из существующих структур BDD не поддерживает тестирование веб-автоматизации напрямую.

Мы решили просто интегрировать инструмент BDD с открытым исходным кодом. JBehave с Selenium, но вскоре узнал, что это решение не полностью соответствует потенциалу автоматических тестов BDD. Он не может управлять процессом разработки и документирования проекта так, как мы ожидали.

Разные заинтересованные стороны должны просматривать тесты BDD на разных уровнях. Например, QA нужны результаты, чтобы показать, как приложение ведет себя при тестировании. Руководители высшего звена не так заинтересованы в более тонких деталях, а скорее хотят увидеть количество и сложность функций, определенных и реализованных до сих пор, а также о том, находится ли проект на ходу.

Нам была нужна среда тестирования, которая позволяла бы нам выражать и сообщать о тестах BDD на разных уровнях, эффективно управлять историями и их сценариями, а затем углубляться в детали по мере необходимости. И поэтому мы начали разрабатывать продукт, который соответствует нашим потребностям. Мы назвали этот продукт Behavior Automation Framework (Beaf) и разработали его, чтобы упростить практику разработки на основе поведения. На основе JBehave, а также более традиционных инструментов, таких как TestNG Beaf включает в себя множество функций, упрощающих написание автоматических тестов BDD и интерпретацию результатов.

Расширения и утилиты Beaf улучшают веб-тестирование на WebDriver / Selenium2 четырьмя способами:

  • Поставка веб-консоли Story, где менеджеры PM / QA могут управлять всеми существующими историями, делить истории на разные категории или группы и создавать / редактировать истории, используя правильный формат BDD.

Поставка веб-консоли Story, где менеджеры PM / QA могут управлять всеми существующими историями, делить истории на разные категории или группы и создавать / редактировать истории, используя правильный формат BDD

  • Организация веб-тестов в повторяющиеся этапы и сопоставление их с первоначальными требованиями и пользовательскими историями.

Организация веб-тестов в повторяющиеся этапы и сопоставление их с первоначальными требованиями и пользовательскими историями

  • Генерация отчетов и документации о тестах BDD. Всякий раз, когда выполняется контрольный пример, Beaf генерирует отчет. Каждый отчет содержит описание теста, включая краткий комментарий и скриншот для каждого шага. Отчет содержит не только информацию о результатах теста, но и документацию о том, как были реализованы тестируемые сценарии. Отчеты служат живой документацией, иллюстрирующей, как приложение реализует указанные требования.

Отчеты служат живой документацией, иллюстрирующей, как приложение реализует указанные требования

  • Включение кратких сводок и обобщений результатов испытаний в отчеты. Эти обзоры включают в себя, сколько историй и их сценариев были протестированы с помощью автоматических тестов BDD. Взятые как набор объективных метрик, результаты теста показывают относительный размер и прогресс каждой реализуемой функции.

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

При выполнении теста, будь то с JUnit , JMock или другая структура, Beaf обрабатывает многие детали инфраструктуры Selenium 2 / WebDriver. Например, Beaf может работать с кроссплатформенными кейсами, включая настольные (Firefox, Chrome), мобильные (iPhone) и планшетные (iPad). Тестеры могут открыть новый браузер для каждого теста или использовать один и тот же сеанс браузера для всех тестов в классе. Используемый браузер / устройство также можно настроить в конфигурации Beaf.

Используемый браузер / устройство также можно настроить в конфигурации Beaf

Использование общих шагов обеспечивает уровень абстракции между тестируемым поведением и тем, как веб-приложение реализует это поведение. Этот уровень абстракции облегчает управление изменениями в деталях реализации, потому что желаемое поведение, как правило, будет меняться реже, чем детали того, как оно должно быть реализовано. Абстракция также позволяет централизовать детали реализации в одном месте.

@When ("размещение рекламы в категории \" $ category \ "категории) public void postingAd (@Named (" category ") категория String) выбрасывает Throwable {// 1. PageFactory будет генерировать страницы публикации объявлений в указанной категории. // 2. Статус страницы будет отправлен следующим шагом ThreadLocal. postAdPage.set (PostAdPageFactory.createPostAdPage (category, AdType.OFFER.name ())); }

В дополнение к отчетам о тестах, Beaf предоставляет очень полезный веб-модуль под названием Beaf Dashboard, который предоставляет более высокий уровень текущего состояния. Панель инструментов показывает состояние всех историй, как с точки зрения их относительных приоритетов, так и с точки зрения того, сколько историй и сценариев P1 / P2 / P3 полностью, частично или не автоматизировано. Эта информация дает хорошее представление о количестве работ, связанных с реализацией различных частей проекта. Панель инструментов также отслеживает результаты тестов с течением времени, так что пользователи могут наглядно представить объем выполненной работы в сравнении с предполагаемым объемом работы, которую предстоит выполнить.

Панель инструментов также отслеживает результаты тестов с течением времени, так что пользователи могут наглядно представить объем выполненной работы в сравнении с предполагаемым объемом работы, которую предстоит выполнить

Beaf облегчает QA людям присоединяться к проектам поэтапно. Он предоставляет PD / QA подробную информацию, необходимую для тестирования и обновления кода, а также дает бизнес-менеджерам и менеджерам проектов более высокоуровневые представления и отчеты, соответствующие их потребностям. Тем не менее, больший потенциал Beaf - это возможность превращать автоматизированные веб-тесты в автоматические веб-приемочные тесты в истинном духе BDD.

Новости

Увлекательные походы в Карпаты.

Наконец-то, пришло тепло, солнышко с каждым днем пригревает сильнее, зацвели сады и, природа манит своими красотами в поход. Что может быть лучше, чем пеший поход по родному краю? Ведь, это одновременно

Поход на вулкан Немрут Даг

Как давно вам не приходилось испытывать острых ощущений? Можно смело предположить, что очень давно. К сожалению или к счастью, но наш мир давно уже не такой, каким был раньше. Он стал намного тише

Антикварный магазин Домовой
В вашем доме есть домовой? Этакое противоречивое и непредсказуемое существо, которое разбрасывает и прячет вещи, топает по ночам и в то же время оберегает домашний очаг и всю семью. . . Кто же такой

Хуэй Чжун Дан
На просторах интернета мы нашли интересный сайт, который предлагает китайские шарики для усиления мужской силы. Ради интереса мы зашли на этот сайт Хуэй Чжун Дан. Сразу на первой странице Вы видите

Капсулы для похудения Лишоу
В наше время, наверное, каждый стремится выглядеть действительно красиво и привлекательно. И в первую очередь все мы бы хотели, что бы наша фигура была идеальной. Но нам из-за отсутствия времени очень

Регата Marmaris Race Week
5  мая 2018 года у  юго-западных берегов Турции стартует традиционная майская « Русская парусная неделя  Volvo» . В  этот раз крупнейшее российское яхтенное соревнование

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

Упражнения по арт терапии
Особенности арт-терапевтической сессии: • Доверие (открытость, знакомство с группой, интерес к себе и другим). • Концентрация (привлечение внимания к другим и себе, концентрация на чувствах,

Купить диван в Киеве недорого
Благодаря неустанным стараниям воровской власти нашей страны, уровень жизни населения стремительно падает. Но всем хочется позволить себе маленькие радости, в том числе и в вопросах обновления интерьера.

Домашние тараканы фото
Обычно, таракан – это нежеланный гость. С собой он приносит массу заморочек, потому что является разносчиком зараз, а избавиться от бессчетных колоний достаточно проблематично. Но если вы будет знать,