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

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

Введение

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

Можно также надеяться на "авось" и решать проблемы по мере возникновения. Но при этом довольно высоки риски того, что что-то критическое отвалилось на сайте, а вы узнаете это только через неделю от случайного посетителя, написавшего в чат.

Хороший вариант - это сделать готовый тест в браузере и запускать его периодически.

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

Автоматизация проверок на платформе Falcon Space

Мы решили включить подобный функционал в нашу платформу, это позволит создавать простые тесты для проверки базовых моментов работоспособности системы.

Сценарий действий задается через JSON, в котором перечисляются различные действия. Сейчас в нашем арсенале есть следующие действия:

  • клик на элементе
  • перейти на URL
  • очистить поле
  • получить значение элемента
  • подождать N мс
  • получить текущий URL
  • получить title
  • получить CSS свойство 
  • получить значение атрибута
  • получить значение некоторого элемента

Также есть возможность настроить отправку сообщений о результатах тестов на почту. В системе можно посмотреть логи выполнения тестов более детально по командам.

Конечно, есть и обратная сторона тестов - это затраты на их создание и изменение по мере изменения интерфейса системы.
Мы постарались сделать максимально простым создание сценария, но все равно нужно знать азы CSS селекторов и JSON. При этом проверка работы проходит сразу после изменения теста (и в том же месте можно посмотреть лог выполнения теста). Наша платформа заточена под людей, работающих с SQL, все управление тестами лежит в SQL процедурах. Таким образом, не требуются дополнительные навыки для администратора-программиста. Он сам сможет создавать тесты и поддерживать их.

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

Дополнительное возможное применение данной возможности платформы - выполнение рутинных действий в интерфейсе. Особенно, если это внешний сайт, на котором вы должны сделать 100 однотипных действий. Можно запрограммировать, например, процесс создания объявлений.

Заключение

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

Документация к механизму автоматизированных тестов 

Автор статьи - Руслан Раянов

Cоздатель платформы Falcon Space

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Демо-стенд компонентов
На стенде можно посмотреть различные компоненты в действии: таблицы, формы, модальные окна, диаграммы, карта и т.д.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Обсудить проект
Задайте начальные вопросы по проекту, которые вас сейчас волнуют. Мы бесплатно проконсультируем вас и порекумендуем лучшее решение.

If you like our articles, then please subscribe to our channel in Telegram - Falcon Space.
In it we will publish updates on articles and other materials regarding our platform.