Есть у нас калькуляторы — http://bugred.ru/calc/.
Тестируем первый, вводим «6,9», получаем NaN.
Ооооо, мандраж, «я нашел баг», скорее оформлять!
Но подождите. Упадет только на "6,9"? А на "1,1"? Или "2,0"? Как насчет дробной части через точку? Выясняем, что на любом дробном. Так и пишем.
Ввести дробное число, например: 6,9
Если написать просто
Ввести 6,9
То это читается как «воспроизведется только на этом числе», что неверно. Возможно, постановщик задачи даже проверял другие дробные и знает, что на них тоже не работает. Но как это понять читающему баг?
Для примера. Что проще — взять готовое или сидеть, чесать голову и думать, на чем бы отладиться? «Так, дробное число, дробное число... Какое, например?». А вот он, пример, готовенький.
Кажется смешным. Все же знают, как написать дробное число! Но реальные случаи сложнее:
— Улица, которая есть в нескольких городах.
— Улица, на которой ровно один дом.
— Самарский телефон.
— Файл с разными форматами дат рождения.
— SOAP-запрос на создание 100 записей.
В итоге на воспроизведение тратится много времени, подготовить тестовые данные, проверить. Потом задачу отложат на следующий релиз и снова данных нет, снова готовить. Но зачем? Приложите пример. И через месяц сами скажите себе за это спасибо
Ссылки, которые вы даете, могут измениться. Файл приложенный может устареть или вообще пропасть. Если без этого не воспроизводится — фигово описали.
См также:
Так ли уж сложно описывать баги - понятно? — немного подробнее о том, как конкретный пример может устареть.
Смотрите, зачем это надо: баги правятся не всегда сразу. А изменения в продукте происходят. Тестировшики об этих изменениях знают. Если калькулятор переедет на страницу "Примеры",
то:
— по шагу "Открыть калькулятор (ссылка)", я все равно открою правильную форму, потому что буду знать, что она переехала.
— по шагу "Открыть страницу calc" или "Открыть ссылку" я открою страницу, на которой калькулятора уже нет, или попаду в никуда.
На форме есть второй калькулятор! На первый взгляд, он такой же кривой
Но что, если ввести дробную часть через точку?
Ага, через точку не падает! Поэтому так и пишем в шагах
Ввести дробное число через запятую, например: 6,9
Если мы напишем
Ввести дробное число, например: 6,9
То разработчик введет «6.9» и закроет баг как «не воспроизводится». Ну а что, дробное же? Дробное!
Поэтому сначала локализовать, потом описать. Описать так, чтобы не читалось двояко. Всего ничего
См также:
Как заводить задачи в баг-трекер — подробнее обо всех пунктах, не только шагах
PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь студентам моей школы для тестировщиков
Тестируем первый, вводим «6,9», получаем NaN.
Ну явно баг!
Ооооо, мандраж, «я нашел баг», скорее оформлять!
Но подождите. Упадет только на "6,9"? А на "1,1"? Или "2,0"? Как насчет дробной части через точку? Выясняем, что на любом дробном. Так и пишем.
Ввести дробное число, например: 6,9
Если написать просто
Ввести 6,9
То это читается как «воспроизведется только на этом числе», что неверно. Возможно, постановщик задачи даже проверял другие дробные и знает, что на них тоже не работает. Но как это понять читающему баг?
Зачем писать конкретику
Для примера. Что проще — взять готовое или сидеть, чесать голову и думать, на чем бы отладиться? «Так, дробное число, дробное число... Какое, например?». А вот он, пример, готовенький.
Кажется смешным. Все же знают, как написать дробное число! Но реальные случаи сложнее:
— Улица, которая есть в нескольких городах.
— Улица, на которой ровно один дом.
— Самарский телефон.
— Файл с разными форматами дат рождения.
— SOAP-запрос на создание 100 записей.
В итоге на воспроизведение тратится много времени, подготовить тестовые данные, проверить. Потом задачу отложат на следующий релиз и снова данных нет, снова готовить. Но зачем? Приложите пример. И через месяц сами скажите себе за это спасибо
Зачем писать абстракцию
Ссылки, которые вы даете, могут измениться. Файл приложенный может устареть или вообще пропасть. Если без этого не воспроизводится — фигово описали.
См также:
Так ли уж сложно описывать баги - понятно? — немного подробнее о том, как конкретный пример может устареть.
В каком порядке писать
Сначала идет описание (абстракция), потом пример (конкретика).Смотрите, зачем это надо: баги правятся не всегда сразу. А изменения в продукте происходят. Тестировшики об этих изменениях знают. Если калькулятор переедет на страницу "Примеры",
то:
— по шагу "Открыть калькулятор (ссылка)", я все равно открою правильную форму, потому что буду знать, что она переехала.
— по шагу "Открыть страницу calc" или "Открыть ссылку" я открою страницу, на которой калькулятора уже нет, или попаду в никуда.
Еще один пример
На форме есть второй калькулятор! На первый взгляд, он такой же кривой
На 6,9 оба валятся
Но что, если ввести дробную часть через точку?
А вот 6.9 — другой разговор
Ага, через точку не падает! Поэтому так и пишем в шагах
Ввести дробное число через запятую, например: 6,9
Если мы напишем
Ввести дробное число, например: 6,9
То разработчик введет «6.9» и закроет баг как «не воспроизводится». Ну а что, дробное же? Дробное!
Поэтому сначала локализовать, потом описать. Описать так, чтобы не читалось двояко. Всего ничего
См также:
Как заводить задачи в баг-трекер — подробнее обо всех пунктах, не только шагах
PS — это выдержка из моей книги для начинающих тестировщиков, написана в помощь студентам моей школы для тестировщиков
спасибо, всё так! все типичные ошибки новичков отметила!
ОтветитьУдалитьТеперь есть куда ссылку давать :-)
УдалитьДля 2-го калькулятора у которого формат числа имеет между цифрами пробел также приводит к ошибке. Например, 8 9
ОтветитьУдалитьДля 2-ого?
УдалитьБудет ли корректной формулировка:
УдалитьПадает калькулятор с рисунка "На 6,9 оба валятся" при записи дробного числа,записанного в формате через пробел. Например, 8 9
Формулировка где? Для заголовка очень длинно и непонятно, что такое "падает". Для описания — так шаги я прописала внутри поста
УдалитьОльга, у меня на этой странице, почему-то не отображаются картинки.
ОтветитьУдалитьДа, с блоггером такое бывает. Можно посмотреть тут http://testbase.ru/dont_write_enter_6_9
Удалить