Написать пост

QA или тестировщик? 3 главных отличия

Рассказываем, чем отличается QA-инженер от тестировщика ПО. Обсудим обязанности, навыки и рост в компании.

Многие путают профессии QA-инженер и тестировщик ПО — иногда даже в описаниях вакансий (проверено на личных примерах). В чём различие между двумя профессиями, можно ли заменять одного специалиста другим? Рассказываем в новой статье.

Роли

Тестировщик 

Задача тестировщика — определить работоспособность и проконтролировать качество. Специалист тестирует продукт, описывает риски, оформляет в багтрекинговой системе и передаёт разработчикам. Чтобы те устранили ошибки и решили, выкатывать ли фичу в прод.

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

QA-инженер

У QA-инженера меньше ограничений и шире круг обязанностей. Его основная задача — не допустить несоответствия продукта требованиям и постараться довести как можно меньше багов до этапа тестирования (хотя останутся они в любом случае).

Он участвует на всех этапах разработки — от планирования до выпуска — и рекомендует бизнесу и разработчикам, что нужно сделать, чтобы повысить качество продукта.

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

QC-инженер

Отдельная тема — QC-специалист. Он фокусируется и на тестировании, и на его средствах и методиках.

Я во многом сравниваю тестировщика ПО c QC-инженером. Оба контролируют качество тестирования, ищут ошибки в готовом продукте и в обновлениях. Поэтому дальше мы опустим QC и продолжим сравнивать только QA-инженера и тестировщика ПО.

Компетенции

Тестировщик

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

Также важно знать SQL, чтобы вытаскивать данные, и язык программирования — хотя бы Python на базовом уровне. А ещё работать с базами данных: PostgreSQL, Oracle и так далее — и Git, уметь снимать логи, понимать работу приложений. Для мобильного тестирования ещё и знать отличия Android от iOS.

Наконец, стоит понимать, что такое автоматизированное тестирование, и работать с файловыми менеджерами, XML-редакторами и генераторами тестовых данных.

QA-инженер

Для QA-инженеров также важно умение тестировать мобильные и веб-приложения, вести документацию, правильно верифицировать и оформлять дефекты. И понимать SQL и хотя бы один язык программирования.

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

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

Помимо навыков, нужно быть неравнодушным к продуктам компании и регулярно проявлять инициативу на всех этапах их разработки.

Вход в профессию и рост

Тестировщик

Тестирование — простая точка входа в ИТ. По моему опыту, чтобы освоить азы, будет достаточно курсов (которых сейчас полно́) — и после них уже можно искать толковую стажировку, чтобы прокачивать навыки и в перспективе расти до ведущего специалиста или лида.

Горизонтально тестировщик ПО может вырасти до автотестера, специалиста по юзабилити, информационной безопасности, стресс-тестированию производительности или того же QA-инженера. Или сменить карьерный трек (но это отдельная тема).

QA-инженер

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

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

Почему тестировщиков ПО и QA-инженеров путают

Во-первых — относительная простота перехода от одной профессии к другой. Во-вторых, пересечение хард скиллов и инструментов.

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

Кроме того, сам процесс тестирования в компаниях может быть организован по-разному, что тоже вносит путаницу. Например, в Белорусском отделении МТС с тестами помогают сами разработчики, а баги оформляются в Excel-файле, а не в багтрекинговой системе.

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

Может ли стереться грань между ними

Думаю, нет. Есть разница в скиллах, разделении обязанностей (у одних это тестирование, у других — тестирование инструментов тестирования) и подходе. У тестировщика он процессоориентированный: он больше думает о своих задачах, нежели о продукте в целом. У QA-инженера — наоборот, фокус именно на продукте.

Кроме того, цикл тестирования ПО – это подмножество процессов, software-цикла. А у тестировщика это подмножество процессов QC.

Может быть, в будущем придумаю, как интегрировать тестировщиков в QA. Но мне кажется, один специалист «порвётся», пытаясь успеть за всем: за бизнесом, за разработчиками, тест-планами, тест-кейсами, тестовыми моделями…

Так что, думаю, эти профессии так и останутся разными.

Следите за новыми постами
Следите за новыми постами по любимым темам
9К открытий10К показов