Кто такой тестировщик и как им стать с нуля

Содержание работы тестировщика

Типичная последовательность работы функционального (мануального) тестировщика выглядит примерно следующим образом.

  1. Изучить спецификацию продукта (программы). 
  2. Разработать методы для проверки продукта. 
  3. Провести проверку продукта.
  4. Сделать выводы по итогам проверки. 
  5. Перечислить найденные уязвимости и недочеты продукта в техническом документе (чаще всего на английском языке). 

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

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

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

Я выделил бы две категории проектов, с которыми имеет дело тестировщик: проекты в разработке и проекты в поддержке. Работать на проектах первого типа гораздо интересней и динамичней. Тестировать продукт, который появляется у тебя на глазах, — это настоящий «раш».  Лично мне больше всего нравится работать с системами управления предприятиями. Это очень сложные задачи, где много бизнес-логики и технической составляющей. 

Содержание работы тестировщика

Типичная последовательность работы функционального (мануального) тестировщика выглядит примерно следующим образом.

  1. Изучить спецификацию продукта (программы).
  2. Разработать методы для проверки продукта.
  3. Провести проверку продукта.
  4. Сделать выводы по итогам проверки.
  5. Перечислить найденные уязвимости и недочеты продукта в техническом документе (чаще всего на английском языке).

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

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

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

Я выделил бы две категории проектов, с которыми имеет дело тестировщик: проекты в разработке и проекты в поддержке. Работать на проектах первого типа гораздо интересней и динамичней. Тестировать продукт, который появляется у тебя на глазах, — это настоящий «раш». Лично мне больше всего нравится работать с системами управления предприятиями. Это очень сложные задачи, где много бизнес-логики и технической составляющей.

Skillbox

Вы освоите одну из самых востребованных IT-профессий под руководством личного наставника и начнёте зарабатывать ещё до завершения курса. Опыт программирования не нужен.

Кому подойдёт этот курс

  • Новичкам в IT
  • Вы научитесь тестировать сайты, мобильные приложения и другое ПО. Узнаете, как устроена работа IT-компаний. Сможете понять, как развиваться в профессии. Уже джуниоры очень востребованы на рынке, а курс позволит достичь middle-уровня.
  • Тестировщикам начального уровня
  • Вы освоите ключевые инструменты автоматизированного тестирования. Выстроите понятный пошаговый путь профессионального развития.

Чему вы научитесь?

  1. Функциональному и нефункциональному тестированию сайтов и приложений
  2. Тестированию мобильных приложений
  3. Продвинутым методам автоматизации
  4. Работать в таск-трекерах
  5. Техникам тест-дизайна
  6. Применять знания на практике
  7. Использовать шаблоны тест-планов, тест-кейсов, сценариев и чек-листов

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

Их много. Ситуация усложняется ещё и тем, что в разных компаниях одинаковые по сути роли могут называться по-разному.

На рынке труда чаще всего встречается функциональный (мануальный, manual QA engineer) тестировщик. Это человек, который придумывает тесты и «вручную» проверяет программы на баги и уязвимости.

Автоматизатор (test automation engineer) пишет код, который автоматизирует процессы тестирования.

Эти две специальности наиболее распространённые, и дальше мы будем говорить в основном о них.

Иногда в отдельную роль выделяют security-тестировщика — человека, который занимается проверкой систем безопасности. BI (business intelligence) — тестировщик, которы работает с большими объёмами данных. В некоторых компаниях есть целые отделы performance-тестирования — контроля производительности ПО и нагрузок на приложения. Usability-тестировщики проверяют, насколько продукт удобен в использовании и привлекателен для пользователя.

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

10 курсов по тестированию для новичков и опытных специалистов По теме

10 курсов по тестированию для новичков и опытных специалистов

Варианты карьеры QA-тестировщика

