Начинающие IT-стартапы нередко пытаются сэкономить и не нанимают QA инженеров. Что ж, это одна из причин, почему 95% стартапов закрывается. Quality Assurance Engineer, или, проще говоря, тестировщик, занимается тем, что находит в программном коде недочеты и сообщает о них разработчикам, чтобы те их исправили. По-хорошему, проверка качества кода должна занимать не менее 30% общего времени разработки продукта. Как же работает тестировщик ПО и как им стать?
Обязанности тестировщика
Основная задача тестировщика — убедиться, что программный продукт соответствует требованиям, успешно выполняет свои функции, работает качественно и без перебоев, вызванных внутренними причинами. Полный цикл проверки качества ПО выглядит так:
- уточнение требований к продукту у заказчика, аналитика или менеджера проекта
- подготовка тестировочной документации — чек-листов, тест-кейсов
- разработка автотестов, проверка их качества
- разработка сценария тестирования и подбор необходимых тестов
- проведение тестирования, анализ поведения ПО
- заполнение тестировочной документации, анализ найденных багов
- повторная проверка после исправления кода.
Как видите, операций в этой цепочке достаточно много. Это позволило выделить в профессии тестировщика несколько специализаций. Во-первых, стали отличать Software Testing Engineer — который проверяет качество кода — и Quality Assurance Engineer, который занимается верхнеуровневой оценкой качества ПО. Во-вторых, тестировщики разделились на мануальщиков — которые проверяют код вручную — и автоматизаторов — которые пишут автотесты. Поговорим об этом детально.
Мануальное и авто-тестирование
Мы уже упомянули, что мануальное тестирование — это проверка кода вручную, а автоматическое — с помощью автотестов. Автотесты — это скрипты, небольшие программы, которые выполняют простые операции и фиксируют реакцию системы.
Изначально все тестирование было ручным, а автоматическое тестирование появилось вместе со сложными системами, которые проверять вручную слишком затратно. У автоматического тестирования есть свои преимущества: оно экономит время, скрипты можно использовать повторно, а еще с помощью скрипта можно смоделировать множество пользователей для нагрузочного тестирования. Но заменить ручное тестирование тестами в ближайшее время не получится, и вот почему.
Автоматическое тестирование не видит систему глазами реального пользователя. Допустим, некая функция должна выдавать ответ на ввод команды. Скрипт видит, что ответ выдается, тест пройден. А пользователь видит, что ответ нерелевантен и не отвечает на запрос.
Кроме того, скрипты пока не могут оценить удобство системы для живого пользователя — это делается вручную. Ну и наконец, время, потраченное на разработку автотестов, также входит в бюджет проекта и удорожает стоимость проверки качества кода. Так что в ближайшее время ручное тестирование не вымрет.
Что должен знать тестировщик
Список требований к тестировщику может сильно изменяться от компании к компании. Это нормально, поскольку применимо к любой IT-специальности. Индустрия быстро развивается и стандарты стремительно меняются. Но есть базовые знания, которые необходимы для начала.
Hard Skills | Soft Skills |
---|---|
Компьютерная грамотность — операционные и файловые системы, правила работы с кодом, клиент-серверную архитектуру, базовые знания о железеТеория тестирования — виды тестирования, артефакты, тест-дизайн, локализация баговИнструменты тестирования — багтрекеры, API, логи, скриншоты, базы данных, Bash, Chrome DevTools, Android StudioОсновы автоматизации — языки, фреймворки, CI\CD, драйверы, отчеты, инструменты автоматизации для разных платформ | Английский на уровне продвинутого пользователяКоммуникабельностьНасмотренность и чувство стиляДотошность, усидчивость, устойчивость к монотонной работеНавык поиска информации в мануалах или в интернетеСпособность воспринимать и анализировать большие объемы данныхПривычка к самостоятельному решению проблем |
Если софт-скиллы можно и нужно тренироваться самостоятельно, то хард-скиллам надо учиться. Как долго и где?
Долго ли учиться на QA инженера?
Различные курсы в интернете предлагают обучение профессии тестировщика за срок от трех месяцев до года. Можно ли освоить эту профессию за три месяца? И да, и нет.
Если взглянуть на список базовых знаний тестировщика, то очевидно, что человек с техническим бэкграундом — например, студент технологического вуза — который имеет высокий уровень компьютерной грамотности, общее представление о цикле разработки ПО и неплохой английский, действительно может выучить основы тестирования месяца за три. Да что там, такой студент может освоить эту специальность и без курсов, просто занимаясь пару часов в день. Для всех остальных обучение продлится дольше.
Продолжительность курса также зависит от того, какой уровень квалификации студент хочет иметь по окончанию. Если достаточно освоить основы ручного тестирования, то пары месяцев хватит. А вот если захватить еще автоматизацию, то заниматься придется дольше, и год уже не выглядит завышенным сроком.
Плюсы и минусы профессии QA инженера
Считается, что основной плюс профессии QA-инженера — это легкий и быстрый способ «войти в айти». В этом есть доля истины. Обучение длится недолго, спрос на тестировщиков постоянно растет, зарплаты приличные. Профессия постоянно развивается, все время появляются новые технологии и решения. Можно работать на удаленке, а можно в офисе.
Можно выбрать сферу деятельности себе по душе, и тестировать интересные продукты. Кстати, в тестировании есть немалая доля творчества — тестировщик должен придумать то, чего не было в требованиях и что могли пропустить другие. Словом, тестировщиком быть нескучно.
Минусов у профессии тоже хватает. В первую очередь, это неочевидная линейка профессионального развития. Из ручного тестировщика в автоматизаторы и старшие QA-инженеры, а дальше? В программисты? Не проще ли сразу выучиться на программиста?
Во-вторых, есть большая проблема с поиском первой работы. На одну вакансию Junior QA приходит до двух тысяч резюме джунов после трехмесячных курсов. В третьих, на нашем рынке часто экономят на QA, а на западный еще надо пробиться, что без английского и без опыта невозможно. Получается парадоксальная ситуация: работу найти сложно, а спрос на тестировщиков огромный.
📢 Подпишись на наш Ютуб-канал! 💡Полезные видео для программистов уже ждут тебя!
🔍 Выбери свой курс программирования! 🚀 Путь к карьере программиста начинается здесь!
Востребованность и оплата профессии
Популярный сервис поиска работы для айтишников, Джинни, предлагает 1700+ вакансий для тестировщиков из 27 тысяч. Это примерно 6% от всех открытых вакансий, включая разработчиков, сисадминов и нетехнических специалистов. Довольно много. Правда, всего 79 работодателей согласны рассмотреть специалиста без опыта. Но это уже 79 шансов!
Зарплаты, по данным того же сервиса, стартуют с 500 долларов в месяц и уходят за горизонт. При этом тестировщики-автоматизаторы стоят примерно вдвое дороже мануальщиков: если у мануальных тестировщиков большинство предложений это 1500-2000 долларов, то у автоматизаторов 3-4 тысячи. Самый дорогой подтвержденный найм AQA-инженера в 2021 году — 7000 долларов плюс социальный пакет.
Не забываем, что Джинни ориентирован на украинский рынок, а на международном рынке зарплаты QA-инженеров выше. В США, например, средняя зарплата тестировщика — 96 тысяч в год, что в месяц дает 8 тысяч долларов.
Где выучиться на QA инженера?
Предложений пройти курсы тестировщиков за три месяца и получать бешеные деньги в IT — сотни и тысячи. Увы, но из-за таких экспресс-курсов рынок переполнен малограмотными джунами, которые сразу хотят большую зарплату. Учитывая ситуацию на рынке, мы рекомендуем выбирать курсы более продолжительные, но с более насыщенной программой. Если в программе курса нет хотя бы основ автоматизации тестирования, лучше поищите другой.
И, конечно, для эффективного обучения всегда важна личность преподавателя. На сайтах типа Coursera или Udemy полно курсов для самостоятельного обучения, но большинство предпочитает учиться у живого человека. Преподаватель сможет объяснить непонятное, показать на примере, поделиться своим опытом. Поэтому у нас в FoxmindEd все курсы проходят с участием ментора, включая курс по QA Automation.
Выводы
QA-инженер — это хорошая, современная профессия, которая быстро развивается, хорошо оплачивается, и точно будет востребована еще лет 10-20. К сожалению, из-за большого количества недоученных джунов в этой отрасли входной порог несколько поднялся, и обучению надо уделять больше времени, чем три месяца. Но успешных студентов ждут тысячи, без преувеличения, вакансий и очень неплохие зарплаты. Так что учиться на тестировщика есть смысл.