Алекс Смит: Тестирование ПО с Нуля до Специалиста
February 5, 2024

5.5 Баг-репорт. Поиск багов в интернете

Что такое баг?

Баг – это дефект – это отклонение ожидаемого поведения работы программного продукта от фактического.

Допустим мы ожидаем что если введем правильный логин и пароль в поле авторизации на сайте Вконтакте или Инстаграм и нажмем кнопку «Войти» мы попадем на нашу страничку, а фактический результат, это то, что будет после того как мы ввели эти данные и нажали кнопку «Войти». Если мы попадаем на ожидаемую нами страницу, то приложение отработало правильно и отклонений нет, если же система выдала нам предупредительное сообщение о неправильности введения логина и пароля или то что такого пользователя не существует или вообще открыла нам страницу другого пользователя, то это отклонение от ожидаемого результата, то есть дефект или как в IT его называют – Баг.

Кто может составлять баг-репорты:

  • тестеровщики, тестирующие ПО
  • разработчики, в случае если они сами проводят какое-либо тестирование или в команде нет тестеровщиков
  • техподдержка (во время обращения пользователей) может записывать ошибки или трудности, которые испытывал пользователь при использовании ПО
  • пользователи (например, если пишут отзывы в Google Play)

Атрибуты баг-репорта

Баг-репорт – это отчет об ошибках, он включает в себя следующие атрибуты:

  1. Проект
  2. Название документа
  3. Ссылка на требования
  4. Цель проверки
  5. Дата проведения
  6. Исполнитель
  7. Среда тестирования
  8. Шаги теста
  9. Ожидаемый результат
  10. Фактический результат
  11. Статус бага
  12. Серьезность бага
  13. Приоритет устранения бага
  14. Прикрепленный файл

Серьезность бага:

Серьезность (severity) – показывает степень ущерба, который наносится проекту существованием дефекта. Severity выставляется тестировщиком.

У серьезности могут быть следующие статусы:

  • Blocker – блокировка, работа ПО невозможна
  • Critical –критический, приводит наш функционал в нерабочее состояние, отклонение от БЛ ПО, не реализация функций, потеря пользовательских данных
  • Major-серьезные ошибки, которые свидетельствуют об отклонении работы от БЛ или нарушающие работу программы, но не имеют критическое воздействие на ПО, возможно есть обходной путь, когда мы можем воздействовать нашу функцию и она будет работать каким-то другим способом
  • Minor – незначительный дефект не нарушающий функционал нашего приложения, который является несоответствием ожидаемого результата (ошибка дизайна, пример)
  • Trivial –не имеет влияния на функционал и работу нашей программы, но может быть обнаружен визуально.

Приоритет бага:

Приоритет - показывает, как быстро дефект должен быть устранён. Priority выставляется менеджером, team-lead или заказчиком.

  • P1 Высокий (High)
    Критическая для проекта ошибка. Должна быть исправлена как можно быстрее.
  • P2 Средний (Medium)
    Не критичная для проекта ошибка, однако требует обязательного решения.
  • P3 Низкий (Low)
    Наличие данной ошибки не является критичным и не требует срочного решения. Может быть исправлена, когда у команды появится время на ее устранение.

Примеры багов:

То есть тут на кнопке написано не Google, а Loogle, но на работу сайта это не влияет. То есть он продолжает действовать как поисковик, но узнаваемость бренда и доверие к нему теряется.

Давайте составим баг-репорт на этот баг:

Баг, который можно обнаружить во время тестирования:

А теперь рассмотрим самый неприятный вид багов, который появляется случайно.

Авторизуемся в системе с логином standart_user

И выбираем 2 товара:

Цена товаров 29.99 и 9.99. То есть общая цена товара - 39.98. Переходим в корзину, нажимает Checkout, вводим какие-либо данные

И видим:

Цена товаров 39.98, сбор (налог) 3.20, итого - 43.18.

Все сработало верно. Но если мы покупаем фонарь и кофту, то:

То есть при сочетании этих двух товаров стоимость товаров получилась именно такой, длинной. То есть не стоит округление до 2-х знаков, как в других покупках. По факту это баг! Потому что, если бы не было налога и в итоговой сумме не было бы округления, непонятно как бы она списалась с карты.

Как правило, такие баги выявляет конечный пользователь. Так как проверить сочетания всех товаров в магазине (например, dns.ru) невозможно!

Допустим, тестируем сайт с возможностью прослушивания и скачивания треков.

Предположим, скачиваем файлы меньше 300 МБ и все норм. Но вот решили скачать файл, размером 300 МБ (аудиокнига) и скачивания не происходит.

Возможно оформление баг-репорта в более упрощенной форме.