В QA-тестировании существуют общепринятые названия специальностей на английском языке. Это навыки и умения с технической стороны – hard skills. Рассмотрим карьерный рост в соответствии с этими названиями:

  1. Trainee QA Engineer (стажёр) — начинающий специалист, имеющий только теоретическую базу без опыта работы.
  2. Junior QA Engineer (новичок) — сотрудник с опытом работы в должности QA-тестировщика до 6 месяцев. Такому инженеру нужно иметь представление о процессе разработки, написании тестов, что такое дефект и как с ним работать.
  3. QA Engineer (QA-тестировщик) — специалист, с опытом работы более 6 месяцев. Владеет навыками написания сценариев тестирования, проведения тестирования продукта, составления отчетов по обнаруженным ошибкам, анализа результатов и улучшения показателей, отслеживания правок и оптимизация этапов разработки. Может обучать сотрудников из предыдущих пунктов.
  4.  Senior QA Engineer (старший QA-тестировщик) — опытный программист с высоким уровнем квалификации. Помимо самостоятельного выполнения задач, обучает сотрудников и берёт на себя ответственность за выполнение более сложной работы. Знает и умеет использовать разные виды тестирования.
  5. Lead Software Testing Specialist (ведущий инженер) —более 5 лет профессионального опыта, может руководить группой инженеров, оценивает риски, составляет сроки и уровни бюджетирования, определяет варианты тестирования и координирует его процесс.
  6. Разработчик — поработав в тестировании некоторое время и получив необходимый опыт, некоторые специалисты уходят в разработку программного обеспечения.

Тем, кто любит общение и взаимодействие с коллегами подойдет развитие по типу soft skills:

  • Менеджер — работает с командой, ставит задачи подчинённым и осуществляет контроль за их выполнением.
  • Бизнес-аналитик — посредник между заказчиком и командой, проводящей тесты.

QA-тестирование представляет собой неограниченную вселенную для развития карьеры.

Базовые требования к профессионалу

  • Опыт технической поддержки — это плотное изучение технологий в сжатые сроки, умение понимать проблемы и быстро сопоставлять их с причинами и путями решения + навыки документирования заявок. Отличная почва для старта карьеры тестировщика.
  • Основы программирования — желательно Java, SQL, Python, но сойдёт буквально всё.
  • Знание методологии Agile, умение встроиться в микро-команды. 
  • Основы Linux.
  • Основы архитектуры ПК.
  • Модель OSI и сети (базовое понимание, знание структуры заголовков пакетов и проч.). Практически сразу потребуется свободная работа с утилитой Wireshark.
  • Инструменты управления тестированием — Bugzilla, Jira или любой другой багтрекер.
  • Selenium — инструмент для автоматизации действий веб-браузера. Очень популярный инструмент тестирования. 
  • Желательно — понимание стратегий тестирований чёрного, белого, серого ящиков и осознание того, где вы наиболее хорошо применимы как специалист.
  1. Станьте QA-фрилансером, чтобы выполнять небольшие проекты по ручному тестированию. Платят мало, но вы научитесь мыслить как тестировщик, писать контрольные примеры и сообщать о результатах. 
  2. Если цель — тестирование веба (а это чаще всего), создайте свой кривой-косой, но полноценный сайт без шаблонов и готовых CMS. Так вы поймёте, как среда работает изнутри и будете знать места обитания всех типичных багов.
  3. Найдите программу любого курса по тестированию, ищите по ней материалы и накапливайте теоретическую базу, чтобы успешно пройти первое собеседование.

Образование

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

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

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

  1. МГТУ им. Н.Э. Баумана – Московский государственный технический университет имени Н.Э. Баумана.
  2. НИУ МГСУ – Московский государственный строительный университет.
  3. МГУТУ имени К.Г. Разумовского – Московский государственный университет технологий и управления имени К.Г. Разумовского.
  4. СПбПУ – Санкт-Петербургский политехнический университет Петра Великого.
  5. УрФУ им. Б. Н. Ельцина – Уральский федеральный университет им. Б. Н. Ельцина (Екатеринбург).
  6. НГУ – Новосибирский национальный исследовательский государственный университет.
  7. ТПУ – Национальный исследовательский Томский политехнический университет (Томск).
  8. КФУ – Казанский (Приволжский) федеральный университет (Казань).
  9. ЮФУ – Южный федеральный университет (Ростов на Дону).
  10. СКФУ – Северо-Кавказский федеральный университет (Ставрополь).

На территории России более 300 ВУЗов, выпускающих специалистов в сфере информационных технологий, программирования.

