Живете в Польше? Поддержите devby 1,5% налога: бесплатно и за 5 минут 🤗
Support us

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

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

Минский стартап 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/.

Поддержите редакцию 1,5% налога: бесплатно и за 5 минут

Как помочь, если вы в Польше

Читайте также
В чатах рассказывают, как на беларусской границе берут отпечатки пальцев
В чатах рассказывают, как на беларусской границе берут отпечатки пальцев
В чатах рассказывают, как на беларусской границе берут отпечатки пальцев
Разработчик слотов в Минске уволил творческую команду? (В основном тех, кто за границей)
Разработчик слотов в Минске уволил творческую команду? (В основном тех, кто за границей)
Разработчик слотов в Минске уволил творческую команду? (В основном тех, кто за границей)
Сокращение могло коснуться тех, кто работал из-за рубежа.
4 комментария
Великобритания вводит электронные визы. Вот что изменится для беларусов
Великобритания вводит электронные визы. Вот что изменится для беларусов
Великобритания вводит электронные визы. Вот что изменится для беларусов
С цифровыми помощниками и ориентацией на практику. В Минобразования рассказали, как обучают поколение Альфа
С цифровыми помощниками и ориентацией на практику. В Минобразования рассказали, как обучают поколение Альфа
С цифровыми помощниками и ориентацией на практику. В Минобразования рассказали, как обучают поколение Альфа

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.