Как справиться с невоспроизводимыми ошибками - PullRequest
3 голосов
/ 09 ноября 2010

Вы когда-нибудь оказывались в этом положении - клиент сообщает об ошибке, но вы не можете ее воспроизвести Даже команда QA не может воспроизвести ошибку. Мы сталкиваемся с такой ситуацией с нашим настольным приложением (C #, формы Windows). Что вы предлагаете нам сделать, чтобы воспроизвести ошибку, или отследить сценарий, который порождает ошибку.

Ответы [ 2 ]

5 голосов
/ 09 ноября 2010

Да, это обычная ситуация.

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

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

0 голосов
/ 09 ноября 2010

Все зависит от того, с какой ошибкой вы сталкиваетесь (логика, пользовательский интерфейс, многопоточный или фактический пользователь).

  • Убедитесь, что клиент предоставил вам всю необходимую информацию для воспроизведенияошибка.
  • Если это вообще возможно, попросите клиента показать вам, как воспроизвести ошибку, или, по крайней мере, отправьте несколько снимков экрана, как это было сделано.
  • Убедитесь, что вы написали несколькоМодульный тест, чтобы попытаться скрыть ошибку, попробуйте доказать, что она есть.
...