Устранение трудностей для воссоздания ошибок
В js-приложении, которое я разрабатываю, есть несколько ошибок, которые время от времени повторяются для некоторых пользователей, которые тестируют его, но я сам не смог их воссоздать.
Какие инструменты / подходы существуют для отладки ошибок, которые трудно воссоздать, или которые, кажется, происходят только на компьютере, к которому у разработчика нет доступа?
2 ответа
Самое первое, что я делаю, - это получить пользовательский агент того, кто видел ошибку, чтобы я мог проверить ее и убедиться, что я тестирую на одной и той же версии браузера и операционной системы. Они могут увидеть свой пользовательский агент, перейдя на http://whatsmyuseragent.com/
Я также прошу, если возможно, скринкаст - иногда я думаю, что делаю те же самые шаги, что и они, но на самом деле я неправильно понял, что они имели в виду.
Для действительно сложных ошибок, я пытаюсь добавить в код некоторую регистрацию (возможно, добавлю окно регистрации), чтобы я мог выяснить, какие пути кода они достигают.
Я бы порекомендовал создать несколько юнит-тестов: https://github.com/pivotal/jsunit
Я не буду описывать плюсы и минусы создания надежного пакета модульного тестирования, но даже самые базовые модульные тесты должны помочь улучшить общее качество вашей системы и позволить вам находить / предотвращать ошибки быстрее и лучше.