Если нет возможности поступать в высшее УЗ, то есть и ССУЗы. Насчитывается больше 100 заведений, включая:

  1. Санкт-Петербургский технический колледж управления и коммерции.
  2. Университетский политехнический колледж Санкт-Петербургского политехнического университета Петра Великого.
  3. Колледж связи №54 им. П.М. Вострухина (Москва).
  4. Московский приборостроительный техникум Российского экономического университета имени Г.В. Плеханова (Москва)
  5. Нижегородский радиотехнический колледж.
  6. Омский авиационный колледж имени Н.Е. Жуковского
  7. Новосибирский химико-технологический колледж имени Д.И. Менделеева.

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

Дополнительное образование, курсы

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

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

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

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

Где можно работать

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

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

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

Кто такой тестировщик и чем он занимается

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

Карьерная лестница тестировщика выглядит таким образом:

Другие направления в работе тестировщиков

В зависимости от того, какой продукт необходимо тестировать, выделяют следующие направления:

По механизму тестирования тестировщики делятся на такие группы:

Manual QA — ручное тестирование, специалист не использует программы, а делает все вручную

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

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

Performance QA — тестирование производительности.

Функциональные обязанности тестировщика

К задачам тестировщика программного обеспечения относятся:

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

Сколько зарабатывает тестировщик ПО

Ресурс с вакансиями Минимальная зарплата Максимальная
robota.ua 15 000 грн. 84 000 грн
work.ua 10 000 грн. 100 000 грн
«Авито» 22 000 руб. 200 000 руб.
hh.ru 30 000 руб. 160 000 руб.
trud.com 30 000 руб. 80 000 руб.

Плюсы профессии:

  • низкий порог входа в профессию;
  • необязательно иметь глубокие знания в области программирования;
  • возможность карьерного роста.

Минусы профессии:

  • однообразие задач;
  • повышенная внимательность к деталям;
  • зарплата ниже, чем у разработчиков;
  • повышенная ответственность за результаты работы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Курсы тестировщиков онлайн бесплатно

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

«Курс по тестированию для начинающих» от Udacity — первый шаг к карьере в области тестирования программного обеспечения. В процессе обучения вы научитесь находить ошибки кода, исправлять их и думать как тестировщики. Формат обучения — видеолекции и практические задания. Тренеры — Джон Регер, Шон Беннетт. Но есть один нюанс — обучение проходит на английском языке.

Курсы по тестированию от NIX разработан для новичков в мире IT. Вы изучите фундаментальную теорию тестирования ПО, познакомитесь с видами тестирования, проектной документацией и основными артефактами тестирования. А также сможете подготовиться к собеседованию на вакансию Junior QA в NIX.

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

«Онлайн-курс QA Start» позволит сделать первый шаг к серьезному обучению и четко определиться с направлением ваших интересов. После регистрации на обучающей платформе вам откроется доступ к 7 бесплатным урокам. При желании можно поддержать платформу финансово.

Вводный курс тестировщиков онлайн бесплатно предлагает пройти «Яндекс». Все обучение длится 4 месяца, включает 15 часов в неделю и позволяет освоить востребованные навыки специалиста, а также протестировать учебные сервисы «Яндекса» в режиме реального времени. Есть круглосуточная поддержка кураторов. Бесплатно можно пройти 84 урока, а это 10 часов обучения. Продолжить обучение можно уже за деньги.

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

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

Сделайте осознанный выбор

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

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

QA-инженер: кто это, в чем заключаются особенности профессии?

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

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

QA-инженер предупреждает несоответствие продукта требованиям, которые прописаны в технической документации и заявлены заказчиком. Он знаком с циклом разработки и системами учета дефектов, владеет минимум одним языком программирования. QA-инженер знает HTML и SQL, имеет уровень английского выше среднего, разбирается в операционных системах и web-технологиях. Средняя зарплата в этом сегменте составляет 100 тыс. руб., стать QA-engineer можно после обучения на курсах.

Онлайн-образование OTUS

Курс подойдет для:

  • Специалистов по ручному тестированию, проявляющих интерес к переходу в автоматизацию тестирования на Java;
  • Разработчиков автоматизированного тестирования на Java с опытом работы до 1 года и желающих углубить и систематизировать свои знания;
  • Специалистов, планирующих внедрить автоматизацию тестирования на своем проекте.

