Человек со стороны может подумать, что все «специалисты по тестированию» работают над одними и теми же скучными задачами, но на самом деле это совершенно не так. В этой статье я расскажу, в чем на самом деле заключается работа профессионалов-тестировщиков и какое место такие сотрудники занимают в командах разработчиков.
QA, QC, тестирование, а также особенности профессии тестировщика
Тестирование – труд, охватывающий полностью цикл разработки, включающий, среди прочего, планирование и проектирование, плюс создание и исполнение тест-кейсов. Далее я кратко расскажу о каждой из операций тестирования, но для начала разберемся в основных терминах.
QA (англ. Quality Assurance) — так называется обеспечение качества продукта. Под данной аббревиатурой понимается весь комплекс процессов, которые обеспечивают качество, это самое обширное понятие. QA интегрируется во все основные этапы разработки: начиная с описания проекта и до тестирования, более того, до релиза и до пост-релизного обслуживания проекта.
Специалисты QA занимаются созданием и реализацией различных тактик для повышения уровня качества на основных стадиях производства. Речь о подготовке и установке стандартов, об анализе качества, о выборе инструментов. Также такие специалисты занимаются предотвращением ошибок и постоянным усовершенствованием всего процесса.
QC (с англ. Quality Control) — то есть, контроль качества продукта — это уже часть QA, отвечающая за анализ результатов тестов, за обнаружение ошибок и их устранение. QC служит для проверки конкретного продукта, сюда включаются разные процессы, в том числе и анализ кода, дизайна, технические обзоры, тестирование и другие.
Тестирование — этот термин обозначает уже собственно процесс проверки продукта, насколько он отвечает установленным требованиям. И, соответственно, тестировщик — это специалист, занимающийся подобной проверкой. Он проверяет отдельные компоненты или продукт в целом на предмет неточностей либо ошибок разработки. Тестирование — один из основных и самых важных процессов в обеспечении качества продукта.
Специализацию тестировщиков подразделяют по нескольким основным направлениям: тестирование безопасности, юзабилити, производительности. Также специализации различаются по методике написания тестов: это могут быть ручное либо автоматизированное тестирование. Сегодня большинство компаний устроены так, что тестировщиками люди работают в них в самом начале карьеры — по сути, это junior-специалисты в своей области.
Варианты развития карьеры тестировщика
Практически в любой современной компании тестировщику доступны три варианта подъема по карьерной лестнице: вертикальный, горизонтальный, а также смежный.
Развитие по вертикали
Первый вариант, подразумевающий вертикальное развитие, означает развиваться в области обеспечения качества продукта по иерархии, то есть постепенно такой тестировщик уходит в управление проектами либо же командой.
В каждом из сегментов тестирования имеются собственные грейды, определяющие уровень конкретного специалиста: junior, middle, либо же senior. Руководителя сотрудников можно назвать test-lead либо же team-lead, это зависит от спецификации компании. На некоторых из проектов также может быть и собственный инженер по качеству, он же head of QA.
С уровня начинающего специалиста тестировщик может впоследствии подняться до любого из уровней, но самое главное для роста – это постоянно себя поддерживать в тонусе. Азы профессии тестировщика осваивать не тяжело, но вот далее развиваться, приобретая на каждом из этапов новые знания, будет намного сложнее. В целом, все зависит от конкретного человека, но, к примеру, от junior до middle за год дорасти вполне реально.
Горизонтальное развитие
Это второй вариант, подразумевающий, что тестировщик развивается как специалист и прокачивает hard skills, благодаря которым в дальнейшем он сможет выбрать для себя самое интересное направление работы. Тестировщик может в дальнейшем стать автотестером либо же специалистом в области тестирования юзабилити, производительности и безопасности. При этом сегодня есть и профессионалы, способные совмещать оба данных варианта.
Чтобы остановиться на более узком направлении, необходимы приличные знания в сфере программирования и иной технический бэкграунд. В маленьких компаниях бывает так, что за все направления, названные выше, отвечает только один специалист. Ему могут поручить провести и нагрузочное тестирование, и написать автотесты, получается эдакий человек-оркестр — данный подход сегодня довольно сильно распространен, хотя и считается не совсем правильным
Потребность в автоматизированном тестировании
Автотестирование, если речь идет о навыках специалиста, потребует большего уровня квалификации, само собой, и оплачивается такая работа гораздо выше, нежели ручное тестирование. Сегодня многие компании уже пришли к выводу, что автотесты, предназначенные для рутинных процессов, таких как прохождения регрессий, часто гораздо выгоднее, нежели ручное тестирование. Компании стараются нанимать на работу сотрудников, пишущих автотесты на процессы, ранее проверявшиеся ручными тестировщиками (а то и вообще ранее не проверявшиеся).
Преимущества и недостатки ручного и автоматизированного тестирования
При оценке рынка вакансий удалось установить, что именно автотестеры сегодня пользуются очень большим спросом, да и уровень зарплаты у таких специалистов гораздо выше. Но есть точка зрения, согласно которой противопоставлять автоматизированное и ручное тестирование неверно, ведь оба способа предназначены для решения в итоге одной и той же задачи.
Сегодня специалистов в сфере автоматизированного тестирования ищут большинство компаний, причем это как команды из области мобильной разработки, так и из сферы тестирования бэкенда, фронтенда и иных сфер. И даже начинающий специалист, у которого есть база, надолго не остается без предложения работы.
Смежные сферы
Третьим путем развития тестировщика является переквалификация в сферу смежной деятельности. Считается, что тестирование — эдакая самая простая «точка входа» в мир IT и из профессии тестировщика намного легче перейти в иные технические направления. Потому иногда специалисты в сфере тестирования решают пробовать себя в иных IT-профессиях. К примеру, тестировщик может пробовать свои силы в профессии продакт-менеджера, бизнес-аналитика, может стать разработчиком или даже дизайнером. Но все равно, освоить новые профессии не столь просто, как это кажется, — вам понадобятся различные дополнительные знания, а также желание развиваться, плюс придется тратить время на обучение и на поиск новой работы.
Напоследок отмечу, что сегодня обеспечение качества — это бурно развивающаяся и очень перспективная сфера деятельности, в особенности в России и в странах СНГ, что, несомненно, радует и вдохновляет развиваться постоянно в данном направлении.