Знакомимся с профессией тестировщика программного обеспечения

1 августа 2018

Много слышали о тестировании и хотите попробовать себя в этой области? Но пока не совсем понимаете, с чем придётся работать?

В этой статье мы расскажем, что представляет собой работа в QA, кто такой тестировщик ПО и какие задачи он выполняет.

Чем занимается QA-специалист?

Каждый день на ИТ-рынок выходят новые приложения, которые упрощают и улучшают жизнь людей. Перед тем, как такие программные продукты попадут в руки конечных пользователей, они проходят тщательную проверку на качество.

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

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

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

К основным обязанностям тестировщика ПО относятся:

  • Составление тестовой документации

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

  • Подбор нужного набора тестов

В зависимости от поставленных задач на проекте QA-специалист решает, какие виды тестов применить. Например, если необходимо проверить ответную реакцию приложения на большое количество одновременных пользователей, то QA-команда проведёт тестирование производительности. А если цель проекта — обеспечить удобный интерфейс, то тестировщик ПО выберет юзабилити- и UI-тестирование.

  • Документирование и анализ найденных дефектов

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

Сейчас QA-специалисты вносят все ошибки в баг-трекинговые системы, например, JIRA или Bugzilla, а результаты проверок — в системы управления тестированием, такие как TestRail. Для более подробного описания багов можно приложить скриншоты экранов или видео.

Каждому баг-репорту в системе присваивается степень серьёзности ошибки (от тривиальной до блокирующей) и статус в соответствии с этапом жизненного цикла бага (от нового до закрытого).

  • Проверки воспроизведения багов после их устранения

За исправлением ошибок следит тестировщик, который непосредственно работает вместе с командой разработчиков, или ведущий QA-специалист. Устраняются ошибки по соответствующей отметке в баг-трекинговой системе — сначала блокирующие и далее по убыванию.

Если дефект снова воспроизводится, ему присваивается статус «переоткрыт». Бывают случаи, когда исправление бага необходимо отсрочить. Это может произойти, если данную функциональность планируют кардинально изменить в следующем релизе, или дефект не влияет критически на работу всей системы. Тогда баг-репорт будет отмечен как «отсрочен».

  • Разработка автоматических тестов

Для ускорения QA-процессов часто применяют автоматизированные тесты. На проект привлекаются специалисты по автоматизации тестирования, которые пишут код проверки и запускают его. А программа самостоятельно выполняет тысячи нужных тестов, что экономит время мануального тестировщика.

Однако начинающему специалисту не придётся выполнять такие задачи, они входят в зону ответственности автоматизаторов. Тем не менее, для более быстрого развития карьеры вы можете приступить к изучению основ языка программирования. Присмотритесь к Python, С#, Ruby, Java, эти языки зачастую используются в автоматизации тестирования.

Что нужно, чтобы стать тестировщиком?

Несмотря на относительную молодость профессии тестировщика ПО (не более 20 лет), для трудоустройства в QA требуется определённый набор знаний и навыков.

Чтобы успешно справляться с рабочими задачами, тестировщику следует прочно владеть теоретической и практической базой.

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

Ещё один важный момент — стремление развиваться. Например, сейчас на ИТ-рынке акцент смещён в сторону автоматизации процессов. И тестировщики осваивают новые для себя аспекты, например, языки программирования.

Какие виды тестирования ПО существуют?

Как и в любой сфере деятельности, в тестировании ПО есть узкие направленности. Чтобы понять, в чём бы вы хотели специализироваться, стоит узнать больше об основных видах тестирования. Все типы разделяют на две группы:

  • Функциональные (проверки того, насколько хорошо система выполняет свои функции, если вообще выполняет).
  • Нефункциональные (проверки пользовательского опыта, например, нагрузочное тестирование, тестирование безопасности).

Помимо видов, в тестировании выделяют ещё и уровни, которые показывают над чем ведётся работа: над системой в целом или только над каким-то определённым компонентом.

Всего существуют четыре таких уровня:

  • Модульное, или юнит-тестирование, — проверка работы отдельных частей системы.
  • Интеграционное — тестирование взаимодействия нескольких частей программного продукта.
  • Системное — проверка программного продукта на соответствие заявленным требованиям.
  • Приёмочное — финальное тестирование на определение уровня готовности ПО к использованию.

Подробнее о классификации видов тестирования мы рассказали в этой статье.

Где и как работают тестировщики?

У специалистов в этой области есть много вариантов по трудоустройству. Многие выбирают работу в ИТ-компаниях, которые условно можно разделить на две основные группы:

  • Аутсорсинговые компании

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

  • Продуктовые компании