Особенности курса

Вы поймете принципы работы инструментов тестирования. Разберете, что делать при виде какого-нибудь exception, научитесь понимать, как именно отработал инструмент, и в каком месте искать ошибку. Разберетесь с ключевыми и наиболее популярными инструментами автоматизации UI- и API-тестирования, близко познакомитесь с ярчайшими представителями в своих категориях — Selenium и RestAssured. Освоите паттерны проектирования, многопоточные тесты и процесс организации CI.

Что нужно уметь новичку, чтобы устроиться на работу

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

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

Разбираться системами баг-трекинга Jira, Redmine, Bugzilla. Как правило, над устранением ошибки работают несколько разных специалистов. Системы баг-трекинга нужны, чтобы управлять процессом починки, координировать работу.

Так выглядит Jira

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

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

Уметь работать с основными программами вроде Charles или Fiddler. Они нужны, чтобы проверять передачу данных между компьютером пользователя и сервером.

Разбираться в системах управления знаниями и хранилищах тест-кейсов. К таким программам относятся, например, Wiki и Confluence. Они работают как «Википедия» — там хранится вся информация про проекту. Как хранилища тест-кейсов часто используют TestRail или Zephyr.

Карьера и рост

Тестирование наряду с бизнес-анализом или техническим писательством — действительно одна из наименее сложных точек входа в ИТ (хотя этот путь тоже не из лёгких).

Тестировщику необязательно обладать глубокими техническим навыками, знать языки программирования или даже иметь математический склад ума. Хотя ситуация меняется и требования к кандидатам растут. Говорят, 10-15 лет назад ИТ-компании брали в тестировщики чуть ли не людей с улицы. Лет 7 назад (когда я сам приходил в профессию) новичку уже надо было крепко владеть теорией. Сегодня на собеседованиях чаще проверяют базовые технические навыки: работу с базами данных и сетями, администрирование.

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

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

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

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

На микроволновках

Допу­стим, в ком­па­нии реши­ли создать быто­вую микроволновку.

Продакт-менеджер: Кол­ле­ги, нам нуж­но устрой­ство, в кото­ром люди смо­гут разо­гре­вать блю­да, но без нагре­ва­тель­но­го эле­мен­та. Что­бы рабо­та­ла быст­ро. Раз­мер такой-то. Нуж­на двер­ца. Обя­за­тель­но таймер.Раз­ра­бот­чик: Для это­го под­хо­дят мик­ро­вол­ны. Потре­бу­ет­ся сде­лать вра­ща­ю­щу­ю­ся плат­фор­му и фара­де­е­ву клетку.Про­дакт: Ниче­го не понял, делайте.Инже­нер по тестированию: Постойте!Все: Что?Инже­нер по тестированию: От како­го напря­же­ния будет рабо­тать? Какая будет защи­та от пере­па­дов? А если вклю­чить в розет­ку вдвое менее мощ­ную? Что там мож­но будет греть, а что нель­зя? Что если вклю­чить с откры­той двер­цей? Что будет, если греть воду? Что если греть камень? А сталь? А кота? А дина­мит? А если под­жечь фитиль? А если туда ниче­го не поло­жить и включить?Все креп­ко думают.

Это и есть рабо­та тести­ров­щи­ка: убе­дить­ся, что про­дукт рабо­та­ет нор­маль­но в штат­ных и вне­штат­ных ситу­а­ци­ях. По-умному будет так: «Насколь­ко реаль­ное пове­де­ние про­дук­та сов­па­да­ет с ожи­да­е­мым и как это отра­зит­ся на опы­те пользователя?»

Где можно научиться тестированию

Для работы в IT не обязательно профильное высшее образование. Даже такие мировые гиганты как Apple и Google больше не требуют диплом у претендентов на вакансии. А генеральный директор компании IBM Вирджиния Рометти считает, что профессиональные курсы часто оказываются полезнее нескольких лет в университете.

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

