Кто такой тестировщик и как им стать с нуля
Разбираемся, кому подходит профессия и что нужно уметь QA-специалисту.
Марина Демидова
Программист, консультант, специалист по документированию. Легко и доступно рассказывает о сложных вещах в программировании и дизайне.
Тестировщики, инженеры по тестированию, или QA-инженеры, — это люди, которые проверяют, как работает программа или приложение. Они ищут ошибки, смотрят, чтобы программа делала именно то, что задумано, защищают продукт от хакеров, проверяют, как приложение работает на разных устройствах и в разных операционных системах.
Тем, кто не работал тестировщиком, кажется, что это очень просто: понажимал все кнопки подряд, нашёл ошибку, сказал разработчику, и всё. На самом деле тестировщик — это сложная и творческая профессия на стыке IT, UX-дизайна и продуктового менеджмента.
Что делает тестировщик
Честно говоря, тестировщикам действительно приходится тыкать на все кнопочки и ссылки, заполнять все формы и стараться совершить все возможные ошибки, которые могут прийти в голову пользователю. Без этого не обойтись.
Неполиткорректные разработчики из-за этого когда-то обидно называли тестировщиков «обезьянками-кликальщиками». Термин был так распространён, что Android назвал свой инструмент для автоматизации тестирования MonkeyRunner — в том смысле, что он как обезьянка, только быстрее.
Но не думайте, что тестировщики лишь хаотично бьют по клавишам в надежде найти баг, — это непродуктивно. У них есть собственные методы для определения слабых мест программы и быстрого поиска ошибок.
QA-инженеры придумывают инструкции для тестирования — тест-кейсы. На элементарном уровне это выглядит так: аналитики пишут требования — какие данные должны быть на входе, как они обрабатываются, что должно получиться в результате; тестировщики пишут пошаговые инструкции для проверки программы на соответствие этим требованиям.
Тестировщик должен скрупулёзно проверить, что будет, если совершить какое-то действие, и соответствует ли результат ожидаемому.
Но ошибки коварны — в лабораторных условиях они могут себя и не проявить, зато пользователь наткнётся на них после релиза. Поэтому QA-инженеры придумывают разные стандартные и нестандартные ситуации, чтобы проверить, как поведёт себя программа. Это творческий процесс, для поиска скрытых багов приходится проявлять смекалку и аналитические способности.
Нужно предусмотреть все возможные и невозможные варианты. Что будет, если пользователь введёт цифры вместо букв? А что, если у него компьютер глючный? А вдруг сразу много пользователей будут работать и перегрузят систему?
Работа тестировщика — это бесконечное приближение к совершенству. Невозможно проверить всё, поэтому тестировщик должен работать так, чтобы совершить минимум действий, но найти максимум ошибок.
Мануальщики и автотестеры
Облегчить работу тестировщика помогают программы для автоматического тестирования. Автоматизация сокращает время тестирования и уменьшает рутину в работе. В больших проектах без автоматизации не обойтись: там очень много элементарных повторяющихся действий, никакого времени не хватит, чтобы все их проделать.
Всех тестировщиков делят на мануальщиков и автотестеров. Первые ищут ошибки в коде вручную, вторые пишут программы, которые делают это автоматически. Но это очень условное деление. Вы не найдёте автоматизатора, который не умел бы тестировать программу вручную. А многие мануальные тестировщики не любят рутину, поэтому осваивают языки программирования и пишут автоматические тесты. Опытные специалисты могут выполнять работу и мануальщика, и автотестера.
Может ли новичок-нетехнарь стать хорошим QA-специалистом
Порог входа в тестирование довольно низкий. Чтобы стать тестировщиком, не требуется техническое образование. Главное, чтобы человеку была интересна сфера IT и он хотел развиваться в этом направлении. Об этом говорит в своём интервью на hh.ru руководитель департамента обеспечения качества ПО Veeam Software Игорь Кацев.
На сайте Software-Testing.ru опрашивали тестировщиков из России и СНГ по поводу их образования. Оказалось, что в профессию приходят и достигают в ней карьерных высот разные люди: технари, гуманитарии, экономисты, юристы, люди с двумя высшими и люди без диплома вообще.
Насколько востребована профессия тестировщика
Тестировщики нужны во всех мало-мальски серьёзных IT-проектах. Большие компании предпочитают нанимать их в штат, малые работают с фрилансерами. О том, насколько востребованы QA-специалисты, говорят данные с сайтов по поиску работы:
- в декабре 2020 на HeadHunter было более 4 000 вакансий тестировщиков ПО;
- больше 12 000 — на Trud.com;
- на Indeed — около 1 000, и это только по России.
Мануальщиков, не понимающих кода, работодатели не любят, даже если они прекрасно составляют тесты. Но и автоматизаторы, не знающие основ тестирования, тоже никому не интересны.
Вот, например, скрин с hh.ru, где работодатель перечисляет требования к тестировщику:
Большим спросом пользуются универсалы, владеющие современными методами тестирования, знающие языки программирования, умеющие составлять и автоматизировать тесты, например:
На какую зарплату можно рассчитывать
Заработная плата тестировщика в регионах — от 55 до 60 тысяч рублей, а в Москве — 80–150 тысяч.
Новички могут рассчитывать на зарплату от 40 тысяч рублей, специалисты высокого уровня получают 220–300 тысяч.
Как развиваться тестировщику
Путей для карьерного роста много. Некоторые начинают с тестирования, чтобы потом уйти в разработку, но это не единственный вариант — можно развиваться и внутри профессии.
Младший специалист тестирует программы вручную по готовым тест-кейсам. Чтобы из «обезьянки» стать мидлом, нужно развиваться: досконально изучать проект, знать язык кода и основы автоматического тестирования.
Если джуниор хорошо себя зарекомендует, то через 2-3 года получит повышение и станет мидлом. Будет самостоятельно составлять тест-кейсы и заполнять документацию.
Ещё через год-полтора успешный мидл может претендовать на должность старшего специалиста (Senior QA Engineer). Его круг задач расширяется: синьор планирует работы по тестированию, контролирует работу джунов.
Лет через пять можно стать тимлидом — руководителем команды тестировщиков. От тимлида требуются профессиональные компетенции, навыки менеджмента, умение решать сложные задачи.
Так происходит карьерный рост специалиста по вертикали. Но на практике тестировщики часто выбирают развитие внутри профессии — например, специализации по тестированию:
- Security-тестировщики — проверяют безопасность программы;
- Performance-тестировщики — тестируют, как она ведёт себя при возрастающей нагрузке.
- Usability-тестировщики — проверяют, насколько с ней удобно работать.
Какие личные качества необходимы тестировщику
Кроме того, в тестировании очень важны личные качества специалиста. Вот список основных, без которых точно не обойтись:
- Усидчивость и настойчивость — чтобы терпеливо искать дефекты. Хороший тестировщик уверен, что программ без ошибок не бывает, бывают лишь плохо диагностированные.
- Критическое мышление, умение анализировать информацию.
- Внимание к мелочам, максимальная дотошность, чтобы постоянно интересоваться: «А что будет, если нажать сюда? А если ввести другой символ?»
- Коммуникабельность и умение работать в команде: тестировщику приходится постоянно взаимодействовать с разработчиками, дизайнерами, бизнес-аналитиками, представителями заказчика.
- Терпение и самообладание, потому что разработчики не слишком любят исправлять ошибки. Иногда тестировщику приходится не раз и не два напоминать о найденном баге. Он должен быть настойчивым, но при этом уметь сохранять хорошие отношения в команде.
- Ответственность и здоровый перфекционизм, чтобы постоянно стремиться улучшить качество разрабатываемого продукта.
- Умение чётко формулировать свои мысли, чтобы грамотно составлять планы и тест-кейсы. Если тестировщик нашёл ошибку, он должен подробно и понятно описать, при каких условиях она возникает, чтобы разработчики могли быстро её исправить.
- Стремление развиваться — осваивать новые методики тестирования, чтобы оставаться востребованным. Нужно постоянно читать техническую литературу, участвовать в конференциях и семинарах, смотреть видеокурсы.
Что надо уметь
От тестировщика требуется:
- знание основ тестирования, его видов и методов;
- умение составлять тест-кейсы, тест-планы;
- знание языка запросов SQL, умение работать с базами данных;
- знание языков программирования;
- знание систем контроля версий: Git, CVS и тому подобных.
Кроме того, тестировщик должен владеть инструментами ручного и автоматического тестирования. Это могут быть:
- системы для создания тест-кейсов и отслеживания ошибок.
- файловые менеджеры, текстовые и XML-редакторы.
- генераторы тестовых данных и другие.
Для автоматизации тестов понадобятся системы тестирования веб-приложений, программы для функционального и нагрузочного тестирования.
Ну и обязательно потребуется английский язык — для чтения и заполнения технической документации.
Где всему этому научиться
Если вас увлекла профессия тестировщика, можно самостоятельно изучить методики тестирования по книгам, мануалам и видео, а затем попытаться устроиться на работу на junior-позицию. Этот вариант рабочий, но займёт много времени.
Кто такой тестировщик и чем он занимается
Роман Орлов Эксперт в тестировании, автоматизации тестирования, разработке.
Тестировщик ПО — внимательный и чуткий гарант качества продукта, который следит за тем, чтобы пользователь получил удобное и слаженно работающее приложение. Вместе с Романом Орловым, автором модулей для курса «Автоматизация и тестирование на Python», разбираемся, зачем в этой профессии нужно уметь общаться с командой и что творческого есть в этой профессии.
Освойте профессию
«Тестировщик-автоматизатор»
Бонус в конце: ссылка на бесплатный карьерный гид.
Кто такие тестировщики
- Разработка автоматизированных тестовых сценариев, которые будут выполнять проверку функциональности программного продукта.
- Настройка и поддержка инструментов для автоматизации тестирования, таких как фреймворки для автоматизации, среды выполнения тестов и системы управления версиями тестовых скриптов.
- Запуск автоматизированных тестов, анализ результатов и создание отчетов о пройденных и проваленных тестах.
- Взаимодействие с командой разработки для исправления выявленных дефектов и улучшения процесса разработки.
- Поддержание и обновление автоматизированных тестов в соответствии с изменениями в программном продукте.
Тестировщик автоматизатор обычно обладает навыками программирования и знанием инструментов для автоматизации тестирования, таких как Selenium, Appium, JUnit, TestNG и другие.
Чем отличается QA и QC
Тестирование принято разделять на два направления: QA и QC.
Что такое QC
Специалист по QC (Quality Control, или контроль качества) проверяет, соответствует ли продукт требованиям, описанным в документах. Он тоже может выполнять задачи из тестирования, проверять требования при их создании, но при этом смотрит на результат разработки в целом.
Что такое QA
Специалист QA (Quality Assurance, или обеспечение качества) обеспечивает контроль создания продукта от идеи до эксплуатации. Он разрабатывает стандарты, подбирает инструменты, чтобы количество ошибок на всех этапах было минимальным.
По словам Романа, в России разделение встречается редко, только в компаниях, которые специализируются на тестировании.
У нас идет параллельное разделение: есть менеджеры, которых можно назвать QA, они следят за качеством процессов, а рядовые тестировщики (синьоры, мидлы, джуны) исполняют роль QC, непосредственно делают работу руками. QC более узко видит область, которую он тестирует; QA смотрит вширь, видит пробелы во всем процессе
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
Что делает тестировщик
Тестировщик ПО прорабатывает возможные сценарии, в которых может оказаться продукт. Если в поисковую строку ввели много символов или захотели купить все товары с сайта, он убеждается, что приложение работает правильно. Также он ищет противоречия в требованиях и описывает поведение, при котором ошибка воспроизводится, чтобы разработчик потом мог быстрее локализовать и исправить проблему.
Профессия / 16 месяцев
Тестировщик-автоматизатор
Лучший выбор для быстрого старта в IT
Какие виды тестирования бывают
По степени автоматизации тестирование делится на ручное, автоматизированное, полуавтоматическое.
При ручном тестировании специалист самостоятельно проверяет продукт, а при автоматизированном — пишет программы, которые позволяют автоматически тестировать ПО без помощи человека. Реже встречается полуавтоматическое тестирование, когда ручное тестирование сочетают с автоматизацией, например чтобы контролировать выполнение тестов.
Есть и другие виды тестирования.
По функциональности
- Функциональное — проверка того, как продукт выполняет свои функции. В этом случае специалист имитирует использование продукта, например, проверяет, работают ли кнопки, отправляется ли форма с данными
- Нефункциональное — тестирование свойств, которые не относятся к функциональности системы, например производительность (как работает сервис, если нагрузка на него больше обычной), usability testing (насколько удобно пользователю работать с сервисом).
По уровню покрытия
- Модульное — в этом случае проверяют каждый модуль (функцию) отдельно.
- Интеграционное — тестировщик проверяет совместную работу нескольких модулей продукта.
- Системное — тестирование программы или приложения в целом.
По функциональному покрытию продукта
- Смоук — smoke testing или «дымовое тестирование», тестирование новых версий ПО, чтобы на ранней стадии выявить критические ошибки.
- Акцептанс — как правило, проводится на завершающем этапе подготовки ПО, когда нужно убедиться, что оно готово к использованию реальными пользователями.
- Регрессионное — повторно смотрят на участки, в которые добавили новые функции. Это нужно, чтобы убедиться, что вносимые изменения не повлияли на стабильную работу продукта.
Вид тестирования | Описание |
---|---|
Функциональное тестирование | Проверка функциональности программного продукта с точки зрения требований и спецификаций. |
Нагрузочное тестирование | Исследование производительности системы при нагрузке, определение ее способности выдерживать большое количество запросов. |
Интеграционное тестирование | Проверка взаимодействия между разными компонентами или модулями программного продукта. |
Системное тестирование | Проверка всей системы в целом, включая ее взаимодействие с внешними системами и зависимостями. |
Приемочное тестирование | Проверка соответствия программного продукта требованиям заказчика и готовности к внедрению. |
Регрессионное тестирование | Повторное тестирование уже протестированных функциональностей после внесения изменений в код. |
GUI-тестирование | Проверка графического интерфейса пользователя на соответствие дизайну и удобство использования. |
Тестирование безопасности | Проверка уязвимостей и обеспечение защиты программного продукта от потенциальных угроз. |
Автоматизированное тестирование | Использование скриптов и инструментов для автоматизации выполнения тестовых сценариев. |
Тестирование совместимости | Проверка работоспособности программы на разных платформах, браузерах и устройствах. |
Тестирование восстановления | Проверка способности системы восстанавливаться после сбоев и ситуаций аварийного завершения. |
Тестирование производительности | Измерение и оптимизация производительности системы в различных условиях. |
Тестирование мобильных приложений | Проверка мобильных приложений на разных платформах, таких как iOS и Android. |
Тестирование на стабильность | Проверка стабильности и надежности системы в течение продолжительного времени. |
Таблица видов тестирования
Станьте тестировщиком – это лучший выбор для быстрого старта в IT
Где нужен тестировщик
Профессия «тестировщик» необходима везде, если проект так или иначе связан с IT. Например, человек может разрабатывать методику тестирования банковского программного обеспечения, проверять верстку и дизайн интернет-магазинов или оценивать функционал и локализацию игры.
Он критически смотрит на результат и уязвимые места, например стыки между разными частями продукта. Поэтому специалисты особенно востребованы в крупных компаниях, где у продукта много функциональных возможностей и сервисов. При этом в банковской сфере тестированию уделяют больше внимания из-за высокого уровня ответственности за безопасность данных.
В небольших проектах один тестировщик может делать все. В больших компаниях все формализовано, специалисты не думают, как получить задачи, они просто спускаются сверху.
Часто можно встретить разделение на продуктовые команды. Это не только организовывает, но и оживляет рабочий процесс.
Мне нравится разделение на команды, потому что там больше живого общения между людьми. Чтобы достучаться до разработчиков, тебе не нужно писать тонны писем на почту, не нужно ходить согласовывать задачи с миллионом людей. Ты решаешь все внутри команды буквально здесь и сейчас.
Изменения происходят быстрее. Не надо ждать релиза, чтобы посмотреть, что у тебя все плохо. Проблема возникла — мы тут же ее решили. Это положительно сказывается на продукте.
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
Пример задачи
Если нужно протестировать интерфейс интернет-магазина, то специалист:
- переходит на тестовый сервер, закрытый для клиента;
- проверяет в Jira, появились ли новые задачи (протестировать исправленные баги или проверить новые функции);
- читает в bug report необходимые для воспроизведения шаги и ожидаемый результат;
- возвращается в тестовый сервер и выполняет шаги из bug report;
- проверяет соседние функции, чтобы убедиться, что они не поломались;
- отправляет ошибку обратно к разработчику, если она осталась.
Что нужно знать и уметь
Кодить тестировщику не обязательно. Для ручного тестирования существуют уже готовые тест-кейсы, в них все описано, нужно выполнять уже продуманную последовательность действий. Программировать нужно при автоматизированном тестировании, но и это намного легче, чем разрабатывать сайты или приложения.
При этом Роман обращает внимание, что сравнивать программирование и тестирование некорректно:
У тестировщика и разработчика разные майндсеты. Конечно, разработчик более технически прокачан в программировании, но он, скорее всего, не проверит продукт так же качественно, как тестировщик, равно как и наоборот.
Тестировщик анализирует и ломает продукт, чтобы убедиться, что он готов к использованию. Разработчик может даже не думать про бизнес-процессы. Он сидит в коде и может не задумываться, как его встраивать в другие части продукта — не потому что он плохой специалист, а потому что он не знает всех тонкостей продукта и как его изменения могут аукнуться в неожиданных местах.
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
Чтобы заниматься тестированием, новичку нужно разбираться в техниках тест-дизайна, понимать жизненный цикл ПО, базово представлять, что такое веб-разработка, знать хотя бы один из самых распространенных среди язык — Java или Python — для разработки автотестов.
Для удобства коммуникации и управления проектом используют Jira (менеджер задач), для совместной работы над кодом — GitHub (веб-сервис для совместной разработки). Для веб-приложений в браузере есть уже встроенные инструменты, например Chrome DevTools в Google Chrome или Firebug в Firefox, а Postman позволяет тестировать API-запросы.
Помимо этого, для автотестирования на Python нужно знать фреймворк PyTest, инструменты Selenium для тестирования веб-приложений, которые подходят и для Java. При этом для работы с базами данных еще пригодится язык SQL.
Станьте тестировщиком – это лучший выбор для быстрого старта в IT
Cофт-скиллы
Одним из первых софт-скиллов Роман называет умение общаться с командой. «Вам придется общаться много с кем: разработчиками, аналитиками, другими тестировщиками; с менеджментом, чтобы понимать, какие бизнес-цели преследует продукт и как он устроен внутри».
Стандартная ситуация, когда разработчик думает, что тестировщик ломает его код и мешает релизу. Это не так. Нужно объяснить, что мы в одной лодке. Продукт разрабатывают для пользователя, и если я столкнусь с этой проблемой — я переживу, может, не буду им пользоваться. Когда другой увидит, какое приложение кривое, он тоже от него откажется. А от количества пользователей зависит зарплата. Может, давить на больное — грязный ход, но рабочий
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
Кроме общения с командой, нужно научиться говорить простым языком о сложном: «Уметь рассказать даже пятилетнему ребенку, как работает микросервис, — уточняет Роман. — Потому что бывают ситуации, когда нужно объяснить клиенту технические моменты и то, какие проблемы могут из-за них возникнуть».
Софт-скиллы не ограничиваются коммуникацией. Нужно также уметь представлять результаты своей работы. «Наверное, составлять презентации — это частный случай, но объяснять, что значит тот или иной отчет по тестированию и как его читать, — тоже полезный скилл», — поясняет Роман.
Хард-скиллы
Для успешной работы в должности тестировщика необходимо обладать следующими навыками и знаниями:
- Понимание основных принципов тестирования, включая его различные виды и методики.
- Умение разрабатывать тест-кейсы и тест-планы, что является ключевым элементом процесса тестирования.
- Знание языка SQL и способность работать с базами данных. Это необходимо для эффективного взаимодействия с данными и выполнения соответствующих проверок.
- Знание языков программирования, так как это облегчает автоматизацию тестирования и создание необходимых сценариев.
- Опыт работы с системами контроля версий, такими как Git, CVS и аналогичные. Это помогает в управлении изменениями и координации работы в команде.
Кроме того, тестировщик должен владеть различными инструментами как для ручного, так и для автоматического тестирования, такими как:
- Системы для создания и отслеживания тестовых случаев и ошибок, облегчающие процесс контроля качества.
- Файловые менеджеры, текстовые и XML-редакторы, которые могут понадобиться при анализе и обработке данных.
- Генераторы тестовых данных и другие инструменты, способствующие созданию разнообразных тестовых сценариев.
Для автоматизации тестирования пригодятся специализированные системы для проверки веб-приложений и программы для функционального и нагрузочного тестирования. Эти средства помогут автоматизировать процесс и ускорить его выполнение.
Важно знать английский язык, который необходим для чтения и заполнения технической документации, а также для эффективного общения с международной командой и использования англоязычных ресурсов в процессе тестирования.
Чем занимается тестировщик
В течение рабочего дня тестировщик составляет тест-кейсы: что тестировать, как и сколько. С утра команда собирается на стендап, где делится впечатлениями о прошедшем дне. Бывает, что кто-то, например, сталкивался в прошлый день с такой же сложностью и он может поделиться опытом, как ее решить. После специалист смотрит код-ревью.
Разработчики отправляют pull requests (запросы на корректировку кода), чтобы проверить, что новый код соответствует стандартам, что там нет ошибок, что все хорошо написано. IT-тестировщик публикует код и проверяет его. Составление тест-кейсов, анализ покрытия, заведение багов — в этом есть определенная монотонность, нужно быть готовым к тому, что придется посидеть над документацией. Но в работе есть и творчество, считает Роман.
Когда ты приступаешь к проектированию куска тест-кейса, у тебя есть куча разных методик, которые можно применять в самых разных вещах. Особенно интересно это проявляется с железом: возникает много сайд-эффектов с какими-нибудь особенностями ОС, жесткими дисками.
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
Этот простой тест-кейс описывает процесс регистрации нового пользователя на веб-сайте и ожидаемый результат после успешной регистрации:
Тест-кейс: Регистрация нового пользователя
ID тест-кейса: | TC001 |
Приоритет: | Высокий |
Сценарий: | Регистрация нового пользователя на сайте. |
Предусловия: | Отсутствие учетной записи с указанными данными. |
Шаги выполнения:
- Открыть сайт.
- Нажать «Регистрация».
- Ввести имя — [Имя пользователя].
- Ввести email — [Email пользователя].
- Ввести пароль — [Пароль пользователя].
- Подтвердить пароль — [Повторение пароля].
- Нажать «Зарегистрироваться».
Ожидаемый результат:
- Пользователь перенаправлен на страницу подтверждения регистрации.
- В базе данных создана новая учетная запись с указанными данными.
Посттестовые действия:
- Удалить учетную запись тестового пользователя из базы данных.
- Закрыть браузер.
Состояние тест-кейса: Пройден
Комментарии: Можно также проверить отправку письма с подтверждением на указанный email.
Как строят карьеру тестировщики
Новичкам Роман предлагает несколько вариантов: «Если вы не хотите идти на курсы, Google вам в помощь. Существуют разные road map тестировщика, которые помогут самостоятельно определить траекторию обучения. Другой рабочий, прагматичный способ — открываете вакансию, смотрите требования и идете их изучать».
После обучения можно брать заказы на фрилансе, чтобы набить руку, а потом идти к крупному работодателю с уже готовым портфолио. «К вам будет другое отношение, потому что вы принесли бизнес-ценность компании, а не просто прочитали основы и тренировались на кошках дома», — добавляет Роман.
Карьера тестировщика начинается с уровня джуниора, который ищет простые ошибки по готовым тест-планам.
Мидлом можно стать уже спустя 1–2 года работы. Такие специалисты самостоятельно могут разрабатывать документацию, подбирать инструменты и не только проверять ошибки, но и предотвращать их.
Синьор, помимо этого, может управлять командой и вырабатывать стратегии и стандарты тестирования для всех этапов создания продукта. Благодаря хорошим коммуникативным навыкам тестировщики могут вырастать в менеджеров проектов или продуктов, а также в тимлидов. Можно также уйти в разработку. «Со скиллами тестировщика это хороший путь, — говорит Роман. — Потому что ты понимаешь, как писать код так, чтобы не было типичных ошибок». Сейчас он как раз занимается разработкой: пишет сервис для автоматизации внутренней коммуникации команды.
Востребованность тестировщиков в 2023
В сентябре 2023 года на сайте hh.ru почти 4300 вакансий.
Сейчас на рынке ценятся автоматизаторы. При этом компании ожидают, что к тому, что вы умеете писать код, будут прикладываться умения ручного тестировщика: составлять тест-кейсы, анализировать проблемные участки, писать баг-репорты
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
Сколько получает тестировщик
Новичкам платят от 50 до 70 тыс. рублей в месяц. Но уже спустя год можно удвоить оклад: мидл-тестировщики получают около 100–120 тыс. рублей. Опытные синьоры зарабатывают 200–300 тыс. рублей, основываясь на данных предлагаемых зарплат hh.ru в 2023 году.
Плюсы и минусы профессии
Плюсы
- У тестировщика большие карьерные возможности. Можно не только становиться опытным специалистом в сфере, но и брать на себя другие обязанности по руководству и управлению продуктом.
- Низкий порог входа. Стать тестировщиком можно даже без технического бэкграунда, при должных усидчивости и внимательности.
- Можно работать удаленно. Тестировать удобно и на фрилансе, и в штате, и в крупной фирме, и в развивающемся стартапе.
- Спрос на тестировщиков только растет. Все больше компаний хотят делать проект качественно, чтобы сохранять своих клиентов.
Мне нравится, когда пользователь пишет хорошие отзывы. Если говорят: “Крутую штуку вы запилили, классная фича, работает здорово”, — то я чувствую, что доношу ценность до пользователя и это мотивация моего труда. Технические знания второстепенны, в первую очередь — ценность для клиента.
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
Минусы
- На стартовых позициях много однотипных задач. Чтобы не остаться в этом навсегда, можно предлагать какие-то новые идеи команде, чтобы вам доверили что-то поинтереснее.
- Иногда тестировщиков не любят за то, что они указывают на ошибки, поэтому нужно научиться общаться с разработчиками максимально корректно, чтобы никого не обижать.
Вас может остановить широта знаний, которая нужна тестировщику. Разработчик — узкоспециализированный человек. У него есть один стек, он работает с ним постоянно. Тестировщик должен обладать широкими знаниями во всем: в архитектурах приложений, устройств. Простор для обучения большой, нюансов много. Но это вопрос, который решается опытом.
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
В каких случаях становятся тестировщиками
- Когда устали от сферы, в которой долго работали, и хочется найти перспективную профессию.
- Интересуетесь ИТ, но не готовы сразу погружаться в разработку: тестировщиком можно стать и без опыта написания кода, набраться опыта, а потом переквалифицироваться в разработчика.
- Когда хочется управлять проектами — специалисты не только проверяют текущие задачи, но и участвуют в развитии и улучшении продукта от начала до запуска и после.
Неосознанно я начал тестировать еще со школы. Тогда мне было интересно придумывать ситуации, которые мою программку сломают. Мне нравилось, когда все тесты зеленые. Интересно изучать разные подходы, технологии, стеки. Я не просто так сейчас разрабатываю сервисы. Это потому, что я в свое время изучил стеки, которые мне позволили писать backend и frontend. Сейчас я это использую в работе. Мы работаем над тем, чтобы в команде все могли разрабатывать fullstack-приложение.
Роман Орлов, эксперт в тестировании, автоматизации тестирования, разработке.
Есть ли у тестировщиков профессиональный праздник
Да! 9 сентября отмечается неофициальный День тестировщика. У его появления интересная история: в 1947 году в Гарвардском университете инженеры обнаружили, что из-за мотылька остановился компьютер Марк II. Тогда они извлекли насекомое из реле и задокументировали его в журнале испытаний. К нему добавили комментарий: «Первый случай найденного жука» («First actual case of bug being found»). С тех пор ошибки называют багами, а их выявлением занимаются тестировщики (test — «испытывать»).
Полезные ссылки
- Мероприятия, например QA-фесты;
- паблик «Типичный тестировщик»;
- телеграм-канал automation-remarks.com;
- чат QA — Load & Performance, где выкладывают полезные статьи, ссылки и мероприятия;
- сабреддит про разные виды тестирования;
- SQAForums — зарубежный форум;
- еще одна Road map о профессии;
- подкаст AB Testing;
- проект Software-Testing.RU, где можно найти не только полезные статьи, но и форум.
Как стать тестировщиком
Как и для любой профессии в IT, новичку важна практика. Для начала можно ознакомиться с языками и основами профессии с помощью книг, например «Искусство тестирования программ» Гленфорда Майерса или «Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд» Лизы Криспин и Джанета Грегори.
Теоретические знания можно отработать на бесплатных курсах на образовательных онлайн-платформах, например Coursera. С их помощью удобно систематизировать полученные знания.
При этом важно нарабатывать руку на стажировках или фрилансе. В обзоре hh.ru почти все работодатели отметили, что хотят в свою команду специалистов с опытом работы в проектах.
Кроме того, можно повысить квалификацию и получить сертификат или диплом на курсах тестировщика. На них можно практиковаться с реальными заказчиками и сделать качественное портфолио с проверенными сильными кейсами.
Сколько учиться на тестировщика
Чтобы стать тестировщиком, не обязательно учиться в университете пять лет. Сегодня для получения профессии тестировщика достаточно пройти обучение на специальных курсах или попробовать самостоятельно освоить профессию. Это может быть дольше и сложнее.
Получить специальность «Специалист по ручному тестированию» можно за четыре месяца. Этого достаточно для быстрого входа в IT. Чтобы стать QA-инженером, нужно больше времени. Обучение рассчитано на девять месяцев для Python или десять месяцев для Java.
В бесплатном карьерном гиде можно узнать лайфхаки, мнения начинающих специалистов и получить скидку на обучение.
Тестировщик-автоматизатор
Как ворваться в IT, даже если вы не умеете программировать? Стать тестировщиком. Для старта достаточно базовых знаний ПК. А начать работать можно уже через 4 месяца обучения.
Чем занимается тестировщик
Тестирование ПО — это исследование и проверка приложений, сайтов, игр, программ на соответствие требованиям заказчика и нахождение в них ошибок (так называемых багов). С целью дальнейшего исправления этих ошибок программистами и улучшению качества программ.
Евгений Макаренко
зоснователь IT учебного центра SkillUP
Кто такой тестировщик
Тестировщик программного обеспечения — человек, обученный определенным подходам тестирования, которому в руки попадают новые версии программ. Он ставит себя на место пользователя и начинает играть в игру, использовать приложение или исследовать сайт на предмет ошибок и несоответствий.
Тестировщик анализирует, выполняет тестирование по сценариям и придумывает, где еще можно найти ошибки.
Если он находит такие ошибки (а находит обязательно — в этом его работа) он пишет об этом специальный отчет, по которому программисты устраняют ошибки.
Более высокая зона ответственности QA engineer — анализирует проект в целом, знает, как обеспечивать качество продукта еще на этапе его создания. Умеет предвидеть причины появления багов и заранее настраивает процесс так, чтобы они не появлялись.
Градация должности тестировщика
Все тестировщики должны знать основу и уметь тестировать вручную. Писать документацию, тестовые сценарии, генерировать идеи где и как искать баги, как улучшить качество, коммуницировать с командой — это все хороший фундамент, на котором строится уже вся карьерная лестница.
Карьера тестировщика, как и любого другого специалиста в IT, начинается с Junior позиции (450$-770$). На данном этапе у тестировщика нет много практического опыта, ему поручают самые простые задачи, на которых он набивает руку.
Если вы попадаете в компанию, учитесь, выполняете все задания, то долго сидеть на начальном уровне вы не будете.
Развиваясь дальше в компании, вы переходите на уровень Middle QA. У вас уже будет больше опыта, вы будете качественнее и быстрее выполнять свою работу. Рост от Junior до Middle (1000$-1900$) у вас может занять от 6 месяцев до 1,5 года, при условии, если вы будете проявлять себя, предлагать улучшения и активно принимать участие в проекте.
Дальше, проработав 1-3 года, можно стать Senior (2100$-3200$). На этой должности вы можете реализовывать любую техническую задачу в области тестирования на проекте. Но мелкие задачи как правило делегируются на Junior специалистов. И вы сможете больше времени уделять аналитике и более креативным задачам. Средняя зарплата на этой позиции 2500$ в месяц.
Дальше есть Team Leader (2500$-4100$) — это руководитель отдела. Им становятся после позиции Senior, но бывает, что люди у которых прошлый опыт работы связан с руководством и управлением могут стать руководителем команды и на позиции Middle. Ну и конечно Team Leader зарабатывают больше, чем Senior. До этой позиции можно дорасти за 3-5 лет.
Если у вас есть тяга к программированию, вы можете стать тестировщиком-автоматизатором и начать писать скрипты, которые сами выполняют большой объем рутинного тестирования. Спрос на автоматизаторов сейчас высок поэтому зарплата может вырасти в полтора-два раза.
Также я хотел бы поделится интересным, востребованным и финансово выгодным направлением Security testing — тестирование безопасности веб-приложений. Это все, что касается утечки секретной информации, баз данных, воровства и прочего связанного с уязвимостями ПО. Компании совсем не готовы отбиваться от хакеров, но они готовы щедро платить тестировщику за безопасность и качество продукта. В нашей практике было и такое, что за 1 найденный баг, компания заплатила 22 000 долларов.
Еще есть очень интересная должность — тестировщик игр. Он использует фундаментальные понятия тестирования, принципы и техники, но только для тестирования игр.
При этом тестировщики могут легко переходить из игровых компаний в компании занимающиеся не игровым софтом и возвращаться обратно.
Также легко тестировщики переключаются с тестирования сайтов на тестирование мобильных приложений, десктоп-версий и вообще разных видов софта.
И в отличии от программиста, тестировщик может выбирать любые проекты, построенные на кардинально разных технологиях и языках программирования. И переключаться между ними. Эта универсальность дает тестировщикам огромный выбор вакансий во всех сферах.
Ведь фундаментальные знания QA и практика тестирования ПО едины для всех типов программ.
Читайте также
- 7 мифов о профессии тестировщика
- 4 бесплатные возможности учиться и развиваться
Кто такой тестировщик: чем он занимается, сколько зарабатывает и как им стать
Тестировщик — это специалист, который занимается проверкой работоспособности десктопных программ и мобильных приложений. В его задачи входит мониторинг ошибок в различных сценариях работы ПО, когда нужно убедиться, что программа отвечает на пользовательские действия так, как было изначально спланировано. А еще обеспечение информационной безопасности, проверка работоспоспособности в разных браузерах, операционных системах и устройствах.
Со стороны такая деятельность может показаться чем-то примитивным: дескать, сидит человек, что-то там нажимает на клавиатуре и кликает мышкой, ищет ошибки и передает их разработчику. Однако качественное тестирование предполагает знание в IT, UX и UI, юзабилити, а также в продуктовой разработке. Не так-то проста эта профессия!
Присоединяйтесь к нашему Telegram-каналу!
- Теперь Вы можете читать последние новости из мира интернет-маркетинга в мессенджере Telegram на своём мобильном телефоне.
- Для этого вам необходимо подписаться на наш канал.
Чем занимается тестировщик и чем он отличается от QA-инженера
Самое интересное, что тестировщик на самом деле сидит и часами прокликивает все ссылки, жмет на кнопки, заполняет формы обратной связи и делает так, чтобы сымитировать все возможные действия пользователя — в том числе и ошибки при работе с программой.
Вот пример одного действия — тестирования, как работает форма обратной связи.
Номер
3
Заголовок
Отправка заполненной формы обратной связи с главной страницы сайта
Предисловие
Открыта главная страница сайта poops.ru. Адекватно работает почтовый ящик администратора сайта
Шаг
Ожидаемый результат
Перейти на экран страницы с искомой формо
В поле зрения пользователя появилась форма
Ввести значение в поле «Имя и фамилия»
В поле «Имя и фамилия» отображается введенное значение
Ввести значение в поле «Ваше сообщение»
В поле «Ваше сообщение» отображается введенное значение
Ввести корректный адрес электронной почты в поле «Ваш email»
В поле «Ваш email» отображается введенное значение
Ввести в поле «Captcha» то значение, которое отражается до момента обновление на новое
В поле «Captcha» отображается введенное значение
Под заполняемой формой нажать кнопку «Отправить»
Под кнопкой «Отправить» появляется текст «Ваше сообщение успешно отправлено». Все ранее заполненные поля в текущий момент очищаются
Проверить почту администратора
На электронный ящик ему приходит сообщение, которое было отправлено с главной страницы сайта через форму обратной связи с теми данными, которые вводились на шагах 2, 3 и 4
Тестировщику требуется отменная внимательность, чтобы каждый раз фиксировать соответствие результата тому действию, которое он вызывает.
Нередко тестировщика путают с другой профессией — QA-инженером, или, если переложить на русский, инженером отдела качества. В чем между ними разница? QA-инженеры отвечают за разработку в целом, за ее процессы, этапы и средства. Именно они пишут требования к тому, как должна выглядеть тестируемая программа. А тестировщики проверяют ПО на соответствие предъявляемым к ней запросам.
Надо иметь в виду, что тестирование в «тепличных» условиях не всегда способно выявить ошибки, но они могут появиться россыпью после того, как программа выйдет на свет божий. Именно из-за этого QA-инженеры сутками сидят и моделируют разнообразные — порой и совсем фантастические — сценарии поведения программного обеспечения. Разумеется, здесь надо включать в себе как логику, так и креативность, чтобы понять, до чего может додуматься обыкновенный пользователь. Да и просто техника может некорректно сработать, и это также необходимо предусмотреть.
Читайте также:
24 пункта, которые помогут провести SEO-аудит крупного сайта
Два основных типа тестировщиков
Речь про мануальщиков и автотестеров — так их называют:
- первые вручную ищут ошибки в программном коде;
- вторые создают программы для тестирования в автоматическом режиме.
Если в небольших программных решениях можно обойтись и ручной работой, то в крупных проектах без автоматизации просто нельзя.
Обратим ваше внимание на то, что все эти деления весьма размыты, потому что те же самые автоматизаторы вполне могут проверить код вручную. Тестировщики-мануальщики, чтобы ускорить свою работу, создают решения для автотестирования. Те, кто уже давно работает в этой сфере, спокойно совмещают в себе обе роли.
Hard skills тестировщика
- Знание базы тестирования, его разновидностей и методологии.
- Разработка тест-кейсов и планов тестирования.
- Знание SQL и других СУБД.
- Владение одним или несколькими языками программирования.
- Владение навыком работы с системами контроля версий типа GitHub и т. п.
- Работа с одной или несколькими системами по созданию тест-кейсов.
- Работа с файловыми менеджерами (в т. ч. с протоколом FTP) и редакторами XML.
Чтобы автоматизировать выполнение тестов, нужны системы тестирования веб-приложений (OTUS, FIRECODE), а также ПО для функционального и нагрузочного тестирования.
Всем тестировщикам, как и техническим писателям, обязательно нужно владеть английским языком, чтобы уметь досконально разбираться с текстовой частью интерфейсов, читать и дополнять техдокументацию.
Soft skills тестировщика
- Колоссальная усидчивость и упорство в поиске ошибок. Опытный тестировщик найдет ошибки там, где обычный пользователь даже и не подумает их искать.
- Логическое, критическое и системное мышление. Без них не получается корректно обрабатывать информацию.
- Умение смотреть на детали и видеть в них искомое, постоянная здоровая подозрительность.
- Развитые коммуникативные навыки и умение работать в коллективе.
- Самоконтроль в общении с разработчиками, которые очень не любят вносить исправления в свой код.
- Ответственность и стремление к совершенству в своей работе. Помня, что идеальных продуктов не существует, тестировщик все равно стремится к идеалу.
- Способность четко выражать свои мысли и объяснять собственную точку зрения в общении с разработчиками.
- Постоянное саморазвитие. Без комментариев.
Читайте также:
Что такое soft skills, как их развить и оценить текущий уровень
Должностные обязанности тестировщика
Тестировщик работает по всей цепочке создания продукта — от взаимодействия с разработчиками до подготовки технической документации. Здесь в поле его ответственности:
- разработка и планирование процессов тестирования;
- всесторонняя проверка тестируемого продукта по определенной методологии и всем возможным пользовательским сценариям;
- поиск и ликвидация ошибок программного кода;
- формирование и отправка отчетов об ошибках, которые отправляются разработчикам;
- изучение требований к ПО..
В каждом конкретном случае обязанности определяются специализацией, включающей в себя:
- Ручное, или мануальное тестирование. Является наиболее медленным и напрямую зависящим от человеческого фактора. Для его проведения нужно поставить себя на место пользователя и самому выполнить все возможные действия, совершать намеренные ошибки, чтобы увидеть, как на них отреагирует программа.
- Автотестирование. Это отслеживание ошибок при помощи специализированного ПО. Для этого нужно однозначно владеть языками программирования и разбираться в программном коде.
- Тестовый анализ. Это сбор и приведение в единообразный вид всего собранного по проекту для целостного видения картины всеми участниками тест-команды.
- Контроль качества, или QA-инженерия. Эту операцию проводит человек, который присутствует на всем цикле создания продукта и отвечает за его итоговое представление и качество.
Читайте также:
Анализ внешней оптимизации сайта с помощью сервиса Ahrefs.com
Плюсы и минусы профессии
Начнем с преимуществ:
- Движение по карьере. Начинающий тестировщик может при должном рвении стать начальником профильного отдела в компании.
- Легкий старт в профессии. Достаточно иметь очень большое желание и усидчивость, чтобы человек любого возраста, социального положений и компетенций начал свое движение в этом направлении.
- Возможность удаленной работы. Вы можете работать в штате и сидеть в офисе или же работать из дома, а то и вовсе быть фрилансером.
Перейдем к недостаткам:
- Рутина и монотонность. Начинающим тестировщикам многого не доверят: им дают легкие и похожие друг на друга мелкие поручения, которые могут быстро надоесть и кажутся слабоинтересными.
- Малый почет от коллег. Тестировщики постоянно находятся в конфликте с разработчиками. Потому что первые не жалеют то, что с таким трудом было сделано вторыми, если есть ошибки. Тут уже дело за тем, кто умеет четко и деликатно доносить свое видение , отстаивать собственную точку зрения и признавать собственные ошибки.
Читайте также:
Вебмастер: кто это такой, чем занимается и за что отвечает
Сколько зарабатывает тестировщик и QA-инженер
Напомню, почему мы рассматриваем тестировщика и QA-инженера отдельно. Если первый несет ответственность за тестирование готового программного обеспечения, то второй мониторит качество продукта на этапе его разработки и отвечает, чтобы вышедшая программа отвечала определенным требованиям.
Сейчас мы рассмотрим зарплату тестировщица и QA-инженера в Пензе и в Москве.
Тестировщик
Если брать Пензу, специалист может рассчитывать на следующую зарплату:
Теперь посмотрим,как обстоят дела в Москве:
Очень часто бывает, что один и тот же набор задач оплачивается по-разному. Конечно же, побеждает столичный регион.
QA-инженер
Начинаем с провинции. Поскольку я не нашел по Пензе вакансий с ценами, взял для примера Саратов. Итак:
Время узнать его зарплату по столичному региону:
Где учиться на тестировщика
Рассмотрим три вектора обучения профессии:
- Самостоятельное обучение. Это полностью бесплатный путь, где сами себе избираете количество материалов и интенсивность познания профессии. Тем не менее, придется прочесть немало специализированной литературы, почитать ветки профильных форумов и посмотреть ролики на YouTube. Так или иначе, базу вы получите, но надо двигаться дальше, чтобы практиковаться и набираться реального опыта. Как минимум стажером на низкую ЗП в компанию могут взять.
- Обучение в высшем учебном заведении. Стоит ли говорить, что это долгий путь? Тем не менее, это наиболее системное обучение, где помимо основного навыка вы получите кучу дополнительных и сможете вполне себе работать не только тестировщиком, но и программистом или QA-инженером. Рекомендуем посетить сайт postupi.online.ru: там вы найдете перечень вузов, в которых можно обучаться по той или иной IT-специальности.
- Прохождение онлайн-курсов. Это наиболее быстрый способ получить навык в профессии, но курсы, однако, бывают откровенным надувательством и те грамоты и сертификаты, которые они выдают по окончании, для работодателя значат чуть больше, чем ничего. Здесь мы можем посоветовать курсы от проверенных онлайн-школ:
- Курс «Инженер по тестированию» от «Яндекс.Практикум»
- Курс «Инженер по ручному тестированию» от SkillFactory
- Курс «Кто такой тестировщик и как им стать с нуля» от SkillBox
Чтобы начать учиться прямо сейчас, можно посмотреть это видео:
Где тестировщику искать заказы
Можно не глядя ткнуть пальцем в любую It-специальность и там будет не обойтись без тестировщика. Он может рассчитывать на получение работы в тех компаниях, которые:
- Разрабатывают мобильные или десктопные игры, программное обеспечения.
- Занимаются финансовой деятельностью. А это, неожиданно, любой банк страны!
- Компании — биржевые брокеры.
- Системные интеграторы, т.е. все те компании, которые занимаются автоматизацией бизнес-процессов для других компаний.
Никто не забывает и про фриланс вкупе с основной работой. Но компании, особенно в IT — источник передовых идей, а работа в них — возможность быть в гуще событий. Если работать исключительно дома — велик шанс вариться в своем котле и отставать от трендов
Заключение
Пойти тестировщиком — даже за символическую зарплату — хороший вариант укрепиться в сфере IT. Дело в том, что здесь для начала хватит здоровой любознательности и желания развиваться. Та со временем вы сможете из начинающего тестировщика стать опытным QA-инженером.
Технический аудит сайта
- Наличие дублей страниц, безопасность, корректность всех технических параметров: переадресаций, robots.txt, sitemap.xml скорость загрузки и др.
- Техническая оптимизация — один из основных этапов в продвижении.