Отношение я стараюсь придерживаться:
- Абсолютная уверенность в том, что причина и следствие работают, и ничто не является магией. Ничего не происходит на самом деле странно, только то, что я не понимаю.
- Абсолютная уверенность в том, что, если я продолжу настаивать на этом, я получу решение (это может включать в себя передачу его кому-то более знающему, обучение, просьбу о помощи, тяжелую работу и т. Д.).
- Ворчание о том, что установка, программа или сценарий плохо спроектированы или действительно глупы, просто не помогает, так что не делайте этого. (Я нахожу это трудно, ворчать это весело).
Это отношение, которое мне полезно удерживать - они мешают мне подбрасывать руки в воздух, объявлять что-то «странным» и затем сдаваться или становиться несчастными, потому что это кажется «неразрешимым».
Способы, которые я думаю об устранении неполадок:
- Системы имеют много частей, если они соединены вместе или настроены случайным образом, то они не будут работать так, как нужно. Есть одна или две очень специфические конфигурации, которые будут работать - из всех миллионов способов сложить кирпичи и металл, только немногие являются мостами, и только один или два являются достаточно хорошими мостами. Причиной может быть символ в текстовом файле или неисправный сервер, но каждая часть должна быть правильной, чтобы все было правильно. Я должен быть готов быть тщательным и дотошным, если это необходимо. Системы не могут делать «шоу должно продолжаться».
- Вы начинаете с целой системы, такой как карта, вы представляете себе облако вероятности, плавающее по карте, представляющее «где проблема», и ваша задача - использовать опыт и находить тесты, чтобы оттолкнуть вероятность от одних областей к другим и сжать его до точек, которые являются проблемными точками с высокой вероятностью, а затем атаковать их. Это возвращается к причине и следствию - проблема в системе, это не волшебство. Это проблема, которая существует, поэтому она должна где-то существовать.
- Все может быть настроено так, как угодно. Единственный способ определить одно поведение как «ОК», а другое - как «проблему» - это то, что кто-то получает не то, что он хочет. Вы должны понимать, чего они хотят, что они получают четко и конкретно.
Процесс устранения неполадок:
- В чем проблема. Убедитесь, что вы видите, что это происходит, и можете воспроизвести это сами, чтобы не было недопонимания. К тому времени, когда ко мне обращаются в службу поддержки, люди часто сталкиваются с проблемами, но никто не может объяснить мне, в чем проблема на самом деле.
- Это рекурсивное деление пополам снова - разделяй и властвуй, бинарный поиск - вы придумаете тест, который докажет, является ли проблема этой стороной теста, или той стороной, и проведете тест, чтобы он устранял как можно больше. Повторите, пока не решено.
- Не узнайте, можете ли вы избежать этого - лучше заблокировать учетную запись базы данных и доказать, что проблема по-прежнему возникает, когда база данных не задействована, чем часами изучать, как используется база данных.
- Слишком легко поймать себя на мысли: «Я не знаю, что делать дальше». Обратите внимание, когда это произойдет, и вернитесь к тестам, которые обнаружат проблему.
Интернет не работает? Проверьте проблему, найдите веб-сайт, на который они не могут попасть. Быстрые тесты вовлекают их интернет-соединение (работает), загружается ли оно для меня (нет). Быстрые тесты указывают на то, что это сайт. Видя, что проблема возникает для меня, я быстро отодвинул вероятность от их ПК, браузера, DNS, брандмауэра учетной записи пользователя и т. Д.
Так что сайт не загружается, что теперь? Это еще не решаемо, так что ищите места, чтобы разделить проблему на более мелкую. Сервер включен? Это пингует? DNS работает? Да. Служба отвечает на порт 80? Нет. Служба запущена? Нет, это начинается? Нет. Дает ли это ошибки в журнале событий / лог файлах? Да! Что они говорят?
Это эффективное и быстрое устранение неполадок, поскольку оно неуклонно сосредоточено на сужении области проблемы. Если бы я принял их сообщение о том, что интернет не работает, я бы ошибочно подумал, что это сбой соединения. Если бы я принял свое первое наблюдение, что оно не загружается для них, я бы потратил время на их компьютер, думая, что он виноват.
Вырежьте куски «вещей, которых не может быть» настолько большими, насколько это возможно.
Понять систему. Чем более общие знания о системе у меня есть, тем легче она становится. Там, где у меня слабое понимание, проблемы являются более пугающими, более сложными, более медленными, и с большей вероятностью заканчиваются обходным решением, чем исправлением, или большим тупым медленным исправлением (переустановкой), чем небольшим, точным хирургическим исправлением.