QA или тестировщик? 3 главных отличия
Рассказываем, чем отличается QA-инженер от тестировщика ПО. Обсудим обязанности, навыки и рост в компании.
10К открытий13К показов
Многие путают профессии 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. Но мне кажется, один специалист «порвётся», пытаясь успеть за всем: за бизнесом, за разработчиками, тест-планами, тест-кейсами, тестовыми моделями…
Так что, думаю, эти профессии так и останутся разными.
10К открытий13К показов