Урок 3 из 8 · 20 мин · обновлено
Что такое баг и где его искать
Что считается ошибкой, откуда тестировщик знает, как должно быть, где ошибки прячутся чаще всего и чем серьёзность отличается от приоритета.
Что такое баг
Баг — это несоответствие фактического результата ожидаемому. Звучит сухо, но это рабочая формула, которой тестировщик пользуется каждый день:
- ожидаемый результат — как приложение должно себя вести;
- фактический результат — как оно себя ведёт на самом деле.
Например: в корзине две пиццы по 450 ₽. Ожидаем «Итого: 900 ₽». Видим «Итого: 800 ₽». Результаты не совпадают — это баг.
Откуда берётся «как должно быть»
Тестировщик не придумывает ожидаемый результат из головы. Источники:
- Требования — описание задачи от аналитика. Как их читать, разбирали во втором уроке.
- Макеты — как экран нарисовал дизайнер.
- Стандарты и правила — например, в номере российского телефона 10 цифр после +7, а в феврале не бывает 30-го числа.
- Здравый смысл и опыт пользователей — в заказе не может быть минус одной пиццы, а кнопка «Назад» не должна стирать корзину.
- Прежняя версия — если раньше работало, а теперь нет, это тоже баг.
А вот «мне кажется, синяя кнопка красивее зелёной» — не баг, а предложение. Его можно обсудить, но отдельно от ошибок.
Где ошибки прячутся чаще всего
Опытные тестировщики знают места, где баги встречаются особенно часто:
- Тексты: опечатки, обрезанные строки, непереведённые слова, служебные заготовки вроде «Lorem ipsum» вместо настоящего текста.
- Расчёты: суммы, скидки, налоги, округления.
- Граничные значения: ноль, отрицательные числа, пустое поле, очень длинный текст, максимум. Как проверять их без перебора — в уроке 4.
- Даты и время: несуществующие даты, переход через полночь, часовые пояса, високосный год.
- Формы: обязательные поля, неверные форматы телефона и почты, пробелы в начале.
- Необычные сценарии: двойное нажатие на кнопку, кнопка «Назад» посреди оплаты, пропавший интернет, повторная отправка формы.
- Разные устройства: другие браузеры, маленькие экраны, тёмная тема, старые версии системы.
Баг, фича или «так задумано»
Иногда поведение кажется странным, но оно сделано специально. Кнопка «Оплатить» серая, пока не заполнен адрес, — это защита от заказа без адреса. Ссылка для сброса пароля перестаёт работать через час — тоже защита.
Если сомневаетесь, сверьтесь с требованиями или спросите аналитика. Разработчики иногда отвечают на баг «это не баг, а фича» — и тогда решает не спор, а то, что записано в требованиях, и здравый смысл пользователя.
Серьёзность и приоритет
У каждого бага есть две разные оценки — их часто путают.
Серьёзность (severity) — насколько баг вредит продукту и пользователям. Обычно выделяют такие уровни:
| Серьёзность | Что значит | Пример |
|---|---|---|
| Блокирующая | Нельзя пользоваться главной функцией | Кнопка «Оплатить» не работает |
| Критическая | Важная функция работает неправильно | Сумма к оплате считается неверно |
| Значительная | Функция работает, но с заметными проблемами | Не работает фильтр по цене в каталоге |
| Незначительная | Мешает, но обойти легко | Неудобный порядок полей в форме |
| Тривиальная | Почти не влияет на работу | Опечатка в подсказке |
Приоритет (priority) — как срочно баг нужно исправить. Его определяет команда, глядя на планы и бизнес. Обе оценки указывают в баг-репорте.
Обычно серьёзный баг и чинят срочно, но бывает иначе. Все четыре сочетания:
Серьёзно и срочноКнопка «Оплатить» не работает — чинят немедленно.
Серьёзно, но не срочноСбой в редком отчёте, которым пользуются раз в год, — неприятно, но подождёт до следующей версии.
Не серьёзно, но срочноОпечатка в названии компании на главной — работать не мешает, но видят все.
Не серьёзно и не срочноОпечатка в подсказке — исправят, когда дойдут руки.
Попробуйте сами. Вот экран оформления заказа. Найдите четыре бага и оцените их серьёзность.
| Экран «Оформление заказа» | |
|---|---|
| Пицца «Маргарита», 2 × 450 ₽ | 800 ₽ |
| Морс клюквенный, 1 × 150 ₽ | 150 ₽ |
| Промокод ВКУСНО | −10% |
| Адресс доставки | ул. Садовая, 12 |
| Дата доставки | 31 сентября, 19:00 |
| Итого | 1 045 ₽ |
Ответ
- 2 × 450 ₽ = 900 ₽, а не 800 ₽ — ошибка в расчёте строки. Критическая: неверная сумма.
- Итого 1 045 ₽ — не сходится ни с одним вариантом: (900 + 150) − 10% = 945 ₽. Критическая: пользователь заплатит не ту сумму.
- 31 сентября — такой даты нет, в сентябре 30 дней. Значительная: доставку нельзя выполнить.
- «Адресс» — опечатка. Тривиальная по серьёзности, но исправить её несложно и стоит сразу.
Заметили, что баги 1 и 2 связаны? Опытный тестировщик описал бы их отдельно, но упомянул бы связь — так разработчику проще найти причину.
Мини-тест: проверьте себя
Закрепите урок: несколько вопросов, разбор ответов — в конце.
-
Что такое баг?
Баг — когда приложение ведёт себя не так, как должно по требованиям, макетам или здравому смыслу.
-
В поле «Количество» можно ввести 0 и оформить пустой заказ. Какую область проверок показывает этот баг?
Ноль, отрицательные числа, пустое поле и максимум — классические границы, на которых программы часто ошибаются.
-
На главной странице опечатка в названии компании. Какие серьёзность и приоритет вероятнее всего?
Работать приложению опечатка не мешает — серьёзность низкая. Но её видят все посетители и она портит репутацию — исправить хочется быстро.
-
Откуда тестировщик НЕ берёт ожидаемый результат?
Личный вкус — не основание для бага. Если кажется, что можно сделать удобнее, это предложение по улучшению, его обсуждают отдельно.
-
Кнопка «Оплатить» не работает ни в одном браузере. Какая это серьёзность?
Пользователь не может завершить главное действие — купить. Такие баги блокируют работу и мешают выпуску версии.