Тестирование продуктов в ИТ-индустрии занимает одно из первых мест с точки зрения важности и затрачиваемых ресурсов. Это неотъемлемая часть процесса разработки.
Сервисы для поиска работы ломятся от вакансий на должность тестировщика в крупных и крошечных, отечественных и зарубежных проектах.
В то же время заметна неосведомлённость молодых (и не очень) ИТ-специалистов о специфике тестирования ПО: эту сферу часто обесценивают, и многие опасаются строить карьеру в этом направлении. Кроме того, менеджерам по найму нужно проявлять смекалку, чтобы определять потенциально талантливых тестировщиков и выделять ресурсы для их обучения.
Конечно, эта статья не ответит на вопрос, как внедрить тестирование как дисциплину в университетах. Моя цель более скромная — разрушить некоторые мифы и барьеры, мешающие хорошим умным людям найти своё призвание в тестировании.
Страх № 1: тестирование — это рутина
Процесс разработки действительно предполагает регулярно повторяемые, зачастую ручные прогоны одних и тех же (регрессионных) тестов, чтобы обеспечить заданный уровень качества продукта.
Тестировщику приходится снова и снова выполнять одни и те же тесты, частенько «обречённые» на успешное прохождение и не обнаруживающие ошибки, особенно когда продукт стабилен. Как же избежать замыливания глаз, выгорания, скуки, депрессии?
Даже в быту для скучных и трудоёмких действий люди придумывают автоматизации. Надоело взбивать яйца венчиком — возьми блендер, тяжело подниматься по ступенькам — ищи лифт, устал подметать — хватай электровеник. «А» = автоматизация! Что делать с сэкономленными силами и временем — совсем другая история.
То же самое и с тестированием — вместо унылого выполнения однообразных задач всегда можно воспользоваться тем, что уже изобрели другие люди для упрощения жизни: замечательными библиотеками, фреймворками на любой вкус и цвет. Погугли их, настрой для своих нужд и натрави на последовательности действий, которые заставляют с таким нетерпением ждать вечера пятницы. «И» = инициатива & инновации.
Но зачем нужны ручные тестировщики, если всё можно автоматизировать? Именно для того, чтобы задать максимально высокую планку искусственному интеллекту! К важнейшим задачам ручного тестирования относятся:
- тщательное изучение требований заказчика (что вообще нужно тестировать?);
- поиск особо опасных и каверзных дефектов;
- расширение покрытия тестов;
- адаптация автоматизированных тестов к новым фичам;
- освоение и изучение бескрайнего мира «Производительность продукта».
Козырь талантливого тестировщика — здравый смысл, позволяющий выяснить истинные приоритеты конечного пользователя и их соответствие стратегии компании.
Контролируя баланс скорости и надёжности тестирования, инженер может напрямую повлиять на соотношение цены (себестоимости) и качества продукта.
Страх № 2: ограниченный карьерный рост
Ещё один миф связан с обесцениванием профессии инженера по тестированию. Я про заявления вроде «Да какое тут может быть развитие? Это же мартышкин труд!», «А когда уже я смогу перейти в разработку?», «Я хочу вершить судьбу продукта, а не вот это всё!». Ответ на первый вопрос был дан в предыдущем разделе.
Желание перейти в разработку стоит обсудить с менеджером. Но надо понимать, что изучение инструментов разработчика, необходимое для успешного собеседования на новую позицию, никак не коррелирует с задачами тестировщика, поэтому требует вложений личного времени. Впрочем, чтобы попрактиковаться в программировании, можно взять на себя задачи по автоматизации тестирования. Путь тернистый, но пройти его реально.
Идём дальше. Как правило, программист отвечает за определённую часть продукта и не всегда умеет пользоваться им по назначению, не в курсе всех продаваемых возможностей. В тестировании тоже могут быть свои специализации, но его неотъемлемая часть — это интеграционное тестирование, проверка слаженной работы всех компонентов системы.
Тестируя системы хранения данных, каждый инженер от мала до велика должен понимать data path от начала до конца. Именно тестировщик способен увидеть самую широкую картину, поэтому мнение команды по тестированию всегда учитывается при составлении плана развития продукта. А вердикт о том, можно ли выпускать продукт, полностью основывается на результатах тестов.
«Ого как много требований к простому тестировщику! А мне за это что будет?» — спросите вы.
Чем больше сила, тем больше ответственность, а за увеличением ответственности следует карьерное развитие. Причём возможен именно вертикальный рост — внутри той же сферы, без переквалификации в разработчика.
К слову, моя родная компания предлагает для карьерного роста инженеров целых семь ступеней — от интерна до technical staff, — а также участие в инновационных межпроектных программах, где творятся великие дела. Тут и до создания новаторского запатентованного продукта недалеко! Вот оно, максимально глубокое погружение в профессию.
Пруфы н-надо? Архитектор нашего продукта и менеджер одной из групп разработки начали свой путь именно в тестировании. Широта и глубина знаний и умений, полученных в этой отрасли, вкупе с личными талантами и кропотливым трудом стали трамплином для их карьеры.
Страх № 3: отсутствие опыта в тестировании — большая проблема
Конечно, к любому собеседованию надо готовиться. Вы должны иметь представление о видах и задачах тестирования, почитать о компании, её продуктах, которые вы собрались тестировать, и проекте, в который намерены внести вклад.
Тем не менее, в тестировании опыт, нарабатываемый непосредственно в проекте, значит гораздо больше, чем опыт работы в другой компании. А вот такие личные качества, как природное любопытство, усердие, живой ум и ангельское терпение, на собеседовании приходится буквально высматривать под микроскопом даже в самом технически подкованном кандидате.
Зачастую сильные тестировщики приходят из смежных IT-профессий: системного администрирования, DevOps, техподдержки и даже разработки.
Сложно сделать первый шаг в сторону смены IT-роли, но здесь очень помогает опыт настройки операционной системы (у нас — Linux), опыт работы с железом, умение досконально разобраться, как что работает (или не работает).
Любопытный факт: в моей команде всего пара тестировщиков с опытом работы по специальности в других компаниях. Остальные либо пришли из вышеперечисленных областей, либо начали свою IT-карьеру у нас.
Процесс обучения основан на практике. Благодаря уже упомянутым регрессионным тестам — по сути, пошаговому пособию по возможным вариантам настройки и использованию нашего железа и его мудрёного софта — новички учатся на релизах (версиях продукта, которые поставляются заказчику) практически с первых дней после подписания трудового договора. Мы даже приглашаем на обучение в нашу команду новичков из саппорта, а иногда и девелоперов.
По приходу в команду к каждому новичку прикрепляется buddy — сотрудник, который выполняет схожие задачи, рад помочь своему подопечному и поделиться бесценным опытом.
Менторские программы тоже продолжают набирать обороты — и они просто космос. Как говорится, было бы желание!
Страх № 4: нужен суперанглийский
На самом деле английский высшего уровня вам не требуется, но читать на нём и понимать его — надо!
Крупные международные компании всегда требуют знание иностранного языка. Это скилл, который в современном мире необходим для развития практически в любой области, а ещё его «не пропьёшь». Но стоит ли отказываться от интересной вакансии, если герундий для тебя — это запрещённое вещество или позабытое прозвище твоего одноклассника Герасима?
Мой опыт показывает, что в технической переписке и на совещаниях используется такой скудный словарный запас, что несмотря на ежедневное общение с носителями языка, лично я испытываю дискомфорт при бытовом общении. То есть адаптация к терминологии того или иного проекта — задача простая, если в английском ты крепкий середняк.
Кроме того, не все проекты распределены по континентам. Например, наш проект полностью разрабатывается и тестируется в Питере и на первых порах дружелюбные коллеги готовы объяснить вам непривычные термины по-русски. Однако вся документация и переписка ведутся на английском, поэтому чтение и понимание грамматических конструкций остаётся необходимым критерием при приёме на работу.
Чтобы поддерживать достигнутый уровень и не повторять моих ошибок, судорожно вспоминая за границей, как будет по-английски «чайник», советую не игнорировать корпоративные языковые курсы. Компании нередко предлагают их безвозмездно, то есть даром! Конечно, если уже записался на такие курсы, то будь паинькой и усердно учись. Иначе накажут рублём — заставят оплатить занятия (так мы сами, по крайней мере, говорим «прогульщикам», и в договоре об обучении это отражено далеко не «мелким» шрифтом).
Заключение: быть или не быть?
В статье я рассказала о некоторых негативных установках, тормозящих развитие специалистов в области тестирования. Как говорится, предупреждён — значит вооружён.
А следующий шаг — это работа над преодолением барьеров и сменой установок, что требует немалых усилий.
Лично мне потребовалось время, чтобы осознать все особенности и преимущества работы в тестировании, ведь начинала я на должности разработчика. Какой же урок я вынесла?
Самое благодарное дело — это восполнять дефицит, быть готовым качественно делать то, что больше всего нужно миру, и найти ту область, где твой вклад окажется самым ценным.
Подумай: а вдруг тестировщик — это твоё призвание?
ссылка на оригинал статьи https://habr.com/ru/company/dell_technologies/blog/599523/
Добавить комментарий