Много слышали о тестировании и хотите попробовать себя в этой области? Но пока не совсем понимаете, с чем придётся работать?
В этой статье мы расскажем, что представляет собой работа в QA, кто такой тестировщик ПО и какие задачи он выполняет.
Чем занимается QA-специалист?
Каждый день на ИТ-рынок выходят новые приложения, которые упрощают и улучшают жизнь людей. Перед тем, как такие программные продукты попадут в руки конечных пользователей, они проходят тщательную проверку на качество.
Именно от тестировщика зависит качество ПО и, следовательно, успех проекта на рынке. Согласитесь, мало кто станет пользоваться приложением, если оно не в состоянии выполнить даже базовые функции. Кроме того, для пользователя важна безопасность личной информации, ввиду постоянного использования приложений, требующих ввода персональных данных.
Поэтому специалист по тестированию является связующим звеном между разработчиком и конечным пользователем и отвечает за полную проверку программного продукта. Однако суть его работы заключается не просто в выявлении и документировании всевозможных дефектов.
Кроме поиска ошибок, тестировщик проверяет работоспособность всей функциональности приложения. Выполняя стандартные и нетипичные действия пользователей, он контролирует, не появляются ли сбои в программе.
К основным обязанностям тестировщика ПО относятся:
- Составление тестовой документации
Тест-кейсы и чек-листы — основные тестовые артефакты, которые помогают отслеживать процесс тестирования. Тест-кейсы содержат последовательность шагов для тестирования каждой функциональности, а в чек-листах содержится список всех необходимых проверок.
- Подбор нужного набора тестов
В зависимости от поставленных задач на проекте QA-специалист решает, какие виды тестов применить. Например, если необходимо проверить ответную реакцию приложения на большое количество одновременных пользователей, то QA-команда проведёт тестирование производительности. А если цель проекта — обеспечить удобный интерфейс, то тестировщик ПО выберет юзабилити- и UI-тестирование.
- Документирование и анализ найденных дефектов
После выявления ошибки тестировщики приступают к её описанию. Это нужно для того, чтобы разработчик смог быстро понять, в какой части кода приложения кроется дефект.
Сейчас QA-специалисты вносят все ошибки в баг-трекинговые системы, например, JIRA или Bugzilla, а результаты проверок — в системы управления тестированием, такие как TestRail. Для более подробного описания багов можно приложить скриншоты экранов или видео.
Каждому баг-репорту в системе присваивается степень серьёзности ошибки (от тривиальной до блокирующей) и статус в соответствии с этапом жизненного цикла бага (от нового до закрытого).
- Проверки воспроизведения багов после их устранения
За исправлением ошибок следит тестировщик, который непосредственно работает вместе с командой разработчиков, или ведущий QA-специалист. Устраняются ошибки по соответствующей отметке в баг-трекинговой системе — сначала блокирующие и далее по убыванию.
Если дефект снова воспроизводится, ему присваивается статус «переоткрыт». Бывают случаи, когда исправление бага необходимо отсрочить. Это может произойти, если данную функциональность планируют кардинально изменить в следующем релизе, или дефект не влияет критически на работу всей системы. Тогда баг-репорт будет отмечен как «отсрочен».
- Разработка автоматических тестов
Для ускорения QA-процессов часто применяют автоматизированные тесты. На проект привлекаются специалисты по автоматизации тестирования, которые пишут код проверки и запускают его. А программа самостоятельно выполняет тысячи нужных тестов, что экономит время мануального тестировщика.
Однако начинающему специалисту не придётся выполнять такие задачи, они входят в зону ответственности автоматизаторов. Тем не менее, для более быстрого развития карьеры вы можете приступить к изучению основ языка программирования. Присмотритесь к Python, С#, Ruby, Java, эти языки зачастую используются в автоматизации тестирования.
Что нужно, чтобы стать тестировщиком?
Несмотря на относительную молодость профессии тестировщика ПО (не более 20 лет), для трудоустройства в QA требуется определённый набор знаний и навыков.
Чтобы успешно справляться с рабочими задачами, тестировщику следует прочно владеть теоретической и практической базой.
Кроме того, необходимо обладать рядом специфических качеств. Например, любознательность, внимание к деталям, усидчивость, коммуникабельность и желание постоянно перепроверять себя.
Ещё один важный момент — стремление развиваться. Например, сейчас на ИТ-рынке акцент смещён в сторону автоматизации процессов. И тестировщики осваивают новые для себя аспекты, например, языки программирования.
Какие виды тестирования ПО существуют?
Как и в любой сфере деятельности, в тестировании ПО есть узкие направленности. Чтобы понять, в чём бы вы хотели специализироваться, стоит узнать больше об основных видах тестирования. Все типы разделяют на две группы:
- Функциональные (проверки того, насколько хорошо система выполняет свои функции, если вообще выполняет).
- Нефункциональные (проверки пользовательского опыта, например, нагрузочное тестирование, тестирование безопасности).
Помимо видов, в тестировании выделяют ещё и уровни, которые показывают над чем ведётся работа: над системой в целом или только над каким-то определённым компонентом.
Всего существуют четыре таких уровня:
- Модульное, или юнит-тестирование, — проверка работы отдельных частей системы.
- Интеграционное — тестирование взаимодействия нескольких частей программного продукта.
- Системное — проверка программного продукта на соответствие заявленным требованиям.
- Приёмочное — финальное тестирование на определение уровня готовности ПО к использованию.
Подробнее о классификации видов тестирования мы рассказали в этой статье.
Где и как работают тестировщики?
У специалистов в этой области есть много вариантов по трудоустройству. Многие выбирают работу в ИТ-компаниях, которые условно можно разделить на две основные группы:
- Аутсорсинговые компании
Заказчики такой организации делегируют часть или все обязанности по тестированию программных продуктов сторонним QA-экспертам. Перед тестировщиками появляется возможность работы с иностранными клиентами из различных индустрий, например, электронная коммерция, образование, банки и финансы и многое другое.
- Продуктовые компании
Эти организации фокусируются на разработке собственного программного продукта, а тестировщики в таких компаниях обеспечивают качество разрабатываемого ПО.
Должность специалиста по тестированию не всегда является финальной точкой. Кроме традиционного пути развития в тестировании от младшего специалиста до QA-лида, есть и альтернативные варианты карьерного роста. Можно погрузиться в смежные области: программирование, бизнес-анализ, менеджмент.
Пример кейса по тестированию для новичков
Давайте взглянем на работу тестировщика своими глазами и разберём небольшую практическую задачу.
Необходимо протестировать форму регистрации в социальной сети LinkedIn.
Первое, что нужно сделать, — открыть сайт. Форма для регистрации выглядит следующим образом:

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

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

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

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

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

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

Почему так происходит? Возможно, форма проверяет лишь первое поле в коде. Или же можно говорить о не совсем верной локализации. Ведь приложение изначально написано для англоязычных пользователей. На английском языке имя и фамилия звучит как name и last name. А на русском языке могли оставить лишь перевод имени.
Такой дефект не имеет явного влияния на общую работу функциональности и относится к малозначимым (minor) багам пользовательского интерфейса. Ошибка некритичная, но пользователь может не сразу заметить, что исправить нужно оба поля, а не одно.
Подведём итоги
Мы посмотрели на специфику работы в QA со всех сторон. Разобрали практическую задачу и нашли малозначимый дефект.
Вы также хотите попробовать свои силы в тестировании, научиться безошибочно распознавать дефекты и правильно их документировать? Курс «Основы тестирования ПО онлайн» от QA Academy поможет вам погрузиться в профессию, получить необходимые практические и теоретические знания, а главное — сделать первый шаг к работе мечты.
Ведь хороший специалист по тестированию ПО всегда будет востребован как дома, так и за границей. Дерзайте!