Отчет должен быть простым, понятным, беспристрастным, легко читаемым и, желательно, чтобы по нему можно было воспроизвести проблему.
Отчет должен описывать только одну проблему. Если обнаружено несколько тесно связанных проблем, о них лучше составить разные отчеты. Можно включить в них перекрестные ссылки друг на друга, но не стоит "сливать" их в один отчет. Бывает, что похожие с виду ошибки имеют разные причины. Да и отчет о нескольких ошибках сразу создает впечатление сложного и трудоемкого.
Для четкого и ясного определения проблемы нужно как можно лучше ее проанализировать. Описание проблемы должно быть кратким, но тем не менее достаточным для ее воспроизведения. Слишком много подробностей (возможно и не относящихся к проблеме) затрудняют восприятие и воспроизведение. Но если описание будет слишком кратким и ошибку не получится повторить, отчет просто будет закрыт как "не воспроизводимый", а проблема останется нерешенной.
Стоит описать путь воспроизведения проблемы по шагам, как можно точнее. Если путей несколько, нужно описать их все. Если проблема проявляется время от времени и пути ее возникновения не удается отследить, об этом обязательно нужно написать. Такие ошибки не стоит "замалчивать", отчеты нужно составлять обязательно. Например, тестировщик может и не выявить закономерность в появлении ошибки при тестировании "черного ящика", а программист сможет легко ее обнаружить просто проанализировав код.
Не стоит к описанию проблемы примешивать личные отношения и оценки работы другого человека. Даже если вы считаете, что этот человек никудышный профессионал и только мешает делу. Отчет должен как можно более непредвзято информировать о проблеме.
Форматирование отчета не должно мешать его чтению: смысловые блоки стоит отделять друг от друга, не должно быть слишком много бросающихся в глаза деталей. Ну и так далее, по вкусу.
Схема описания найденной проблемы:
- Что сделал?
- Что получил?
- Что ожидал получить?