Смок-тест

Характер нордический, стойкий. Безукоризненно выполняет служебный долг. Нужен для проверки того, что приложение хоть как-то живёт. Критерии живости могут быть самые разные – от “всё что угодно кроме 404″ до “пользователь может залогиниться” и более сложных сценариев. Истина как всегда где-то между.

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

Первое, что нужно сделать – проверить, что каждая из морд отдаёт 200-й код ответа. Эта задача решается легко – пишем параметризованный тест, на входе он получает URL и через httpclient делаем запрос, получаем код ответа. Почему не селениум? Потому что каждой задаче – свой инструмент. Зачем нам полноценный браузер, если проверить нужно только код ответа? Т.к. мобильная версия живёт по тому же урлу, то чтобы её получить, нужно подставить в заголовки запроса user-agent строчку нужного мобильного устройства.

Вторая часть наших смок-тестов – проверка на js-ошибки – будет посложнее. О ней расскажу на следующей неделе с подробными примерами кода.

comments powered by Disqus