1 нояб. 2015 г.

Как разводить гремлинов

Классы ошибок, обнаруживаемые с помощью gremlins.js:
  • Ошибки вёрстки. Гремлину scroller иногда удаётся проскроллить совершенно неожиданные элементы страницы/приложения и загнать элементы интерфейса далеко за пределы видимой области. Обнаруживается визуально.
  • Reflow/repaint performance. После некоторых действий пользователя FPS может упасть из-за неидеальной вёрстки (scroll или незначительное изменение стиля ведёт к полному reflow документа и repaint всей видимой области) или объёмных вычислений в JavaScript (например, dirty checking в Angular-приложении). При падении FPS ниже 10 в консоли выдаётся сообщение.
  • Ошибки concurrency. Некоторые действия приложение может выполнять асинхронно, например, в интерфейсе с несколькими вкладками при переключении между ними такие действия, как отсылка запроса на сервер, очистка неактивной вкладки, создание объектов активной вкладки, обработка ответа сервера, отрисовка содержимого активной вкладки, переключение заголовков вкладок в принципе могут выполняться в разные моменты времени. Если кликать не спеша, с паузами, то порядок действий практически никогда не нарушится. Такие гремлины, как clicker, помогают обнаружить ошибки, если интервал между кликами становится сравним с интервалами между асинхронными действиями, и порядок выполнения кода может сломаться.
  • Ошибки алгоритмов/бизнес-логики. Гремлины formFiller и clicker могут вводить данные и нажимать на кнопки в совершенно непредсказуемой последовательности, и у какой-нибудь сложной валидации данных от этого может сорвать крышу.

Комментариев нет:

Отправить комментарий