Как мы ищем баги

Сегодня расскажем о том, как мы ищем баги.

Весь процесс тестирования можно условно разделить на три этапа:

  • вникнуть в задачу,
  • подготовить окружение,
  • отловить баги.

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

Вжиться в «шкуру» конечного пользователя – непростая задача. Например, потому что в реальной жизни не пришлось сталкиваться с данной предметной областью, и не понимаешь ее нюансов. Или оттого, что твой собственный опыт работы в системе мешает поставить себя на место пользователя-новичка.

Подготовка окружения включает в себя:

  • заливку обновлений на тестовый сервер,
  • настройку системы и ее окружения,
  • создание набора данных для тестирования.

Заливка обновлений – чисто технический процесс, и благодаря использованию системы контроля версий, выполняется одной командой.

Настройка системы и ее окружения, как правило, необходима при тестировании задач, связанных с интеграцией. Это, например, задачи по интеграции с телефонией, 1С, почтовыми серверам, внутренними системами клиента. Зачастую непросто воспроизвести точно такие же условия, как на боевом сервере клиента.

Набор данных для тестирования у каждой задачи индивидуален. Для типичных задач у нас уже накопился набор тестовых баз данных, которые достаточно «влить» в базу данных тестируемого проекта. А вот со специфичными задачами, например, индивидуальными для заказчика отчетами, приходится создавать данные для тестирования с нуля.

Этап отлавливания багов условно можно разделить на стадии:

  • визуальная проверка,
  • проверка функционала,
  • проверка логики.

На стадии визуальной проверки проводится поиск опечаток, сверка наличия всех перечисленных в задании полей и их типов. Оценивается удобство расположения полей, их общее восприятие.

При проверке функционала мы хотим убедиться, что по нажатию на кнопки, ссылки, меню модулей пользователь попадет туда, куда должен попасть, и что система выполнит те действия, которые должна выполнить.

Проверку логики зачастую можно назвать самой сложной частью тестирования. Под логикой мы понимаем вычисление значений полей, ход бизнес-процессов, автоматическое создание записей и все, выполнение чего зависит от определенных условий. Здесь становится важно, насколько глубоко удалось вникнуть в предметную область на первом этапе тестирования. Например, тестируя логику расчета суммы заказа, нужно понимать какую роль в этом играют скидки, проценты, комиссии и какими они бывают. А тестируя создание заказа, нужно иметь представление о том, как это происходит в реальной жизни. Здесь бы пригодился личный опыт работы в конкретной фирме, но инженеру по тестированию в каждой компании не поработать.

К сожалению, даже после самого придирчивого тестирования невозможно утверждать, что система на 100% без багов и полностью соответствуют ожиданиям клиента. Когда системой начнет пользоваться человек, для которого она была сделана, всегда могут найтись неточности и несоответствия, которые могли закрасться даже на этапе согласования ТЗ.


© 2013 Ведисофт
Москва: +7 (499) 703-04-23
Екатеринбург: +7 (343) 236-60-96
Почта: info_at_vedisoft_dot_info