В специализированных учебных центрах курсы идут регулярно, и можно выбрать подходящий график. Обучение на тестировщика в среднем длится 1-6 месяцев, а стоимость варьируется от 500 до 1900 рублей. Все программы обучения, независимо от длительности, концентрируются на базовых навыках тестировщика, затем уже изучаются дополнительные темы, например, автоматизация.

Каждый месяц новый набор на курс по тестированию стартует в образовательном центре ПВТ (IT Academy). Помимо Минска, филиалы центра работают в Гродно и Гомеле. В IT Academy базовый курс по функциональному тестированию рассчитан на 2 месяца. Также есть еще два направления – тестирование мобильных приложений на Android и iOS и автоматизированное тестирование. Есть утренние, вечерние и группы выходного дня, что позволяет при желании совмещать работу и освоение новой сферы. Чтобы попасть на курсы, кандидатам нужно пройти онлайн-тест по английскому языку (знать английский достаточно на уровне Intermediate). В конце обучения студенты защищают реальный проект по тестированию программного обеспечения. Выпускникам, которые получают итоговую отметку выше 7 баллов, предлагают бесплатную программу трудоустройства. Это не значит, что вам найдут место работы, но помогут составить резюме и подготовиться к собеседованию. Также IT Academy может порекомендовать своих учеников на вакансии в компании-партнеры, которых более 500.

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

Если не получается подстроиться под график групповых курсов, то можно найти вариант индивидуального обучения с преподавателем. В Минске такая опция есть в QA Академии, где готовят исключительно тестировщиков. Конечно, стоимость таких занятий выше, чем обычных курсов (4-8 недель обучения обойдутся в 1900 рублей).

Если вы не из Минска, и в вашем городе нет подходящих образовательных центров, можно учиться дистанционно. Например, в онлайн-университете GeekBrains обучение тестированию длится год, включает теорию и практику, сопровождение куратора и помощь в трудоустройстве. А с хорошей мотивацией можно заниматься и самостоятельно, тем более, что в сети есть бесплатные дистанционные курсы: англоязычные программы представлены на платформах Coursera, edX, Udacity и Alison. Много полезной и актуальной информации можно найти в профессиональных блогах и форумах, например,  Software Testing Tools, Software Testing Help, Software Testing Tricks.

Особенности профессии

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

  • разработка оптимальных методик тестирования, создание тест-кейсов, моделирование распространенных поведенческих ситуаций;
  • создание графиков и планов, выполнение разных видов тестирования: для безопасности, нагрузочные, функциональные, автоматизированные, конфигурационные, игровые, юзабилити и иные. Универсальный тестировщик может выполнять все эти виды тестирования, но чаще всего он специализируется на 1-2;
  • создание баз данных и отчетов по результатам проведенного тестирования;
  • классификация ошибок, глубокий анализ результатов проведенной работы;
  • оказание помощи команде разработчиков в вопросах устранения ошибок;
  • консультации для разработчиков и заказчиков, анализ жалоб, поступающих от реальных пользователей.

Все вышеперечисленные обязанности стоит разделить на 3 основных этапа: разработка (косвенное участие), тестирование и анализ, подготовка технической отчетности и отладка. Этот вид деятельности требует вовлеченности, профессия подходит для юношей и девушек, которые склонны к кропотливой и малоподвижной работе.

Существует три уровня тестирования:

  1. Модульное (или компонентное) тестирование, когда проверяется только какая-то часть ПО: отдельная функция, класс, модуль программы. Стандартно оно проводится через вызов кода. Зачастую тестирование на этом уровне осуществляется самим разработчиком. Модульное тестирование от компонентного отличается тем, что в компонентном используют реальные объекты и драйверы, а в модульном – конкретные значения.
  2. Интеграционное тестирование – процесс исследования ПО, когда проверяются интерфейсы между компонентами или подсистемами. К интеграционному тестированию можно отнести также проверку взаимодействия двух систем в заданных точках. Например, передачу данных из одной системы в другую.
  3. Системное тестирование – проверка соответствия системы требованиям заказчика. Исследуются функциональные и нефункциональные требования к системе в целом, выявляются дефекты и непредусмотренные сценарии. Например, что будет, если в поле, в которое вводится два знака, попробовать ввести три, букву вместо цифры и т.д.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector