Що під капотом в Uklon? Слухай TechPower Podcast 🎧

Кто такой тестировщик. Обзор изнутри от Евгения Шидловского

Редакция dev.ua запустила цикл материалов об ИТ-специальностях. Каждую из них подробно описывает опытный специалист.

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

Сегодня о профессии рассказывает Евгений Шидловский, ведущий инженер-программист (lead software test automation engineer) в EPAM и преподаватель курса «Тестирование ПО» в IT-Academy. 

2 комментария
Кто такой тестировщик. Обзор изнутри от Евгения Шидловского

Редакция dev.ua запустила цикл материалов об ИТ-специальностях. Каждую из них подробно описывает опытный специалист.

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

Сегодня о профессии рассказывает Евгений Шидловский, ведущий инженер-программист (lead software test automation engineer) в EPAM и преподаватель курса «Тестирование ПО» в IT-Academy. 

Содержание

Евгений Шидловский в профессии более семи лет. До того как стать тестировщиком, 10 лет работал военным врачом. В составе медицинской бригады участвовал в миссии ООН в Ливане. После курсов в IT-Academy попал на стажировку в лабораторию EPAM и через 11 дней получил оффер. В компании прошёл путь от функционального тестировщика до руководителя команды автоматизаторов.  

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

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

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

В своей работе тестировщик постоянно взаимодействует с представителями заказчика, бизнес-аналитиками, разработчиками и дизайнерами.

Вся команда нацелена на создание «правильного» продукта, но тестировщик — человек, которого больше всего интересует именно качество продукта.

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

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

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

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

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

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

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

Кто такие QA и QC 

Один из самых частых вопросов на собеседованиях тестировщиков: чем отличаются QA от QC? Вопрос философский, и мне приходилось слышать очень разные ответы на него. 

Традиционно под QA (Quality Assurance) понимается нечто глобальное: обеспечение всего процесса разработки, начиная от выбора методологии и специалистов и заканчивая общим контролем качества.  

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

Встречается ещё третье понятие — Testing, или процесс тестирования продукта. 

В каком-то смысле QA, QC и Testing — всего лишь разные этапы работы, которые выполняет тестировщик. В некоторых больших компаниях есть QA-отделы, где специалисты не занимаются функциональным тестированием вообще: они хорошо знают стандарты заказчика и следят за тем, чтобы вся команда работала по этим стандартам. 

В вакансиях на рынке труда функционального (мануального) тестировщика могут называть и QA, и tester, и test engineer. Это разные наименования для одной и той же профессии. 

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

Также существует такое понятие, как TestOps (по аналогии с DevOps). Иногда употребляются термины DevTestOps и DevTestSecOps. Это специалист, который помимо тестирования ещё занимается поддержкой всей инфраструктуры: разворачивает и обслуживает серверы, автоматизирует тесты и процесс сборки приложения.  

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

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

— Изучить спецификацию продукта (программы). 

— Разработать методы для проверки продукта. 

— Провести проверку продукта.

— Сделать выводы по итогам проверки. 

— Перечислить найденные уязвимости и недочеты продукта в техническом документе (чаще всего — на английском языке). 

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

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

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

Тестировщик и код

Среднестатистическому тестировщику язык программирования в принципе не нужен. Можно успешно заниматься функциональным тестированием 10 лет и не написать ни одного скрипта. Язык обязательно нужен для автоматизированного тестирования. Автоматизатор — разработчик, который пишет код для тестирования другого кода. 

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

Курсы по тестированию на Coursera, стоимость от $39 в месяц.

Где и как обучиться профессии тестировщика

Расскажу на примере своей работы. Я обучаю тестировщиков в IT-Academy. Наш курс длится 9 недель или 27 занятий. За это время можно получить базовую подготовку, достаточную для начала работы в качестве тестировщика. Но это очень интенсивный курс.

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

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

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

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

На рынке можно найти множество курсов — очных и дистанционных, платных и бесплатных. 

Во многих крупных IТ-компаниях есть внутренние (как правило, бесплатные) курсы по тестированию. Однозначно нужно пробовать попасть туда, особенно если хотите работать в компании-организаторе таких курсов. Минус подобного околокорпоративного обучения —  оно часто бывает узконаправленным и не совсем подходит по своему содержанию средним требованиям рынка. Платные курсы, коих великое множество, чаще дают более широкую программу подготовки.

Книги и ссылки 

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

Святослав Куликов. «Тестирование программного обеспечения. Базовый курс».  Объёмный труд, где собрано много разнообразного материала. Будет очень полезен в качестве справочника.

Lee Copeland. A Practitioner’s Guide to Software Test Design. Одна из лучших книг по тестированию. Хороша как самоучитель.

Software Testing Udacity — попробовать бесплатный онлайн-курс.

Testing Challenges — «пощупать руками» интересные задачки для тестирования.  

Много ссылок на обучающие ресурсы представлено в списке на сайте IT-Academy.

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

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

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

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

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

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

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

