Сообщаем разработчикам об ошибках

Автор оригинала: edgeofmyseat Limited
  • Перевод
Примечание: ниже перевод статьи «Reporting bugs — a how-to guide», в которой приводится ряд нехитрых действий, которые могут помочь как пользователю, так и разработчику справиться с ошибками на сайте или в веб-приложении. В свете постоянного появления в Рунете проектов со статусом «бета», статья может быть особенно полезна.

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


«Оно просто не работает»



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

Хороший отчет



Хороший отчет об ошибке должен сообщить разработчику три важные вещи:
  • какое поведение ожидалось;
  • что же на самом деле произошло;
  • что вы при этом сделали или делали.


Какое поведение ожидалось



Существует два типа «ошибок»: в первом случае что-то ломается — и вы видите сообщение об ошибке, либо данные, которые вы загрузили, исчезли, либо вы отправили данные через форму, и данные не сохранились. Такие ошибки, в общем случае, довольно легко обнаруживаются, и о них просто сообщать: в этом случае разработчику достаточно знать, что же вы делали или вводили в это время, чтобы он смог воспроизвести эту ошибку, а затем исправить.

Второй тип ошибок заключается в том, что приложение действует не так, как вы ожидаете. Это может происходит в том случае, если разработчик неверно воплотил часть технического задания, но, может быть, приложение просто не может работать так, как вам хочется. В таком случае разработчик полагает, то оно работает так, как задумывалось, и оно действительно «работает», хотя, может быть, действительно неправильно. Если в своем сообщении об ошибке вы скажите, что эта возможность не работает, разработчик может потратить массу времени, пытаясь обнаружить какую-либо ошибку в этой части приложения, хотя ему всего лишь нужно понять, что оно не работает так, как вы ожидаете. Если в своем сообщении вы напишите о том, что ожидаете от приложения, то разработчику будет проще понять: «Хмм, ему хочется, чтобы происходило «А», но на самом деле происходит «Б» — и правильное решение будет принято значительно быстрее.

Что же на самом деле произошло



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

«Форма не отправляется — я остаюсь на той же странице, где был».

Но, возможно, в результате отправки формы появляется пустая страница:

«После отправки формы загружается пустая страница».

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

Если вы используете Internet Explorer, тогда ваш браузер может не показывать сообщения об ошибках, которые выдает сервер, а просто общую страницу с ошибкой. Убедитесь, что IE показывает именно то сообщение об ошибке, которое пришло от сервера. Для этого зайдите в Tools > Internet Options > Advanced, затем прокрутите вниз и выключите опцию Show friendly http error messages. Для пользователей IE 7 нужно зайти в Сервис > Свойства Обозревателя > Дополнительно и включить опцию Выводить подробные сообщения об ошибках http.

Что вы при этом делали



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

Последовательность действий



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

Любые введенные данные



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

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

Браузер и операционная система



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

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

  • какое поведение ожидалось;
  • что же на самом деле произошло; и
  • что вы при этом сделали или делали.


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

Спасибо всем, кто читал и читает мои переводы. Буду признателен за любые комментарии и дополнения. Удачи в устранении ошибок!

Web Optimizator: проверка скорости загрузки сайтов
Поделиться публикацией

Комментарии 16

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

        Sunnybear, вы уверены, что аудитория из людей с "базовым уровнем знания ПК" вам самому будет интересна на Хабре?

        Всё меньше людей пишет о технологиях и своём опыте работы с ними, Хабр активно "попсеет", и это грустно...
          0
          я собираюсь исправить эту ситуацию, только пока не совсем понял, в какую сторону двигаться :)
            0
            Хабр уже не тот? :)
            0
            1. Есть Orphus
            2. Я в одном из своих проектов разрабатывал систему wakitoo, до этого был waki.revda.info(удален) , которая предполагала именно быструю взаимосвязь между посетителями и авторами сайта. Двиган на Альфе, сильно обajaxен, вначале думали для авторов сделать абоненскую плату в рублей 360/год, но затем было решено сделать функционал бесплатным, а продвигать обмен деньгами между посетителями и авторами, получая комиссию. Именно они решают многие вопросы. Более подробно пишите о сотрудничестве, и вообще необходимости этого функционала, я лично не совсем уверен в этом направлении, однако потенциал хороший. jkeks@mail.ru
              0
              Дякую автору за статтю, хоча все це я знаю (працюю тестером). Але, наспрвді, вона дуже правдива і, впевнена, що допоможе людям, які лише починають цим займатися)
                0
                "Убедитесь, что IE показывает именно то сообщение об ошибке, которое пришло от сервера. Для этого зайдите в Tools > Internet Options > Advanced, затем прокрутите вниз и выключите опцию Show friendly http error messages."

                Не нашел этого у себя в IE6.0 (русская версия)...
                Как это будет по русски? :)
                  0
                  попробуйте так же, как и в IE 7 (русская версия)

                  Сервис > Свойства Обозревателя > Дополнительно > Выводить подробные сообщения об ошибках http.
                  0
                  да. Всё правильно.
                  Но вот только как заставить заказчика делать именно так?
                    0
                    А заказчика не надо заставлять, его надо убеждать. :)
                      0
                      но как?
                        0
                        По возможности — очень вежливо и с поиском подхода. Результаты превосходят все ожидания. :)
                    0
                    Существуют так называемые баг-треккеры (bug tracking system) - системы отслеживания ошибок.
                    Очень полезная штука.
                    У нас в конторе пробовали несколько, понравилась Mantis - http://www.mantisbt.org/
                      0
                      Открылся новый http://waki2.com. Теперь думать практически не надо. Введи email, получили HTML код, вставили себе на страницы, и все.. теперь пользователи пишут вам комментарии, заметки предложения и т.п. Ничего не надо знать и специально делать. Работает во всех браузерах, даже иконку видно если отключить изображения.. http://waki2.com

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое