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