Профессия тестировщика что это
Кто такой тестировщик и как им стать с нуля
Разбираемся, кому подходит профессия и что нужно уметь QA-специалисту.
Тестировщики, или QA-инженеры, — это люди, которые проверяют, как работает программа или приложение. Они ищут ошибки, смотрят, чтобы программа делала именно то, что задумано, защищают продукт от хакеров, проверяют, как приложение работает на разных устройствах и в разных операционных системах.
Тем, кто не работал тестировщиком, кажется, что это очень просто: понажимал все кнопки подряд, нашёл ошибку, сказал разработчику, и всё. На самом деле тестировщик — это сложная и творческая профессия на стыке IT, UX-дизайна и продуктового менеджмента.
Что делает тестировщик
Честно говоря, тестировщикам действительно приходится тыкать на все кнопочки и ссылки, заполнять все формы и стараться совершить все возможные ошибки, которые могут прийти в голову пользователю. Без этого не обойтись.
Неполиткорректные разработчики из-за этого когда-то обидно называли тестировщиков «обезьянками-кликальщиками». Термин был так распространён, что Android назвал свой инструмент для автоматизации тестирования MonkeyRunner — в том смысле, что он как обезьянка, только быстрее.
Программист, консультант, специалист по документированию. Легко и доступно рассказывает о сложных вещах в программировании и дизайне.
Но не думайте, что тестировщики лишь хаотично бьют по клавишам в надежде найти баг, — это непродуктивно. У них есть собственные методы для определения слабых мест программы и быстрого поиска ошибок.
QA-инженеры придумывают инструкции для тестирования — тест-кейсы. На элементарном уровне это выглядит так: аналитики пишут требования — какие данные должны быть на входе, как они обрабатываются, что должно получиться в результате; тестировщики пишут пошаговые инструкции для проверки программы на соответствие этим требованиям.
Тестировщик должен скрупулёзно проверить, что будет, если совершить какое-то действие, и соответствует ли результат ожидаемому.
Но ошибки коварны — в лабораторных условиях они могут себя и не проявить, зато пользователь наткнётся на них после релиза. Поэтому QA-инженеры придумывают разные стандартные и нестандартные ситуации, чтобы проверить, как поведёт себя программа. Это творческий процесс, для поиска скрытых багов приходится проявлять смекалку и аналитические способности.
Нужно предусмотреть все возможные и невозможные варианты. Что будет, если пользователь введёт цифры вместо букв? А что, если у него компьютер глючный? А вдруг сразу много пользователей будут работать и перегрузят систему?
Работа тестировщика — это бесконечное приближение к совершенству. Невозможно проверить всё, поэтому тестировщик должен работать так, чтобы совершить минимум действий, но найти максимум ошибок.
Мануальщики и автотестеры
Облегчить работу тестировщика помогают программы для автоматического тестирования. Автоматизация сокращает время тестирования и уменьшает рутину в работе. В больших проектах без автоматизации не обойтись: там очень много элементарных повторяющихся действий, никакого времени не хватит, чтобы все их проделать.
Всех тестировщиков делят на мануальщиков и автотестеров. Первые ищут ошибки в коде вручную, вторые пишут программы, которые делают это автоматически. Но это очень условное деление. Вы не найдёте автоматизатора, который не умел бы тестировать программу вручную. А многие мануальные тестировщики не любят рутину, поэтому осваивают языки программирования и пишут автоматические тесты. Опытные специалисты могут выполнять работу и мануальщика, и автотестера.
Может ли новичок-нетехнарь стать хорошим QA-специалистом
Порог входа в тестирование довольно низкий. Чтобы стать тестировщиком, не требуется техническое образование. Главное, чтобы человеку была интересна сфера IT и он хотел развиваться в этом направлении. Об этом говорит в своём интервью на hh.ru руководитель департамента обеспечения качества ПО Veeam Software Игорь Кацев.
На сайте Software-Testing.ru опрашивали тестировщиков из России и СНГ по поводу их образования. Оказалось, что в профессию приходят и достигают в ней карьерных высот разные люди: технари, гуманитарии, экономисты, юристы, люди с двумя высшими и люди без диплома вообще.
Насколько востребована профессия тестировщика
Тестировщики нужны во всех мало-мальски серьёзных IT-проектах. Большие компании предпочитают нанимать их в штат, малые работают с фрилансерами. О том, насколько востребованы QA-специалисты, говорят данные с сайтов по поиску работы:
Мануальщиков, не понимающих кода, работодатели не любят, даже если они прекрасно составляют тесты. Но и автоматизаторы, не знающие основ тестирования, тоже никому не интересны.
Вот, например, скрин с hh.ru, где работодатель перечисляет требования к тестировщику:
Большим спросом пользуются универсалы, владеющие современными методами тестирования, знающие языки программирования, умеющие составлять и автоматизировать тесты, например:
На какую зарплату можно рассчитывать
Заработная плата тестировщика в регионах — от 55 до 60 тысяч рублей, а в Москве — 80–150 тысяч.
Новички могут рассчитывать на зарплату от 40 тысяч рублей, специалисты высокого уровня получают 220–300 тысяч.
Как развиваться тестировщику
Путей для карьерного роста много. Некоторые начинают с тестирования, чтобы потом уйти в разработку, но это не единственный вариант — можно развиваться и внутри профессии.
Младший специалист тестирует программы вручную по готовым тест-кейсам. Чтобы из «обезьянки» стать мидлом, нужно развиваться: досконально изучать проект, знать язык кода и основы автоматического тестирования.
Если джуниор хорошо себя зарекомендует, то через 2-3 года получит повышение и станет мидлом. Будет самостоятельно составлять тест-кейсы и заполнять документацию.
Ещё через год-полтора успешный мидл может претендовать на должность старшего специалиста (Senior QA Engineer). Его круг задач расширяется: синьор планирует работы по тестированию, контролирует работу джунов.
Лет через пять можно стать тимлидом — руководителем команды тестировщиков. От тимлида требуются профессиональные компетенции, навыки менеджмента, умение решать сложные задачи.
Так происходит карьерный рост специалиста по вертикали. Но на практике тестировщики часто выбирают развитие внутри профессии — например, специализации по тестированию:
Какие личные качества необходимы тестировщику
Кроме того, в тестировании очень важны личные качества специалиста. Вот список основных, без которых точно не обойтись:
Что надо уметь
От тестировщика требуется:
Кроме того, тестировщик должен владеть инструментами ручного и автоматического тестирования. Это могут быть:
Для автоматизации тестов понадобятся системы тестирования веб-приложений, программы для функционального и нагрузочного тестирования.
Ну и обязательно потребуется английский язык — для чтения и заполнения технической документации.
Где всему этому научиться
Если вас увлекла профессия тестировщика, можно самостоятельно изучить методики тестирования по книгам, мануалам и видео, а затем попытаться устроиться на работу на junior-позицию. Этот вариант рабочий, но займёт много времени.
Более простой способ стать тестировщиком — пройти обучение на онлайн-курсах. Вы освоите необходимые техники и инструменты, получите практический опыт тестирования крупного проекта. После обучения наши успешные студенты становятся специалистами middle-уровня.
Кто такой тестировщик. Обзор изнутри от Евгения Шидловского
Про профессию рассказывает Евгений Шидловский, ведущий инженер-программист (lead software test automation engineer) в EPAM и преподаватель курса «Тестирование ПО» в IT-Academy.
Продолжаем цикл материалов про ИТ-специальности. Каждую из них описывает «типичный представитель» — опытный специалист. Мы надеемся, этим материалы помогут школьникам, студентам, переквалификантам, джуниорам и сочувствующим выбрать специальность в ИТ, оценить перспективы или просто сверить часы с авторитетным коллегой. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его ещё полезней.
Про профессию рассказывает Евгений Шидловский, ведущий инженер-программист (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 лет и не написать ни одного скрипта. Язык обязательно нужен для автоматизированного тестирования. Автоматизатор — разработчик, который пишет код для тестирования другого кода.
Но если техническая часть нравится, и к ней есть склонности, то никогда не поздно засесть за программирование. Знание кода позволит автоматизировать некоторые процессы в работе даже функционального тестировщика, и его тесты станут лучше и эффективнее.
Где и как учиться на тестировщика
Расскажу на примере своей работы. Я обучаю тестировщиков в IT-Academy. Наш курс длится 9 недель или 27 занятий. За это вермя можно получить базовую подготовку, достаточную для начала работы в качестве тестировщика. Но это очень интенсивный курс.
Я всегда говорю, что правильный подход во время обучения: не спать, мало есть, ничем больше не заниматься и 9 недель штудировать материалы.
Для освоения азов профессии не нужно знать языки программирования, но новичок должен освоить обширную теорию. Далеко не всем это легко даётся. По большому счёту, за пару месяцев студенту надо пройти ужатый курс университетского обучения.
В тестировщики приходят люди из самых разных профессий, и кроме теоретических знаний в обязательный скилл-сет должны входить усидчивость и внимательность к деталям.
В моём понимании профессиональный портрет крепкого функционального тестировщика достаточно прост. Это человек с опытом в профессии от одного года, который хорошо знает теорию тестирования и умеет работать с основными техническими документами.
На рынке можно найти множество курсов: очных и дистанционных, платных и бесплатных.
Во многих крупных ИТ-компаниях есть внутренние (как правило, бесплатные) курсы по тестированию. Однозначно нужно пробовать попасть туда, особенно если хотите работать в компании-организаторе таких курсов. Минус подобного околокорпоративного обучения — оно часто бывает узконаправленным и не совсем подходят по своему содержанию средним требованиям рынка. Платные курсы, коих великое множество, чаще дают более широкую программу подготовки.
Книги и ссылки
Много ссылок на обучающие ресурсы представлены в списке на сайте IT-Academy.
Карьера и рост
Тестирование наряду с бизнес-анализом или техническим писательством — действительно одна из наименее сложных точек входа в ИТ (хотя этот путь тоже не из лёгких).
Тестировщику необязательно обладать глубокими техническим навыками, знать языки программирования или даже иметь математический склад ума. Хотя ситуация меняется и требования к кандидатам растут. Говорят, 10-15 лет назад ИТ-компании брали в тестировщики чуть ли не людей с улицы. Лет 7 назад (когда я сам приходил в профессию) новичку уже надо было крепко владеть теорией. Сегодня на собеседованиях чаще проверяют базовые технические навыки: работу с базами данных и сетями, администрирование.
Если говорить о развитии внутри профессии, то для функционального тестировщика самая близкая специализация — это автоматизатор. Когда-то я и сам прошёл такой путь. Потом некоторые автоматизаторы уходят в «чистые» разработчики или становятся супер-крутыми технарями-тестерами (есть даже такое понятие, как тест-архитектор). Порой функциональные тестировщики после дополнительного обучения переходят в параллельную ветку безопасности или нагрузочного тестирования.
Многие тестировщики, которые меньше склонны к технической работе, становятся бизнес-аналитиками. Ещё один «нетехнический» путь — это менеджерские позиции: управление проектами или командой.
За последние месяцы ситуация на рынке труда радикально изменилась из-за эпидемии коронавируса. Ещё два месяца назад спрос на начинающих тестировщиков был большой, и он сохранялся на протяжении нескольких лет.
Конечно, в условиях кризиса позиция тестировщика становится уязвимой. Без разработчика невозможно написать ПО, а без тестировщика худо-бедно можно. Мне кажется, в этой ситуации лучше всего защищены «миксы» — те самые универсалы, о которых я говорил выше. Они способны быстро перестраиваться с одних задач на другие. Если проекту станут не нужны мануальщики, то «микс» всегда может переключиться на автоматизацию процессов — и наоборот.
Тестировщик ПО: всё о профессии
Тестирование ПО — это сравнительно новая сфера в диджитале, специалисты которой занимаются испытанием и проверкой программного обеспечения на возможные ошибки и соответствие требованиям. Порог вхождения в тестирование — один из самых низких, поскольку требует от будущего тестировщика только минимального знания теории, внимательности и адекватности.
Рассказываем, чем занимаются тестировщики, сколько зарабатывают и что нужно уметь, чтобы получить первую работу.
Кто такой тестировщик программного обеспечения
Тестировщик ПО — это человек, проверяющий программное обеспечение на предмет дефектов. Обнаруженные ошибки в последующем исправляются, но уже другим специалистом.
После тестирования специалист готовит отчёт и передаёт его разработчикам для работы над ошибками.
Профессия появилась не так давно, но по мере роста рынка IT она становится всё популярнее. Любому digital-проекту нужно пройти несколько этапов проверки для того, чтобы потребитель получил готовый к использованию интерфейс.
Рассмотрим основные направления и варианты развития в профессии.
Кто такие тестировщики в ИТ: как попали в профессию, что делают и сколько зарабатывают
Что делают тестировщики ПО
Профессия тестировщика ПО неоднородна: она делится на несколько уровней. Разные специалисты занимаются разными направлениями тестирования. У каждого из них — своя сфера ответственности, задачи, обязанности и требуемые специальные знания.
О чём важно знать, чтобы стать тестировщиком: советы новичкам
QA Engineer
Это — тот самый специалист, который первым приходит в голову, когда речь идёт о тестировщиках. Он ищет баги и ошибки, составляет списки обнаруженных проблем, чтобы разработчики могли их исправить, и проверяет, соответствует ли продукт разработки требованиям. При этом QA Engineer никогда не занимается исправлением ошибок — только сообщает, что необходимо изменить и улучшить.
Тесты могут проводится как вручную, так и автоматизированно. Первый вариант более распространён: в любом серьёзном проекте обязательно занят хотя бы один специалист по ручному тестированию. Автоматизированное тестирование встречается реже.
К специалистам этих направлений предъявляют разные требования:
Test Analyst
Специалист по документации проекта решает, что и как проверять. Он в точности знает, как должен работать проект. Систематизирует информацию, чтобы простым тестерам было проще работать с проектом.
Аналитик по тестированию отвечает за следующие задачи:
Чтобы справляться со своей работой, он должен:
Test Architect
Архитектор тестов отличается системным подходом: он прорабатывает архитектуру тестирования, по которой работают прочие QA. Среди его обязанностей:
Test Architect должен обладать следующими навыками:
Test Manager
Менеджер по обеспечению качества — человек, который в первую очередь управляет процессами. Он организовывает и обеспечивает тестирование ПО, общаясь с командой и каждым её членом. Все описанные выше специалисты находятся в прямом подчинении менеджера по обеспечению качества.
Менеджер должен разбираться в процессе тестирования и обладать хотя бы частью навыков тестировщика, но его основные задачи заключаются в том, чтобы:
Навыки, которые могут требоваться в вакансиях:
QA Team Lead
Как следует из названия, это лидер. Он может принимать участие во всём, но основная его роль — полный контроль над процессами тестирования, набор новых специалистов и решение управленческих задач. Тимлиду чаще требуются мягкие, а не технические навыки, хотя он обладает всеми компетенциями прочих специалистов.
Какое будущее ожидает профессию тестировщика ПО
Профессия тестировщика ПО — одна из самых динамичных в диджитале. Технологии и инструменты тестирования стремительно развиваются, и хороший специалист, готовый следить за свежими тенденциями, никогда не останется без работы. Некоторые специалисты считают, что сфера тестирования находится на грани смены эпох: ручное тестирование со временем уйдёт на второй план, а автоматизированные технологии улучшат качество тестов и станут автономными — возможно, даже самообучающимися на основе найденных ошибок.
Специалисты, которые уже вошли в сферу, сохранят свои позиции, если адаптируются к этим изменениям. Тем же, кто только планирует сделать первые шаги, стоит начать обучение автоматизированному тестированию. Диджитал не стоит на месте.
Сколько зарабатывает тестировщик ПО
В Москве тестировщики ПО за редким исключением зарабатывают от 100 000 рублей. По России минимальная зарплата составляет около 40 000 рублей, в среднем 70 000. Встречаются вакансии с окладом больше 200 000 рублей.
Оплата зависит от нескольких факторов:
Где искать работу тестировщику
В плане трудоустройства тестировщик программного обеспечения может выбрать один из двух путей:
Постоянно сотрудничать с разработчиком и контролировать качество его проекта на всех этапах, после каждого обновления.
Приходить и уходить, проводя финальные тестирования для разных проектов.
QA может найти себя в разных нишах. В разработке игр для консолей, компьютеров и мобильных устройств тестировщик ПО просто необходим. Работы много и в каждом отдельном проекте, и в целом — индустрия быстро развивается и ищет хороших специалистов.
То же касается и mobile. По статистике Pew Research Center за 2018 год, 59% взрослого населения мира владеет смартфонами. В 2017 году в Google Play было почти 3 миллиона приложений.
Каждое приложение в процессе создания проходит этапы:
Разработка концепции, выбор функций и платформы.
Оценка бюджета.
Создание графического интерфейса.
Дизайн и юзабилити.
Подготовка тестовой версии.
QA-инженер может работать с приложением с самого первого этапа или подключаться только на четвёртом-пятом. Он готовит тест-кейсы, проводит тестирование и оценивает количество и критичность багов. Отчёт об ошибках передаётся разработчику, и дальше команда вносит необходимые правки.
Как стать тестировщиком с Нетологией
В университетах отдельной специальности, посвящённой тестированию, нет. Тестировщик ПО может отучиться на смежных специальностях: программировании, информационной безопасности, инженерии программного обеспечения, компьютерной инженерии и так далее.
Специальностей в университетах нет, зато есть тематические курсы, позволяющие освоить профессию за несколько месяцев.
На курсе Нетологии ждут тех, кто хотел бы стать специалистом по тестированию. Даже без профильного технического образования.
За шесть месяцев вы научитесь:
По окончании курса каждый студент выполняет дипломную работу, которую можно прикрепить к портфолио.
С поиском вакансий проблем не возникнет: лучшие выпускники получают возможность пройти собеседование в Альфа-Банке. Достаточно предложений и на рекрутинговых сайтах — только на hh.ru больше 6 000 размещённых объявлений.
Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.