Start-365.ru

Работа и Занятость
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Менеджер по тестированию

Профессия тестировщик: разбираемся в QA, QC и testing

    Блоги, 25 мая 2019 в 12:23

Анастасия Шарикова, преподавательница курса «Тестировщик» в Нетологии и QA Lead в Bookmate, рассказала, чем занимаются тестировщики, как формируются отделы по контролю за качеством, а также какая специализация в тестировании пользуется сейчас наибольшим спросом.

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

Человеку со стороны может показаться, что все «специалисты по тестированию» занимаются одинаковыми скучными задачами, но это не так. Разберёмся, чем на самом деле занимаются профессионалы-тестировщики и какое место занимают в команде.

Что такое QA, QC, тестирование и кто такой тестировщик

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

Схематически отношения между QA, QC и тестированием можно представить так:

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

TECH5, Москва, от 120 000 до 180 000 ₽

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

QC (англ. Quality Control) — контроль качества продукта — это часть комплекса QA, которая отвечает за анализ результатов тестирования, поиск ошибок и их устранение. QC ориентирован на проверку конкретного продукта, в него входят различные процессы, такие как анализ кода, технические обзоры, анализ дизайна, тестирование и прочее.

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

Специализацию тестировщиков можно разделить по направлениям: тестирование безопасности, производительности, юзабилити; а также по методам написания тестов: ручное и автоматизированное тестирование.

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

Карьера тестировщика: варианты развития

У тестировщика практически в любой компании есть три пути развития карьеры: вертикальный, горизонтальный и смежный.

Вертикальное развитие

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

В каждом сегменте тестирования существуют свои грейды, которые определяют уровень специалиста: junior, middle и senior. Руководителем всех специалистов является test-lead или team-lead в зависимости от специфики компании. На некоторых проектах может быть также отдельный инженер по качеству, head of QA.

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

Горизонтальное развитие

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

Чтобы выбрать более узкое направление, нужны приличные знания программирования и другой технический бэкграунд. В небольших компаниях бывает так, что за все описанные выше направления ответственен один специалист. Ему поручают и нагрузочное тестирование провести, и автотесты написать, своеобразный человек-оркестр — этот подход распространён, хотя и не совсем верен.

Спрос на автоматизированное тестирование

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

Если оценить рынок вакансий, то именно автотестеры сейчас пользуются огромным спросом, да и и уровень заработной платы у них выше. Хотя с моей точки зрения, противопоставлять ручное и автоматизированное тестирование неправильно, поскольку и то и другое решает в итоге одну задачу.

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

Переход в смежные сферы

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

Как стать тестировщиком

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

Однако в вузах нет специальности «тестировщик». Если рассматривать государственное образование, то проведение тестов изучается только в рамках программирования. Минус в том, что практики при обучении в вузе всё равно не получить, если не работать параллельно на реальных проектах.

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

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

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

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

Если говорить об обучении уже практикующего специалиста, например, ручного тестировщика, то здесь тоже немало вариантов: от специализированных курсов до самостоятельного изучения языков и инструментов, которые понадобятся в новом направлении. Как пример, если интересно тестирование веб-приложений, можно начать с изучения Selenium или Katalon Studio и Java.

Читать еще:  Менеджер по продажам садовой техники

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

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

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

Кто такой тест-менеджер

Кто такой тест-менеджер

Работа по тестированию проектов в Google на самом деле не выглядит так идеально, как описанная в этой книге ситуация, где каждый инженер занят только своим делом. На помощь приходит менеджер, который координирует работу тестировщиков и разработчиков в тестировании, — тест-менеджер. Немного о его месте в иерархии Google: он подчиняется директору по тестированию, у которого может быть несколько таких подчиненных,[65] а Патрик Коупленд руководит всеми директорами по тестированию.

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

Большая часть тех, кто сейчас руководит тестированием, выросли из тестировщиков, и это неудивительно, учитывая, насколько у них широкий спектр задач. Инженер по тестированию управляет задачами по тестированию, держа в фокусе всю широкую картину проекта. Тут рукой подать до управления людьми. Тестировщик понимает большую часть функциональности продукта и общается с гораздо большим количеством инженеров, чем, к примеру, разработчик в тестировании. Однако успешный инженер вовсе не обязательно станет успешным тест-менеджером. В Google любой успех — дело коллективное. Мы все вместе работаем над тем, чтобы выбрать правильных менеджеров и помочь им добиться успеха.