Эти организации фокусируются на разработке собственного программного продукта, а тестировщики в таких компаниях обеспечивают качество разрабатываемого ПО.

Должность специалиста по тестированию не всегда является финальной точкой. Кроме традиционного пути развития в тестировании от младшего специалиста до QA-лида, есть и альтернативные варианты карьерного роста. Можно погрузиться в смежные области: программирование, бизнес-анализ, менеджмент.

Пример кейса по тестированию для новичков

Давайте взглянем на работу тестировщика своими глазами и разберём небольшую практическую задачу.

Необходимо протестировать форму регистрации в социальной сети LinkedIn.

Первое, что нужно сделать, — открыть сайт. Форма для регистрации выглядит следующим образом:

Linkedin - registration form

Далее необходимо провести набор тестов для того, чтобы понять, работает ли форма корректно. Существует определённая последовательность выполнения проверок, которые можно классифицировать по глубине тестирования:

  • Дымовое (Smoke testing) — проверка базовых функций приложения, в нашем случае главное назначение формы регистрации.
  • Критического пути (Minimal acceptance testing) — тестирование работы системы или её части только на корректных данных. Например, значение «Иван» в поле имени.
  • Расширенное (Acceptance testing) — проверка функциональности, включая и положительные, и отрицательные сценарии. Например, блок номера телефона требует числительные значения, но при таком тестировании мы проверим и корректные символы «1234567», и некорректные «Иван Иванов».

Сначала необходимо провести дымовое и тестирование критического пути, проверив соответствие работы функциональности минимальным требованиям. Главная задача данной формы — сохранение данных и переход на следующий этап регистрации. Следуя стандартным действиям конечных пользователей, заполняем все поля соответствующей информацией. Давайте посмотрим, как поведёт себя форма при вводе корректного электронного адреса. Например:

Linkedin_2

Форма приняла адрес и инициировала проверку безопасности. Адрес был введён правильно, структура соблюдена, присутствует символ «@».

Linkedin_3

Так, форма прошла минимальное приёмочное тестирование, и пользователь перешёл на второй этап регистрации.

Linkedin_4

После этого следует приступить к расширенному тестированию, ведь как раз здесь может появиться большое количество дефектов.Самый простой тест этой формы — нажать кнопку «Согласиться и присоединиться» без ввода данных в поля. Это поможет убедиться, что они обязательны к заполнению и что дальнейшая регистрация невозможна. Форма сразу выдаёт ошибку и выделяет красным те поля, которые необходимо заполнить. В нашем случае — все:

Linkedin_5

Затем мы проверим, среагирует ли форма на небезопасный пароль. Для этого, обозначив наши данные во всех блоках, напишем пароль до 6 символов.

Linkedin_6

Сразу появилось предупреждение, что пароль слишком короткий. Теперь посмотрим, как приложение поведёт себя, если мы будем вводить в поля нехарактерные символы. Например, внесём в блоки «Имя» и «Фамилия» небуквенные значения.

Linkedin_7

Форма требует указать настоящие данные. Однако это условие относится лишь к имени, о фамилии в сообщении об ошибке не говорится. Сразу проверим форму на некорректный ввод только фамилии. В результате появляется предупреждение. Так, мы видим, что по отдельности форма реагирует на несоответствующие значения имени или фамилии. А вот при неверном заполнении обоих полей сообщение об ошибке относится только к имени.

Linkedin_8

Почему так происходит? Возможно, форма проверяет лишь первое поле в коде. Или же можно говорить о не совсем верной локализации. Ведь приложение изначально написано для англоязычных пользователей. На английском языке имя и фамилия звучит как name и last name. А на русском языке могли оставить лишь перевод имени.

Такой дефект не имеет явного влияния на общую работу функциональности и относится к малозначимым (minor) багам пользовательского интерфейса. Ошибка некритичная, но пользователь может не сразу заметить, что исправить нужно оба поля, а не одно.

Подведём итоги

Мы посмотрели на специфику работы в QA со всех сторон. Разобрали практическую задачу и нашли малозначимый дефект.

Вы также хотите попробовать свои силы в тестировании, научиться безошибочно распознавать дефекты и правильно их документировать? Курс «Основы тестирования ПО онлайн» от QA Academy поможет вам погрузиться в профессию, получить необходимые практические и теоретические знания, а главное — сделать первый шаг к работе мечты.

Ведь хороший специалист по тестированию ПО всегда будет востребован как дома, так и за границей. Дерзайте!