2008/07/02

Наша задача не только найти баг, но и правильно его описать. Как правильно описать баг?

Зачем нужен хороший баг репорт?

Если вы правильно описали баг, шансы на то, что его профиксят взлетают
до немереных высот. Поэтому существует зависимость от описания бага с исходным результатом (пофиксят или отложат до лучших времен). Чтобы правильно описать баг нужны определенные навыки и знания. Я постараюсь поведать вам это таинство.

"Цель описания бага в том, чтобы его профиксили" - Сэм Канер.

Если тестировщик некорректно опишет баг, то программист с большой вероятностью влепит ему статус "не воспроизводим" и пока-пока. Баг возвращается тестировщику и он опять должен его описывать - но уже более подробно. Цепочка может быть бесконечной, пока программист не даст щелбан тестировщику. А баг пойдет в релиз.

Где же критерии идеального баг репорта???

Каждый может описать баг. Но далеко не каждый может его описать эффективно. Вы должно тонко чувствовать разницу между обычным сереньким баг репортом и действительно хорошим баг репортом.

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


1) Каждому багу - личный номерок

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

Тестирование полей ввода. Предусмотреть все.

Часто возникает необходимость тестировать поля ввода на обработку различных данных. И часто это делается спонтанно - введём спецсимвол, оставим поле пустым, введём слишком длинную строку....

Поэтому я делаю попытку все эти действия структурировать и выполнять последовательно для всех тестовых полей - желательно автоматизированным тестом.

Итак у нас есть текстовое поле в форме регистрации - е-mail.

1) Проверяем на обязательность заполнения

Система должна реагировать на пустое поле е-mail соответствующим сообщением.

2) Проверяем на граничное значение - введем е-mail длиной в 200 символов.

Например, vasyaaaaa(200 буков a)@.mail.ru.

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