Итак, наш первый совет — знайте свой продукт. Тест-менеджер должен быть готов ответить на любые вопросы по использованию своего продукта. Допустим, вы — тест-менеджер Chrome. Если вас спросят, как установить расширение, сменить оформление браузера, настроить синхронизацию, изменить настройки прокси-сервера, просмотреть DOM, найти хранилище cookie, поставить новую версию, то ваши ответы должны отскакивать от зубов. Хороший руководитель знает о своем продукте все — от пользовательского интерфейса до внутренних подробностей работы дата-центров.

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

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

У нас в Google работают очень умные ребята, но их количество не бесконечно. Каждый тест-менеджер, приходящий извне, жалуется, что в его проекте недостаточно людей. Мы лишь дружно улыбаемся в ответ. Мы знаем это и не собираемся ничего менять. Хорошо зная своих людей и их навыки, руководитель может маленькой командой добиться тех же результатов, что и большим количеством людей. В этом сила тест-менеджера.

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

В тестировании программных продуктов в Google работает такая же схема. Руководитель не может просто бросить всех людей на задачу, поэтому все действия оптимизируются. Автоматизация, не приносящая пользы, уничтожается. Тесты, не выявляющие регрессию, не пишутся. Если разработчики требуют от тестировщиков определенной деятельности, они должны сами в ней участвовать. Люди не придумывают себе работу, чтобы просто не сидеть без дела. Не нужно делать то, что сейчас не принесет ценности.

Задача руководителя — поставить всех на свои места. Если он хорошо знает свой продукт, то легко определит приоритетное направление и те части, которые должны получить нужное покрытие в первую очередь. Если менеджер хорошо знает команду, то он сможет правильно распределить людей по областям работы для максимальной эффективности. Конечно, какие-то задачи останутся невыполненными. Но если все сделано правильно, это будут низкоприоритетные задачи или задачи достаточно простые, чтобы их можно было доверить внешнему подрядчику, краудсорсерам или внутренним пользователям.

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

Данный текст является ознакомительным фрагментом.

Чем занимается инженер по тестированию и как начать работать в этой области

Главные качества тестировщика — внимательность до дотошности, перфекционизм и сильное структурное мышление

Инженер по тестированию контролирует качество IT-продукта. Он находит ошибки, записывает их в отчет и передает разработчикам. На старте нужны минимальные технические навыки, поэтому такая профессия считается одной из точек входа в сферу IT. Фёдор Зволинский, руководитель службы тестирования Яндекс.Браузера, поделился особенностями работы инженера по тестированию и рассказал, какие качества помогут стать экспертом в этой области.

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

Инженер по тестированию хорошо знает продукт, понимает бизнес-процессы и может предложить решение проблемы, исходя из своего опыта. Миссия тестировщика — поддерживать баланс между интересами пользователя, целями менеджмента и возможностями разработчиков. Курс «Инженер по тестированию» Яндекс.Практикума рассчитан именно на это направление.

Задачи тестировщика

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

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

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

Читать еще:  Менеджер по подготовке и обучению персонала

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

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

Как работает тестировщик

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

Первый этап. Сбор информации

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

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

Второй этап. Анализ

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

Тестировщик разбивает все глобальные процессы в продукте на самые маленькие блоки. Чтобы проверить, как работает приложение, он будет отдельно тестировать каждую страницу, кнопку и действие.

«Если вы тестируете показ всплывающего окна, то такими маленькими блоками могут стать отрисовка всплывающего окна и условия показа. Отдельно проверяем, как окно будет отображаться для пользователя, и оцениваем логику показа без тестирования пользовательского интерфейса. При таком тщательном подходе в тестовой модели будет меньше ошибок, а проверка пройдет быстрее», — говорит Фёдор Зволинский.

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

Третий этап. Разработка тестовых сценариев

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

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

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

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

