- Кто такой тестировщик, QC Engineer, QA Engineer?
- Направления QA
- Стек технологий для Manual QA инженера
- Английский язык и Soft Skills (гибкие навыки)
- Стек технологий для Automation QA
- Как стать тестировщиком в 2023 году? Что нужно знать тестировщику?
- Карьера QA специалиста
- Зарплаты QA
- Итоги
Всем привет!
Вы знаете, как создаются программы и информационные сервисы, которыми все мы пользуемся? Какие специалисты нужны, чтобы появился новый Фейсбук, Вайбер, Инстаграм, новый Windows или какая-то крутая видеоигра?
За разработкой программного обеспечения (ПО) стои́т целая команда профессионалов — и далеко не все из них умеют программировать.
Типичная команда будет включать в себя таких специалистов, как:
- бизнес-аналитик — проводит анализ бизнес-проблемы, формирует требования к разрабатываемому продукту;
- PM (Project Manager) — управляет всеми, кто вовлечен в работу над проектом;
- тимлид (Team Leader) — управляет командой разработчиков;
- UX/UI дизайнер — создает приятный дизайн приложения (UI) с хорошим пользовательским опытом (UX);
- разработчики/программисты — занимаются написанием кода, являются ядром команды;
- QA специалист — тестирует приложение на каждом этапе его разработки для обеспечения высокого качества продукта.
Если ПО не предназначено для использования только внутри компании, а нацелено на внешнюю аудиторию, то еще добавляется маркетинг-команда, которая работает с целевыми потребителями: исследует рынок, определяет клиентуру, привлекает ее внимание, подогревает интерес к продукту и многое другое.
Таким образом, в IT найдется хорошая работа даже для тех, кто не любит программировать. И сегодня речь пойдет о таком специалисте, как QA. Чуть выше вы уже узнали, что это, фактически, тестировщик, следящий за качеством ПО на каждом этапе его разработки. В чём специфика данной профессии, чем занимаются эти специалисты, насколько легко овладеть специальностью тестировщик QA и какие технологии должен знать потенциальный претендент на данную должность — это мы и раскроем в нашей статье. Устраивайтесь поудобней, мы начинаем!
Кто такой тестировщик, QC Engineer, QA Engineer
Очень часто термин “тестировщик” применяется ко всем специалистам, которые так или иначе связаны с проверкой ПО на качество. Тем не менее, в данной сфере существует формальное разделение профессий на три ветви: Tester, QC и QA. Давайте выясним, что означает каждая из них.
Тестировщик — специалист, который фокусируется на проведении непосредственных тестов над уже созданным ПО (составление тест-кейсов и баг-репортов, локализация дефектов и другое). Специалист проверяет, все ли работает согласно заявленным требованиям, производит сбор статистических данных и фиксирует их в соответствующих документах.
Тестировщик внимательно пользуется разработанным ПО, воспроизводит все возможные действия пользователя, работает с приложением на различных операционных системах, в различных браузерах (если это веб-приложение), на различных мобильных платформах (если это мобильное приложение); помимо ошибок он ищет еще и уязвимости.
Что-то вроде техосмотра транспортного средства. Отчеты об ошибках затем направляются разработчикам, которые ответственны за дальнейшее исправление багов.
QC (Quality Control) Engineer — специалист, который обеспечивает не только соответствие разрабатываемого ПО заявленным требованиям, но и его соответствие заранее определенным критериям качества продукта в целом. Также, он ответственен за определение готовности продукта к выпуску в продакшн. Цель Quality Control специалиста — формирование объективной картины состояния качества ПО на различных этапах разработки. Можно сказать, что специальность тестировщика является подмножеством специальности QC Engineer.
QA (Quality Assurance) Engineer — специалист, который обеспечивает контроль качества разрабатываемого ПО на всех этапах его планирования, проектирования и создания. Работа на этой должности является проактивной и носит превентивный характер, поскольку QA инженер уделяет внимание качеству продукта еще до того, как тот будет создан. Здесь на первый план выходят комплексы мероприятий, процессы и средства обеспечения качества ПО на каждом витке разработки. Непосредственно тестирование системы занимает уже второе место. Главное задание QA — выстроить систему так, чтобы она имела как можно меньше зон, где можно допустить ошибку, соответствовала всем показателям качества, а также была легко тестируема.
Специальность QC Engineer является подмножеством специальности QA Engineer.
Чтобы вас не путать, в данной статье мы приравняем понятия “тестировщик” и “QA инженер” в пользу второго. Будем расписывать стек технологий и путь становления именно QA специалиста. Таким образом мы сможем затронуть максимальное количество информации касательно направления тестирования.
Направления QA
Начнем с того, что в QA есть два основных направления — Manual и Automation. Специалисты каждого из них называются мануальный (ручной) тестировщик и тестировщик-автоматизатор, соответственно. Их разница в том, что первый следит за качеством продукта и проводит все тесты вручную, а второй автоматизирует тестирование путем написания скриптов. Automation QA использует определенный язык программирования и фреймворк для того, чтобы создавать программы, которые будут производить тестирование продукта вместо самого специалиста. Такой подход позволяет сократить время на тесты.
В обязанности мануального QA инженера входят:
- анализ и выяснение требований у заказчика либо бизнес-аналитиков;
- планирование процесса тестирования;
- написание сценариев тестирования;
- непосредственно тестирование программного продукта;
- определение проблемных мест, их документирование;
- использование систем отслеживания багов (баг-трекинги);
- обсуждение исправлений с разработчиками, активное взаимодействие с ними;
- отслеживание жизненного цикла ошибок;
- повторный тест исправленных дефектов;
- анализ тестирования;
- планирование идей по оптимизации качества программного обеспечения;
- ведение тестовой документации;
- проверка требований к программному обеспечению;
- оценка рисков;
- участие в стенд-апах и других митингах.
Тем временем на плечи Automation QA помимо прочего возлагаются такие обязанности, как:
- написание новых автотестов на основе разработанных вручную;
- обновление поломанных/устаревших автотестов;
- прогон автотестов;
- анализ результатов тестовых прогонов;
- настройка тестового окружения;
- ревью кода;
- оформление автотестовой документации.
На самом деле и мануальное, и автоматизированное направление имеют много общих требований, поскольку их фундамент одинаков. Давайте начнем с рассмотрения Manual QA, а затем плавно дополним его инструментами Automation QA.
Что должен знать тестировщик в 2023 году – стек технологий Manual QA Engineer
Общая теория по IT
Если лет 15 назад в тестировщики брали чуть ли не “с улицы”, то сейчас к претендентам с каждым годом выдвигают все больше и больше требований. Так что потенциальный претендент на должность прежде всего обязан хорошо понимать IT индустрию.
Итак, в этот пункт предусматривает такие темы, как:
- веб-технологии (HTTP, HTTPS, DOM, JSON, cookie, session), клиент-серверная архитектура;
- базы данных;
- компьютерные сети;
- операционные системы (обратить особое внимание на Unix);
- мелкие подтемы, как, например, системы счисления и т. д.
Теория тестирования и тестовая документация
Как стать тестировщиком с нуля? Безусловно, любой QA инженер в первую очередь должен знать, с чем он вообще имеет дело. Если на заре разработки тестирование было чем-то интуитивным, то сегодня оно обрело четкие формы, обзавелось своими методиками, инструментарием и специализированным программным обеспечением.
Изучив теорию тестирования, вы сможете ориентироваться в данном направлении, понимать принципы, типы и методы тестирования, тест-дизайна, этапы жизненного цикла ПО; узнаете, как правильно составлять тестовую документацию (тест кейс, баг-репорт, чек-лист и т. д.) и многое другое.
Основные темы:
- Тестирование, основные стандарты ISTQB.
- SDLC и STLC. Методологии разработки ПО.
- Требования. Анализ и составление требований.
- Тестовая документация.
- Уровни, типы, методы и виды тестирования.
- Техники тестирования. Тест-дизайн
- Баги и баг-трекинговые системы.
- Системы контроля тестов.
Основы программирования + HTML/CSS
Основы программирования мануальному QA нужны не для того, чтобы заниматься непосредственным кодингом, а чтобы уметь читать код разработчика и понимать, что в нем происходит. Здесь важен не сам язык программирования, а банальное понимание того, как создаются программы, что такое переменные, функции, методы, классы, какие есть методологии программирования, как они реализуются и т. д. Для изучения основ отлично подойдет C# либо Java. Возможно, сюда стоило бы включить и Python, но он, пожалуй, слишком легкий для изучения и при работе с другими языками вам придется что-то доучивать. C# с Java же более фундаментальны и зная основы одного из них, вы легко сможете разбираться с кодом любых других популярных языков.
Фактически, владение основами программирования необходимо для чтения чужого кода и выявления возможных багов прямо на месте.
Отдельно выделяем языки верстки HTML и CSS. Если вы будете работать с веб-приложениями (а как показывает практика — проектов много — очередь и до тестирования “веба” рано или поздно дойдет), то вам будет полезно знать, из чего состоит FrontEnd часть веб-приложения. Также, вы будете работать с инструментами разработчика в браузере и там тоже надо будет взаимодействовать с HTML/CSS кодом.
Правила оформления документации. Модель CMMI
Если вспоминать три специальности, о которых мы говорили вначале (QA, QC и тестировщик), то этот пункт для тестировщика как такового является ненужным. Но вот для QA инженера он является неотъемлемым. В процессе проектирования ПО, слежения за его качеством необходимо производить соответствующее документирование. Чтобы делать это правильно, надо знать стандарты оформления подобных документов. Важно уделить внимание серии ISO 9000.
CMM / CMMI — это набор методологий (моделей) совершенствования процессов разработки ПО. Знание CMMI позволяет QA инженеру грамотно оценивать проект и планировать необходимые процессы по обеспечению качества.
SQL
SQL — язык запросов, который используется для взаимодействия с данными в реляционных базах данных. Тестировщику он пригодится для того, чтобы выполнять бэкенд-тестирование для проверки тестовых данных, вставки, удаления, обновления их значений в БД.
Сказать точный уровень владения SQL нелегко, поскольку все зависит от сложности проекта. На каком-то сгодится базовый уровень SQL, а где-то необходимо быть весьма и весьма подкованным. А если тестирование не связано с бэкендом, то знания языка запросов вовсе не пригодятся.
В общем и целом, тестировщик QA должен обладать следующими знаниями и умениями при работе с БД и SQL:
- умение распознавать различные типы БД;
- способность реализовать подключение к БД, используя разные клиенты SQL-соединений;
- понимание таблиц БД, ключей, индексов, типов отношений между таблицами;
- умение создавать простые запросы;
- понимание и умение разбирать по полочкам сложные запросы.
Веб-сервисы
Веб-служба (или веб-сервис) — это идентифицируемая веб-адресом программная система со стандартизированными интерфейсами. Данный термин описывает стандартизированный способ интеграции веб-приложений с использованием различных протоколов, например: XML, TCP/IP, SOAP, WSDL и UDDI. Веб-служба представляет собой способ связи между двумя электронными устройствами по сети, такими веб-сервисами можно пользоваться независимо от компьютера, браузера или места доступа в Интернет (поиск, веб-почта, хранение документов, файлов, закладок и т. д.).
К преимуществам веб-сервисов можно отнести:
- возможность создания необходимых кондиций для взаимосвязи программных компонентов, которые не будут зависеть от используемых платформ;
- веб-сервисы используют открытые стандартные протоколы; благодаря XML обеспечивается легкость в формировании и настройки веб-сервисов;
- использование HTTP гарантирует успешную взаимосвязь систем через межсетевой доступ.
Веб-сервисы должны знать разработчики для корректной реализации ПО, а тестировщикам они нужны, чтобы понимать, как работает та или иная веб-система.
Jira
Система баг-трекинга, которая помогает выявлять, регистрировать и контролировать баги, найденные в разрабатываемом ПО, а также отслеживать процесс устранения этих ошибок. Является командным инструментом, что упрощает процесс взаимодействия разработчиков и тестировщиков, а также различную баг-трекинговую деятельность в принципе. Помимо прямого назначения помогает команде эффективнее работать, расставлять приоритеты и выбирать дальнейшие шаги оптимизации ПО.
Postman
Популярный и в то же время мощный набор инструментов для тестирования API (в среде разработчиков произносится как “а́пи”). API — это прикладной программный интерфейс; он указывает, каким образом следует обращаться к программе и какие ответы она обязана предоставлять пользователям.
Postman относительно простой в использовании, имеет богатый интуитивный интерфейс. Он проверяет запросы с клиентской стороны на серверную, а также отклик со стороны бэкенда. Таким образом можно убедится, что на стороне сервера все работает, даже если фронтенд сторона еще не готова.
API можно тестировать и при помощи множества других программных средств (например, JMeter), однако, на сегодняшний день именно Postman является наиболее компромиссным инструментом тестирования запросов, сочетающим в себе простоту и высокую эффективность.
Git
Git — это популярная система контроля версий, позволяющая вести историю разработки проекта с возможностью доступа к каждой сохраненной версии. Одним из самых известных антагонистов Git является SVN — централизованная система, в отличие от децентрализованной Git.
Также, в работе вам пригодится и сервис онлайн-хостинга проектов, использующий систему контроля версий. В данном случае это GitHub. В паре с Git он позволяет разработчикам сохранять свой код онлайн, а затем взаимодействовать с другими разработчиками в разных проектах.
Git нужен скорее для Automation QA, поскольку позволяет в удобном виде хранить код тестов с возможностью вернуться к рабочей версии тестов. Также, тестировщик сможет:
- иметь доступ к коду разработчиков;
- организовать список тестов и отслеживать его выполнение;
- тестировать код с разных устройств (при этом сам код лежит на удаленном репозитории Git);
- хранить различные настройки для приложения;
- выполнять другие взаимодействия.
Методологии разработки Agile/Scrum
Методологии разработки — это своеобразные путеводители по процессам эффективной разработки ПО. Их применение помогает организовать максимально продуктивную работу всех участников, которые напрямую или косвенно задействованы в разработке продукта в соответствии с выбранной стратегией.
Agile — семейство гибких методологий разработки программного обеспечения, которое позволяет выпускать продукт небольшими частями, постоянно его дополняя и совершенствуя. При таком подходе технические и бизнес-подразделения работают совместно, ПО постоянно обновляется, обеспечивается быстрое принятие решений и выявление неправильных подходов, приложение проще обслуживать, а качество кода готового продукта более высокое. Agile имеет собственный манифест, который подробно описывает основные принципы, на которых строится гибкая разработка.
Scrum является одной из популярнейших реализаций agile-подхода. Его используют многие команды, поэтому знание особенностей работы со scrum-моделью для QA инженера является не менее важным, чем для любого разработчика.
Английский язык
Знание английского языка — естественное требование для многих профессий в IT, поскольку большинство новых сведений о технологиях, курсы, учебные и справочные материалы появляются в первую очередь на английском. Для работы в команде обычно знаний языка на уровне чтения технической документации, комментирования кода и составления баг-репортов вполне достаточно, однако, если возникнет необходимость вести переговоры и/или переписку с иностранным заказчиком, либо же вы будете в интернациональном коллективе, ваш уровень должен быть выше (тут уже очень желательно иметь уровень не ниже Upper Intermediate).
Видео курсы по схожей тематике:
Soft Skills
Так называемые “гибкие (мягкие) навыки” – это внутренние качества специалиста, которые помогают ему выполнять работу максимально качественно и без лишнего напряжения. К примеру, для следователя-криминалиста прекрасными софт скиллами будут объективность, внимательность, умение чувствовать своего собеседника, прекрасное дедуктивное мышление и неугасающее стремление докапываться до правды. Для работника на ресепшене критически важными мягкими навыками есть коммуникабельность, дисциплинированность, пунктуальность, обходительность, вежливость и другие.
Какие soft skills пригодятся тестировщику? Специалисту, который следит за качеством ПО и проверяет его на прочность, следует обладать следующими навыками:
- внимательность, умение концентрироваться на задаче;
- инициативность;
- усидчивость;
- организованность, проактивность, нацеленность на результат;
- стрессоустойчивость;
- эмпатия к пользователю и вместе с тем понимание бизнес-процессов (умение “переобуваться”);
- адаптивность;
- коммуникабельность;
- умение работать в команде;
- обладание логическим, системным, упорядоченным мышлением;
- умение правильно осуществлять декомпозицию (по отношению к системам, задачам, проблемам и т. д.);
- наличие шестого чувства + немного изобретательности;
- стремление учиться и умение передавать свои знания другим;
Пользовательский опыт (не обязательно, но очень удобно)
Было бы неплохо, если б перед тестированием приложения вы уже сталкивались с чем-то подобным в обычной жизни. Если работать предстоит в сфере игростроения, то ваш огромный геймерский опыт будет как нельзя кстати. Работа с проектами из веб-индустрии? Опыт сёрфинга в интернете (соцсети, интернет-магазины, онлайн-сервисы) облегчит понимание логики пользователей, их ожиданий и точек интереса.
Automation QA
Автоматизированный QA технически является надмножеством позиции Manual QA — он должен знать все то же самое, что и мануальный коллега плюс несколько новых инструментов. Эти инструменты мы сейчас и перечислим.
Язык программирования
Если в разделе о Manual QA мы говорили об основах программирования, то автоматизатору понадобится именно уверенное владение конкретным языком. Обычно выбирают среди Java и Python, но это не предел. В тестировании можно применять и такие языки, как JavaScript, C#, Ruby, PHP, SmashTest и другие.
При помощи выбранного языка вы будете писать автотесты, которые будут выполнять тестирование за человека. Программа работает — тестировщик анализирует результаты. Это упрощает работу, повышает скорость проведения тестов и снимает часть задач с человека.
Фреймворк для тестирования
Для создания автотестов зачастую используется специальные программное обеспечение — фреймворки. Одним из популярнейших считается Selenium. Он мультиплатформен, ориентирован на работу с веб-приложениями и поддерживает множество популярных языков программирования. Более того, Selenium является основной технологией для множества других инструментов автоматизации браузеров, API и фреймворков.
Инструменты нагрузочного тестирования
Данный пункт является необязательным, но при этом очень желателен. Нагрузочное тестирование — это вид тестирования, при котором производится тест производительности целевого ПО при различных нагрузках от действий определенного количества пользователей. Наиболее известными инструментами проведения нагрузочного тестирования являются Gatling и JMeter.
Как стать тестировщиком в 2023 году? Что нужно знать тестировщику?
Превращаем список приведенных выше технологий в туториал. Начинаем с пути Manual QA.
Вы можете учиться самостоятельно — по книгам или видео курсам, а можете записаться на курсы тестирования для максимально эффективного обучения. В любом случае вначале вам нужно очень хорошо изучить теорию тестирования и базовые темы в IT: веб-технологии, API, клиент-серверная архитектура, базы данных, компьютерные сети, операционные системы (обратить особое внимание на Unix), мелкие подтемы, как, например, системы счисления и т. д. Конкретные темы по тестированию мы расписали в одном из первых наших разделов. Затем вам следует освоить написание тестовой документации (для чистого тестировщика), а QA понадобится еще и знание стандартов по обеспечению качественного ПО (ISO 9000) для дополнительного документирования, модель CMMI.
Чтобы беспроблемно читать код разработчиков и понимать, что в нем происходит, следует владеть основами программирования. Для этого лучше выбрать либо Java, либо C# — документация по данным языкам очень информативна, есть большое комьюнити. Более того, множество программ обучения по данным языкам располагает прекрасным бэкграундом (история программирования, как работают вычислительные системы и как они обрабатывают информацию), который закладывает прочный фундамент программирования. Также, стоит освоить языки верстки HTML и CSS — они очень простые и используются в абсолютно всех веб-приложениях
Для работы с обеспечением, которое использует базы данных, необходимо изучить основы SQL.
Далее приступаем к изучению веб-сервисов, а после — к популярной баг-трекинговой системе Jira и мощному набору инструментов для тестирования API — Postman.
Создание программного продукта обычно ведется в команде, потому знание методологии командной разработки является не менее важным, чем предыдущие технологии. Уделите время изучению принципов Agile/Scrum — с их помощью эффективно разрабатывается современное программное обеспечение. Методология гибкой разработки очень важна для тестировщика, поскольку он участвует в производственном цикле так же, как и разработчики.
Также, не забудьте подтянуть ваш английский как минимум до уровня Intermediate. Он нужен для комфортного поиска нужной информации в интернете, чтения технической документации, работы с иностранными коллегами, а также — для возможного взаимодействия с заказчиком. Все же английский в IT еще никому не мешал и более того — давал новые карьерные возможности.
Чтобы ваша работа приносила вам удовольствие и вы себя не заставляли работать, вам следует обладать следующими софт скиллами:
- внимательность, умение концентрироваться на задаче;
- инициативность;
- усидчивость;
- организованность, проактивность, нацеленность на результат;
- стрессоустойчивость;
- эмпатия к пользователю и вместе с тем понимание бизнес-процессов (умение “переобуваться”);
- коммуникабельность;
- другие качества, которые мы указали в соответствующем разделе.
С этими навыками и знаниями вы сможете приступать к практике. Изучите Git, начните работать над каким-либо проектом: покройте его тестами, напишите тест-документацию. Опубликуйте наработки на GitHub — это даст вам ценный опыт работы с распределенной системой управления версиями и позволит проверить свои навыки в решении реальной задачи. Несколько хороших проектов, и полноценное портфолио готово, а с ним вы можете уверенно подавать резюме на вакансию мануального QA инженера.
Если вас интересует автоматизированное тестирование, дополнительно изучите Python, либо Java + фреймворк для тестирования (Selenium, PyTest, Robot Framework или другой). Это позволит вам создавать скрипты, которые будут автоматически выполнять тестирование, избавляя вас от лишней рутины.
Очень желательно иметь опыт работы с инструментами нагрузочного тестирования. Это может быть JMeter, Gatling или любой другой популярный аналог. Такой опыт даст вам дополнительный вес в глазах работодателя, что сыграет вам на руку, поскольку конкуренция за место тестировщика весьма высока.
Огромным преимуществом будет наличие наставника, который мог бы следить за вашим прогрессом, отвечать на возникающие вопросы, давать полезные советы и направлять в нужное русло – тогда у вас будет чёткий план того, как стать тестировщиком с нуля.
Карьера QA специалиста
Какие перспективы карьерного развития у тестировщика после получения первой работы?
Путь QA очень похож на самурайский путь разработчика: Intern/Trainee, Junior, Middle, Senior, Team/Tech Lead. Наиболее корректный путь карьерного роста предусматривает следующее:
- Работа над hard skills. Углубление знаний и навыков в пределах технологического стека, который вы используете, а также расширение этого стека. Весьма перспективным считается именно автоматизированное тестирование, поэтому на короткой дистанции наибольший успех ожидает тех тестеров, которые будут двигаться в сторону программирования.
- Прокачка soft skills. Очень важно не прекращать работу и над внутренним стержнем. Сюда входит множество моментов: умение отстаивать свои позиции, чётко аргументировать своё мнение, быть приятным коммуникатором, внимательно и ответственно относиться к своей работе, занимать проактивную, инициативную позицию в команде, работать над повышением своей продуктивности и т. д.
- Внерабочие активности. Сюда можно отнести чтение технической литературы и актуальной информации по вашей специализации, посещение тренингов, прохождение курсов, применение новых знаний на практике, например в создании pet-проектов или непосредственно на работе.
Также важно работать в различных компаниях, меняя их примерно раз на 1.5-3.5 года. Это позволяет, с одной стороны, не “закостенеть” на текущей работе, а с другой стороны, оставаться в тонусе, получать ценный опыт работы с различными командами и проектами, обогащать профессиональный кругозор, осваивать новые и развивать уже имеющиеся hard и soft навыки.
Помимо этого, смена места работы раз в 2-3 года даёт ощутимый прирост в зарплате, поскольку денежная оценка ваших знаний и навыков в различных конторах может существенно различаться.
Говоря о карьерных перспективах, вы также можете пойти путем существенного развития hard skills и, освоив программирование и сопутствующие технологии, пополнить ряды разработчиков. Если же ваша сильная сторона – это soft skills и вы планируете сделать упор именно на них, можете развиваться в направлении бизнес-анализа либо менеджмента.
Бесплатные вебинары по схожей тематике:
Зарплаты QA
Воспользуемся летней зарплатной аналитикой за 2023 год от DOU – сообщества профессиональных украинских разработчиков, и узнаем, сколько зарабатывают наши тестировщики.
Медианные зарплаты состоянием на июнь 2023:
- Junior QA Engineer – 800 USD
- Middle QA Engineer – 1800 USD
- Senior QA Engineer – 3300 USD
- QA Team Lead – 3400 USD
- QA Tech Lead – 4000 USD
Самые высокие медианные заработные платы у Automation QA, самые низкие – у Manual QA, причём разница на уровнях Middle и Senior может достигать 1000 USD в пользу автоматизированных тестеров.
Наиболее оплачиваемыми языками программирования у QA специалистов являются:
- TypeScript – 3350 USD.
- Kotlin – 3300 USD.
- Java – 2838 USD.
- C# – 2750 USD.
- Ruby – 2652 USD.
- Python – 2500 USD.
- JavaScript – 2220 USD.
- SQL – 1661 USD.
- Другие языки – 1955 USD.
Выше приведены именно медианные зарплаты.
Английский также влияет на денежный оклад как новичков, так и опытных QA специалистов. Логика остается прежней – чем лучше знаешь английский, тем больше получаешь.
Итоги
В данной статье мы постарались сделать максимальный охват темы тестирования. Была рассмотрена не только специальность тестировщик, но и два её надмножества — QC и QA. Сейчас линии разграничения между этими тремя профессиями по большому счёту стёрты и прослеживаются лишь в серьезных компаниях. В более мелких же тестировщик, QA могут запросто быть синонимами. Тем не менее, в нашей статье высветлены те технологии и области знаний, которые подойдут как тестировщику, так и QA инженеру. Также, мы рассмотрели ответвления Manual QA и Automation QA. Как выяснилось, без знания мануального тестирования вам не стать автоматизированным тестером. Ведь как можно писать автотесты, если ты в принципе не понимаешь, что, где и как исследовать на предмет багов?
Несмотря на высокую конкуренцию за место тестировщика, количество вакансий остается одним из самых больших на рынке труда в IT. Посмотрите популярные ресурсы по трудоустройству в IT и вы сами в этом убедитесь. Поэтому нами и были указаны некоторые необязательные технологии — мы хотим вооружить наших читателей максимально красноречивым стеком, дабы вы были на голову выше конкурентов.
Приведенный в статье стек технологий является прочной основой QA специалиста — как мануального, так и автоматизированного. Если этот материал не дал вам в полной мере ответ на вопрос “как стать тестировщиком и что следует для этого учить?”, делимся с вами ссылкой на вебинар одного из авторов ITVDN — действующего QA Engineer Андрея Шевцова.
Если вас интересует данное направление и вы хотите стать QA инженером, предлагаем вашему вниманию подборку курсов и вебинаров ITVDN, которые вы найдете на странице специальности Quality Assurance.
Желаем успехов в изучении IT!
Оставайтесь с ITVDN!
Статьи по схожей тематике