Внедрение системы автоматического тестирования сайтов

Автор: Егор Лебедев и Денис Сахаров

Разработали и внедрили систему автоматического тестирования ВСЕХ(!) сайтов с помощью Nightwatch.js и Selenium. Задачи об ошибках ставятся в корпоративную систему управления проектами. Одна задача равна одному типу теста. В тексте задачи разработчик видит список ссылок на страницы, где данный тест провалился.

Разработали и внедрили систему автоматического тестирования сайтов с помощью Nightwatch.js и Selenium

Автором выступил наш старший разработчик — Егор Лебедев, который по результатам разработки был переаттестован в Ведущего.

Этапы реализации

  • Программирование краулера, строящего полную карту сайта.
  • Программирование системы выполнения произвольного количества тестов по загруженной в браузер странице.
  • Программирование системы, строящей отчеты с ошибками.
  • Внедрение, получившегося продукта, в работу(для этого использовались результаты из наших предыдущих крупных инфраструктурных задач: внедрение CI и надстройки над багтрекером).
  • Написание ряда общих тестов.

Примеры тестов

  • Битые ссылки.
  • Наличие заполненных тайтлов, служебных заголовков, тегов H1 и прочего для целей SEO.
  • Правильность отображения на разных разрешениях(наличие скролла, кликабельность ссылок).
  • Проверка ошибок JS.
  • Проверка нашего стандарта публикации.
  • И т.д.

В итоге мы получили систему, которая автоматически по некоторому расписанию ходит на ВСЕ (ЭТО КЛЮЧЕВОЕ СЛОВО В СТАТЬЕ, КЛЮЧЕВОЕ ДОСТИЖЕНИЕ ЭТОГО ПРОЕКТА) обслуживаемые нами сайты и тестирует их. Система позволяет писать специфичные тесты под каждый обслуживаемый сайт. От идеи до реализации прошло около года, срок активной разработки — 2-3 месяца.

В планах по дальнейшему развитию написание большего количества тестов.

Компании

Компании