Цель этого этапа — решить, как проводить тесты, выбрать инструменты и методику.

Четвертый этап. Тестирование

Следующий шаг — автоматическое или ручное тестирование. Специалист проходит все этапы, которые описаны в тест-кейсе и проверяет работу продукта. Например, если нужно найти ошибки в верстке, тестировщик использует валидаторы HTML/CSS. Достаточно указать путь к приложению или сайту, и сервис покажет все обнаруженные ошибки.

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

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

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

Пятый этап. Подготовка отчета

Ошибки нужно описать и показать. Кроме текста тестировщик готовит скриншоты или видео, где можно увидеть ошибку. Всё, что удалось обнаружить, нужно зафиксировать в специальных программах. Для этого используют Bugzilla, Redmine, Mantis, HP ALM. Если процессы в компании еще не настроены, работают с Word и Excel.

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

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

Шестой этап. Проверка исправленного продукта

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

Что нужно для старта

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

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

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

Профессия тестировщик: разбираемся в QA, QC и testing

    Блоги, 25 мая 2019 в 12:23

Анастасия Шарикова, преподавательница курса «Тестировщик» в Нетологии и QA Lead в Bookmate, рассказала, чем занимаются тестировщики, как формируются отделы по контролю за качеством, а также какая специализация в тестировании пользуется сейчас наибольшим спросом.

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

Человеку со стороны может показаться, что все «специалисты по тестированию» занимаются одинаковыми скучными задачами, но это не так. Разберёмся, чем на самом деле занимаются профессионалы-тестировщики и какое место занимают в команде.

Читать еще:  Менеджер по комплектации это

Что такое QA, QC, тестирование и кто такой тестировщик

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

Схематически отношения между QA, QC и тестированием можно представить так:

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

TECH5, Москва, от 120 000 до 180 000 ₽

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

QC (англ. Quality Control) — контроль качества продукта — это часть комплекса QA, которая отвечает за анализ результатов тестирования, поиск ошибок и их устранение. QC ориентирован на проверку конкретного продукта, в него входят различные процессы, такие как анализ кода, технические обзоры, анализ дизайна, тестирование и прочее.

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

Специализацию тестировщиков можно разделить по направлениям: тестирование безопасности, производительности, юзабилити; а также по методам написания тестов: ручное и автоматизированное тестирование.

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

Карьера тестировщика: варианты развития

У тестировщика практически в любой компании есть три пути развития карьеры: вертикальный, горизонтальный и смежный.

Вертикальное развитие

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

В каждом сегменте тестирования существуют свои грейды, которые определяют уровень специалиста: junior, middle и senior. Руководителем всех специалистов является test-lead или team-lead в зависимости от специфики компании. На некоторых проектах может быть также отдельный инженер по качеству, head of QA.

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

Горизонтальное развитие

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

Чтобы выбрать более узкое направление, нужны приличные знания программирования и другой технический бэкграунд. В небольших компаниях бывает так, что за все описанные выше направления ответственен один специалист. Ему поручают и нагрузочное тестирование провести, и автотесты написать, своеобразный человек-оркестр — этот подход распространён, хотя и не совсем верен.

Спрос на автоматизированное тестирование

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

Если оценить рынок вакансий, то именно автотестеры сейчас пользуются огромным спросом, да и и уровень заработной платы у них выше. Хотя с моей точки зрения, противопоставлять ручное и автоматизированное тестирование неправильно, поскольку и то и другое решает в итоге одну задачу.

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

Переход в смежные сферы

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

Как стать тестировщиком

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

Однако в вузах нет специальности «тестировщик». Если рассматривать государственное образование, то проведение тестов изучается только в рамках программирования. Минус в том, что практики при обучении в вузе всё равно не получить, если не работать параллельно на реальных проектах.

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

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

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

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

Если говорить об обучении уже практикующего специалиста, например, ручного тестировщика, то здесь тоже немало вариантов: от специализированных курсов до самостоятельного изучения языков и инструментов, которые понадобятся в новом направлении. Как пример, если интересно тестирование веб-приложений, можно начать с изучения Selenium или Katalon Studio и Java.

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

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

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector