5.5 Баг-репорт. Поиск багов в интернете
Что такое баг?
Баг – это дефект – это отклонение ожидаемого поведения работы программного продукта от фактического.
Допустим мы ожидаем что если введем правильный логин и пароль в поле авторизации на сайте Вконтакте или Инстаграм и нажмем кнопку «Войти» мы попадем на нашу страничку, а фактический результат, это то, что будет после того как мы ввели эти данные и нажали кнопку «Войти». Если мы попадаем на ожидаемую нами страницу, то приложение отработало правильно и отклонений нет, если же система выдала нам предупредительное сообщение о неправильности введения логина и пароля или то что такого пользователя не существует или вообще открыла нам страницу другого пользователя, то это отклонение от ожидаемого результата, то есть дефект или как в IT его называют – Баг.
Кто может составлять баг-репорты:
- тестеровщики, тестирующие ПО
- разработчики, в случае если они сами проводят какое-либо тестирование или в команде нет тестеровщиков
- техподдержка (во время обращения пользователей) может записывать ошибки или трудности, которые испытывал пользователь при использовании ПО
- пользователи (например, если пишут отзывы в Google Play)
Атрибуты баг-репорта
Баг-репорт – это отчет об ошибках, он включает в себя следующие атрибуты:
- Проект
- Название документа
- Ссылка на требования
- Цель проверки
- Дата проведения
- Исполнитель
- Среда тестирования
- Шаги теста
- Ожидаемый результат
- Фактический результат
- Статус бага
- Серьезность бага
- Приоритет устранения бага
- Прикрепленный файл
Серьезность бага:
Серьезность (severity) – показывает степень ущерба, который наносится проекту существованием дефекта. Severity выставляется тестировщиком.
У серьезности могут быть следующие статусы:
- Blocker – блокировка, работа ПО невозможна
- Critical –критический, приводит наш функционал в нерабочее состояние, отклонение от БЛ ПО, не реализация функций, потеря пользовательских данных
- Major-серьезные ошибки, которые свидетельствуют об отклонении работы от БЛ или нарушающие работу программы, но не имеют критическое воздействие на ПО, возможно есть обходной путь, когда мы можем воздействовать нашу функцию и она будет работать каким-то другим способом
- Minor – незначительный дефект не нарушающий функционал нашего приложения, который является несоответствием ожидаемого результата (ошибка дизайна, пример)
- Trivial –не имеет влияния на функционал и работу нашей программы, но может быть обнаружен визуально.
Приоритет бага:
Приоритет - показывает, как быстро дефект должен быть устранён. Priority выставляется менеджером, team-lead или заказчиком.
- P1 Высокий (High)
Критическая для проекта ошибка. Должна быть исправлена как можно быстрее. - P2 Средний (Medium)
Не критичная для проекта ошибка, однако требует обязательного решения. - P3 Низкий (Low)
Наличие данной ошибки не является критичным и не требует срочного решения. Может быть исправлена, когда у команды появится время на ее устранение.
Примеры багов:
То есть тут на кнопке написано не Google, а Loogle, но на работу сайта это не влияет. То есть он продолжает действовать как поисковик, но узнаваемость бренда и доверие к нему теряется.
Давайте составим баг-репорт на этот баг:
Баг, который можно обнаружить во время тестирования:
А теперь рассмотрим самый неприятный вид багов, который появляется случайно.
Авторизуемся в системе с логином standart_user
Цена товаров 29.99 и 9.99. То есть общая цена товара - 39.98. Переходим в корзину, нажимает Checkout, вводим какие-либо данные
Цена товаров 39.98, сбор (налог) 3.20, итого - 43.18.
Все сработало верно. Но если мы покупаем фонарь и кофту, то:
То есть при сочетании этих двух товаров стоимость товаров получилась именно такой, длинной. То есть не стоит округление до 2-х знаков, как в других покупках. По факту это баг! Потому что, если бы не было налога и в итоговой сумме не было бы округления, непонятно как бы она списалась с карты.
Как правило, такие баги выявляет конечный пользователь. Так как проверить сочетания всех товаров в магазине (например, dns.ru) невозможно!
Допустим, тестируем сайт с возможностью прослушивания и скачивания треков.
Предположим, скачиваем файлы меньше 300 МБ и все норм. Но вот решили скачать файл, размером 300 МБ (аудиокнига) и скачивания не происходит.