четверг, 3 января 2019 г.

Единообразие как обоснование бага

Когда вы заводите баг, нужно обосновать свой ожидаемый результат. Почему именно так должно быть?

Иногда обоснование вообще не пишут, так как «это же очевидно!». Или говорят: «Так правильно, мамой клянусь!». Или упирают на эмоции (зайчики обиделись). Но это все — плохие обоснования.

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

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



Например, если наша система работает как пунтосвитчер (это когда я печатаю на русском, забыв переключить раскладку, а система переключает ее сама). Я могу набрать «Ольга», а могу «Jkmuf», система второй вариант сама превратит в первый.


Такое бывает на всяких гос приложениях. Они иногда сами работают по такому же принципу. Ты должен регистрироваться четко как у тебя в паспорте. Так как мы живем в России — регистрация именно на русском, так что английские буковки будем исправлять. Ты же явно забыл поменять раскладку, парень!

Jkmuf → Ольга

Окей, но что, если я пытаюсь напечатать имя «Юля»? Оно начинается на букву Ю, а этой букве соответствует не буква русского алфавита, а спецсимвол:

> → Ю

И это совершенно другой класс эквивалентности!

То есть, если мы понимаем, что система работает как пунтосвитчер, у нас есть как минимум 2 класса эквивалентности: есть русские буквы, которым соответствуют латинские буквы, а есть такие, которым соответствует спецсимвол.

Это совершенно разные классы, их надо проверить! И возможно, когда мы печатаем спецсимвол, то система его не распознает. И тогда мы заводим баг — я набираю символ >, я ожидаю, что система его переведет в букву Ю, но ничего не происходит. Почему я это ожидаю? Потому что система УЖЕ так работает, потому что если я введу Jkmuf, система поймет, что это Ольга.

Мы показываем, что система уже так работает, и это уже хорошее обоснование. Мы не говорим «мамой клянусь, она так работает», мы доказываем это на Ольге.

Напомню плохие обоснования багов
  1. Очевидно же!
  2. Мамой клянусь!
  3. Зайчики обиделись
Другие хорошие варианты, кроме единообразия:
  1. Пруфлинк
  2. Проблема

См также:

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

Комментариев нет:

Отправить комментарий