Как, наконец, исправить баги конечных пользователей

Оставить комментарий
Как, наконец, исправить баги конечных пользователей

Минский стартап Kuoll, разрабатывающий сервис, который помогает быстрее исправлять ошибки в веб-приложениях делится небольшой историей создания и подробностями работы сервиса.

В веб-приложениях особенно сложно исправлять ошибки, которые происходят у конечных пользователей:
—  пользователи не чётко описывают проблему;
—  проблема происходит в браузере у пользователя, и серверные логи не всегда могут описать, почему произошла ошибка;
—  конфигурация запущенного веб-приложения отличается от той, которой пользуются разработчики.

Работая программистами, мы долго не могли понять, почему нет инструмента, который поможет легко отладить такие ошибки. Ведь есть же отладчики, измерители производительности, инструменты для автоматизированного тестирования, отправление dump-файлов для windows приложений. Почему до сих пор нет инструмента, чтобы автоматически собрать диагностическую информацию для веб-приложений? И мы наивно думали, что кто-то большой и умелый создаст такой инструмент.

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

Как это работает?

После установки Kuoll-скрипта в страницы вашего веб-приложения, скрипт записывает 3 последние минуты действий пользователя. Когда у пользователя возникает проблема, и он обращается в поддержку, скрипт присоединяет Kuoll-запись к описанию ошибки от пользователя. Программист, имея эту запись, может проанализировать и точно понять, почему произошла ошибка. 

Чтобы программист мог точно понять, почему произошла ошибка, мы сохраняем:
— весь код веб-страницы и изменения (DOM-Mutations) которые происходят со страницей;
— действия пользователя на странице в виде событий браузера;
— сетевые запросы и ответы (включая заголовки и содержимое);
— JavaScript Errors;
— Запись в console;
— Причинно-следственные связи между этими событиями.

Пример простейшей цепочки причинно-следственный связей: 

1) пользователь щёлкнул на кнопке;
2) поэтому произошёл запрос на сервер;
3) поэтому пришёл ответ сервера;
4) поэтому на страницу был добавлен новый элемент.

Попробуйте сами:

Зайдите на https://kuoll.github.io. Там можно поиграться с небольшим todo-приложением и потом посмотреть, как выглядит запись.

Лень щёлкать мышкой в todo-приложении? Можете посмотреть видео: http://www.kuoll.com/.

Читайте также

«900 продуктовиков из местного Linkedin делите на 10». PandaDoc затеяла трансформацию
«900 продуктовиков из местного Linkedin делите на 10». PandaDoc затеяла трансформацию

«900 продуктовиков из местного Linkedin делите на 10». PandaDoc затеяла трансформацию

dev.by поговорил с VP of Engineering в PandaDoc Ильёй Казимировским и Director of Engineering Николаем Амелишко про то, как и зачем компания «убирает стены» перед трансформацией, нанимает новых high level топов, учит сотрудников фейлиться. И, конечно, опять про культуру.  
21 комментарий
Восемь белорусских ИТ-компаний попали в топ-100 лучших аутсорсеров мира
Восемь белорусских ИТ-компаний попали в топ-100 лучших аутсорсеров мира

Восемь белорусских ИТ-компаний попали в топ-100 лучших аутсорсеров мира

12 комментариев
Wargaming выпустил книгу для айтишников-иностранцев
Wargaming выпустил книгу для айтишников-иностранцев

Wargaming выпустил книгу для айтишников-иностранцев

12 комментариев
«ИТ нашим предприятиям не шибко-то нужно», — глава IBA Group Сергей Левтеев
«ИТ нашим предприятиям не шибко-то нужно», — глава IBA Group Сергей Левтеев

«ИТ нашим предприятиям не шибко-то нужно», — глава IBA Group Сергей Левтеев

18 комментариев

Обсуждение

Комментариев пока нет.