как вы решаете проблемы со сценариями "работает на моей машине" - PullRequest
7 голосов
/ 08 мая 2009

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

Ответы [ 8 ]

11 голосов
/ 08 мая 2009

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

Обучите свою команду, чтобы она знала, что «работает на моей машине» - это не выход из тюрьмы.

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

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

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

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

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

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

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

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

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

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

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

5 голосов
/ 08 мая 2009

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

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

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

2 голосов
/ 08 мая 2009

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

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

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

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

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

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

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

2 голосов
/ 08 мая 2009

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

0 голосов
/ 08 мая 2009

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

0 голосов
/ 08 мая 2009

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

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

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

0 голосов
/ 08 мая 2009

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

0 голосов
/ 08 мая 2009

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

...