как устранять неполадки в сценариях «работает на моей машине»

StackOverflow https://stackoverflow.com/questions/838770

  •  22-07-2019
  •  | 
  •  

Вопрос

Часто случается, что когда вы сообщаете об ошибке разработчику, он возвращается и говорит: «Это работает в моей системе», хотя это приложение для браузера.Как вы собираетесь во всем этом разобраться?

Это было полезно?

Решение

С точки зрения обучения / процесса:

Обучите свою команду, чтобы она знала, что "работает на моей машине" не является ответом без тюремного заключения.

Имейте сервер автоматической сборки .

Иметь автоматическое тестовое развертывание.

Ваши разработчики должны знать, что " работает " определяется как «работает на тестовом сервере», а не только на его компьютере.

С точки зрения тестирования / отладки:

Разработчику необходимо показать последовательность действий, которые приводят к возникновению ошибки.

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

С точки зрения разработки / среды:

Если действительно есть ошибка, которая проявляется в одной среде, но не в разработчике, выясните, проявляется ли она в средах разработки, или только в вашей среде разработчика.

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

Или вы можете пойти другим путем и попытаться отладить проблему в производственной (не разрабатываемой) среде.

Детали их реализации зависят от платформы.

Другие советы

Вам необходимо предоставить как можно больше информации разработчику. Даже вещи, которые вы не считаете актуальными.

Я не могу сосчитать, сколько раз мне сообщали о проблеме и не мог повторить ее, только чтобы узнать позже часть информации, которую пользователь изначально не включил, но которая была ключом к разблокировке головоломка.

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

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

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

Я также указываю им на возможности:

а.Существует разница в конфигурации между локальной системой и сервером.

б.Некоторые зависимости функциональности не обновляются на сервере.

в.Они не очистили кеш браузера.

д.Я воспроизвожу проблему на промежуточном сервере и демонстрирую ее им.

е....и так далее, в зависимости от случая.

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

IE Tester - хороший инструмент для устранения неполадок такого рода. Если вам нужно протестировать множество браузеров, то вам лучше всего подойдут виртуальные машины, такие как Virtual PC, поэтому на вашем тестовом сервере может быть множество настроек клиента.

ах да ... самое старое оправдание в книге.

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

Я бы также рекомендовал использовать автоматизированную среду тестирования и тестировать приложения на выделенном тестовом сервере.

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

scroll top