Курсы, чтобы стать тестировщиком

Специализация Software Testing and Automation

Курс-симулятор Тестировщик программного обеспечения

Автоматизация тестирования на JavaScript

Нагрузочное тестирование

QA Lead

Кто такой Project Manager в геймдеве. Обзор изнутри Ольги Савельевой
Кто такой Project Manager в геймдеве. Обзор изнутри Ольги Савельевой
По теме
Кто такой Project Manager в геймдеве. Обзор изнутри Ольги Савельевой
Кто такой Audio Engineer в геймдеве. Обзор изнутри от Виталия Кезика
Кто такой Audio Engineer в геймдеве. Обзор изнутри от Виталия Кезика
По теме
Кто такой Audio Engineer в геймдеве. Обзор изнутри от Виталия Кезика
Кто такой 3D-художник в геймдеве. Обзор изнутри Елены Барабанщиковой
Кто такой 3D-художник в геймдеве. Обзор изнутри Елены Барабанщиковой
По теме
Кто такой 3D-художник в геймдеве. Обзор изнутри Елены Барабанщиковой
Новий випуск «З фронту в IT» про айтівців, які повертаються до цивільного життя після ЗСУ.

Історія світчера з Тернопільщини, який змінив агро на IT, а IT на ЗСУ

УЧАСТЬ В АЗАРТНИХ ІГРАХ МОЖЕ ВИКЛИКАТИ ІГРОВУ ЗАЛЕЖНІСТЬ. ДОТРИМУЙТЕСЯ ПРАВИЛ (ПРИНЦИПІВ) ВІДПОВІДАЛЬНОЇ ГРИ.
Ліцензія видана ТОВ "СЛОТС Ю.ЕЙ." на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 15.09.23 (рішення КРАІЛ №245 від 31.08.2023); ТОВ "СЛОТС Ю.ЕЙ." – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 26.04.2021 (рішення КРАІЛ №150 від 12.04.2021); ТОВ «СПЕЙСИКС» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 08.02.2021 (рішення КРАІЛ №34 від 02.02.2021); ТОВ «ГЕЙМДЕВ» – на провадження діяльності з організації та проведення азартних ігор казино у мережі Інтернет від 16.02.2021 (рішення № 47 від 10.02.2021).
Читайте также
«Как только я услышал о тестировании, внутри что-то ёкнуло». Войти в IT после первого собеседования возможно: история QA-инженера, которая это доказывает
«Как только я услышал о тестировании, внутри что-то ёкнуло». Войти в IT после первого собеседования возможно: история QA-инженера, которая это доказывает
«Как только я услышал о тестировании, внутри что-то ёкнуло». Войти в IT после первого собеседования возможно: история QA-инженера, которая это доказывает
30-летний Руслан Долиненко — молодой айтишник, гордый тем, что нашел работу с первого раза. Он получил оффер после первого собеседования, потому что, как считает сам парень, тщательно к нему подготовился. Как войти в IT, минуя десятки отзывов на вакансии и в чем секрет Руслана — в материале.
«Укрзализниця» завершает разработку собственного приложения и ищет 1000 тестировщиков сервиса. Условия стать тестером достаточно просты
«Укрзализниця» завершает разработку собственного приложения и ищет 1000 тестировщиков сервиса. Условия стать тестером достаточно просты
«Укрзализниця» завершает разработку собственного приложения и ищет 1000 тестировщиков сервиса. Условия стать тестером достаточно просты
CEO Terrasoft: «Мы полностью и навсегда уходим с рынков рф и Беларуси»
CEO Terrasoft: «Мы полностью и навсегда уходим с рынков рф и Беларуси»
CEO Terrasoft: «Мы полностью и навсегда уходим с рынков рф и Беларуси»
«Выплачивали зарплату работникам под звуки выстрелов российских войск». Чем сегодня живет город Конотоп и его IT
«Выплачивали зарплату работникам под звуки выстрелов российских войск». Чем сегодня живет город Конотоп и его IT
«Выплачивали зарплату работникам под звуки выстрелов российских войск». Чем сегодня живет город Конотоп и его IT
Город Конотоп навсегда вошел в историю войны с Россией благодаря видео, где местные женщины рассказали оккупанту, что у него будут проблемы с потенцией. Это было в первые дни вторжения в Украину. Чем сегодня живет районный центр Сумщины, нам рассказал Дмитрий Гланц-CEO местной IT–компании Grodas. 

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
0

на самом деле даже в тестировании есьт масса ответвлений что больше похоже на специализацию, и пройти курс по тестированию ПО и мобильных приложений я свой путь начал в академии https://lider.by/ и хотя я еще только учусь но уже понял и осознад главные критерии отбора на такие вакансии как тестировщик, и выбрал для себя конкретный путь и дальнейшее накопление опыта и успешных кейсов благодаря данному курсу

0

дякую за статтю