Что за профессия? Многие почему-то уверены, что QA-engineer, или тестировщик – абсолютно простая профессия. Сидишь, нажимаешь в произвольном порядке кнопки, пока не найдешь ошибку. Обнаружил баг, уведомил об этом разработчика, получил зарплату, а то и премию – все! Но дела тут обстоят несколько сложнее.
Как им стать? Чтобы стать хорошим тестировщиком, требуются определенные знания и умения. Да и вполне конкретные личные качества человека тоже играют роль. То есть сперва нужно понять, подходит ли вам эта профессия в принципе, а потом уже приступать к активному изучению.
- Суть профессии QA Engineer
- Типы тестирования
- Обязанности QA-инженера
- Необходимые навыки для специалиста
- Необходимые для тестировщика личные качества
- Процесс обучения на тестировщика
- Способы начать зарабатывать
- Возможности карьерного роста
- Уровень зарплаты QA-инженера в 2023 году
- Плюсы и минусы профессии
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Суть профессии QA Engineer
Аббревиатура QA – это английское словосочетание quality assurance, на русском звучит как «обеспечение качества». Профессия QA инженера, или тестировщика, в современных условиях очень востребована. Эти специалисты проверяют работу компьютерных программ и приложений. Они отслеживают, чтобы данные продукты выполняли свои задачи, защищают приложения от хакеров, проверяют их работу на различных устройствах и в разных ОС.
Другими словами, на QA инженере лежит ответственность за то, чтобы новое приложение работало в любых условиях и не выходило из строя, даже когда пользователь пытается нажимать совсем не те кнопки, которые рекомендованы инструкцией.
Представим ситуацию. Владелец интернет-магазина решил подключить услугу отправки чеков на e-mail. Он находит специалистов, которые согласны написать такую программу. Через неделю разработчики приходят и демонстрируют ее возможности: покупка товара, ввод e-mail, получение чека на почту. Заказчик доволен, разработчики тоже – задача решена успешно. Через неделю владелец интернет-магазина слышит по телефону раздраженный голос покупателя: «Услуга не работает, верните деньги». Что могло пойти не так?
- Разработчик заложил в программу длину e-mail не более 30 символов, так что покупатель с электронной почтой obozhayu_zvezdniye_vojny@r2d2.com чек не получил.
- Semen_semenovich@всемпива.рф пользуется только русскоязычным доменом, возможность обработки которого разработчики не предусмотрели.
- Кнопка «Получить чек» постоянно находится в активном состоянии. Несколько покупателей решили не писать свой e-mail в предложенной форме, а сразу нажать на кнопку. Вместо чека на экране появилось сообщение: «Опаньки, что-то пошло не так».
Эти ситуации для всех стали неожиданностью. Но клиент не должен разбираться в технической стороне вопроса, а разработчики написали программу строго по ТЗ. Продумывать все нештатные ситуации они не обязаны. Чтобы решить эту проблему, необходимо пригласить QA-инженера.
В свое время излишне остроумные разработчики придумали для тестировщиков обидное прозвище «обезьянки-кликальщики». Оно стало настолько распространенным, что разработчики системы Android назвали свой инструмент автоматизации тестирования MonkeyRunner.
Но не стоит думать, что тестировщики только и делают, что нажимают на кнопки с целью выявить баг – это неэффективно. Они давно разработали свои методы определения нештатных ситуаций и быстрого поиска ошибок.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
QA-инженеры разрабатывают настоящие инструкции для тестирования — тест-кейсы. Если говорить просто, это выглядит следующим образом: аналитики пишут требования – что должно быть на входе, какие данные, как происходит их обработка, как должен выглядеть результат; тестировщики пошагово расписывают инструкции для проверки программного продукта на соответствие этим требованиям.
Типы тестирования
QA engineer проверяет, каким образом пользователь сможет использовать программный продукт, даже если эти способы считаются невозможными. Для этого программное обеспечение начинают тестировать с момента разработки технического задания и далее на каждом этапе. В зависимости от того, что именно проверяется, когда и где, тестирование может быть:
- Статическим. Оно проводится еще до запуска программы, на этапе проекта. QA-инженер проверяет правильность написания кодов, спецификации.
- Динамическим. Это следующий этап после статического. Тестировщик запускает программу и во время ее работы проверяет правильность производимых действий, контролирует время отклика, определяет, насколько во время этой проверки увеличивается нагрузка на память и процессор.
- Функциональным. Специалист проверяет, соответствует ли работа программного продукта ТЗ и отличается ли фактический результат от того, что было задумано получить. На этом же этапе тестировщик изучает безопасность системы – насколько она устойчива к вирусам, хакерским атакам, утечке личных данных. Плюс к этому специалист должен понять, насколько легко новый продукт интегрируется с уже существующими программами и системами без дополнительных модификаций.
Читайте также!
Кто такой тестировщик: нюансы профессииПодробнее - Нефункциональным. Тестировщик создает продукту разные условия и проверяет, как он при этом работает. Его интересует производительность программы, ее удобство для пользователя, он изучает работу ПО под различными нагрузками и проверяет адаптацию к разным платформам.
Обязанности QA-инженера
Анализирует требования заказчика
Перед началом разработки ПО создается специальный документ, в котором фиксируются требования к программе. В него заносятся все договоренности о том, какой должна быть реакция программы на действия пользователя, насколько она должна быть быстрой и безопасной.
Нередко в требования закрадываются логические нестыковки, которые на первый взгляд незаметны и проявляются только во время тестирования. Например, выпущено приложение по доставке еды с меню для вегетарианцев. Приходит требование: добавить в это меню новый продукт – тофу с хештегами #сыр и #веган.
Ищет ошибки в программе
Ошибки в программе, или баги, тестировщики порой находят в самых неожиданных местах. Например, мы пытаемся ввести свой никнейм в указанное поле, но ничего не получается, программа не реагирует. Умение отыскивать подобные баги очень ценится среди тестировщиков.
Специалист должен тщательно проверить, что произойдет, если совершить какое-нибудь действие в рамках программы, и будет ли результат соответствовать ожиданиям. Но обнаружить баги в условиях тестирования получается не всегда, а вот пользователь точно наткнется на них, когда приложение будет выпущено.
Поэтому и придумывают QA-инженеры мыслимые и немыслимые ситуации, чтобы заставить баги проявить себя. Этот процесс сродни творчеству, ведь для поиска скрытых ошибок приходится проявлять нестандартное мышление, смекалку, аналитические способности.
Пишет код
Например, руководитель дал задание зарегистрировать тысячу аккаунтов. Делать это вручную утомительно и скучно. Чем больше подобных процессов QA engineer автоматизирует, тем выше его будет ценить руководство компании и тем больше времени у него останется на творческую часть.
Скачать файлУчаствует в обсуждении задач
Если в компании здоровый жизненный цикл разработки, то сначала задача пройдет обсуждение и только потом перейдет в стадию реализации. На такие рабочие встречи приходит вся команда, участвующая в создании нового продукта, и каждый сотрудник высказывает свое видение задачи. Тестировщик в первую очередь выискивает потенциальные проблемные места и указывает на них остальным:
- Что будет, если я введу адрес электронной почты в 1000 символов?
- Что будет, если вместо фотографии я загружу файл pdf?
- Что будет, если я прямо сейчас нажму на эту синюю кнопку?
Так что разработчик еще на этапе обсуждения понимает, как надо запрограммировать ответную реакцию продукта, чтобы она отвечала поставленным требованиям.
Составляет тестовую документацию
Самая нетворческая, но обязательная часть работы тестировщика. Он должен задокументировать каждый свой шаг – как он собирается проверять программу и что для этого надо сделать. Какие результаты он хочет получить, какие скрипты выполнить в базе данных, какие настройки применить.
На эту документацию в дальнейшем будут опираться разработчики, аналитики, да и команда заказчика еще раз проверит свой проект. Когда через полгода разработчика попросят изменить какую-нибудь функцию, без этого описания он вряд ли вспомнит, по какому принципу она работала.
Отслеживает и внедряет новые технологии
QA-инженеры всегда отслеживают новые технологии, которые помогают им работать быстрее и эффективнее. Например, при запуске автотестов на своем компьютере результат их работы будет готов через 4 часа, а если использовать для этого сервер удаленного тестирования, то те же данные будут готовы через 20 минут.
Общается с заказчиками
Тестировщик настолько глубоко погружается в исследуемую программу, что легко ответит на все вопросы, связанные с особенностями ее поведения. Поэтому его участие во встречах с заказчиком может обернуться советами по существу дела.
Составляет метрики
Метрики – это как бы сигнальные флажки для IT-команды. Если количество багов растет, то стоит проверить уровень профессионализма разработчика и изучить программный модуль. Возможно, его придется переписать.
Необходимые навыки для специалиста
Если задаться вопросом, как стать QA-инженером, то в первую очередь надо понимать, что тестирование происходит в самых разных областях. Соответственно, у тестировщика должен быть очень широкий кругозор. Но есть и общие точки: во всех случаях необходимо знать теорию тестирования, а дальше понадобятся знания по конкретной тестируемой системе и технологиям, которые в ней используются.
Если теория тестирования является общей для всех сфер деятельности, то технические навыки зависят от выбранной области, в которой вы решили работать тестировщиком. К примеру, если вы решили посвятить себя проверке веб-приложений, то вам пригодятся знания о том, как работает браузер, из чего состоит веб-страница. Но для тестирования бортовых систем самолета вам понадобятся совсем другие навыки.
на обучение «Инженер-аналитик» до 24 ноября
Если говорить о популярности новых разработок, то как раз первыми здесь выступают веб и мобильные платформы. С вебом вроде как разобрались, а чтобы тестировать мобильные устройства, потребуются знания структуры мобильных приложений, их жизненных циклов, отличий от приложений для компьютера, особенностей систем Android и iOS. Не помешает также знакомство с документацией по дизайну мобильных приложений для каждой из них.
Умение программировать не является обязательным, по крайней мере, в начале работы тестировщиком. Но в дальнейшем это будет серьезным преимуществом.
Сегодня QA-инженеру помогают специальные программы автоматического тестирования. Они освобождают человека от однообразной работы и заметно сокращают время тестирования, особенно в больших проектах, где необходимо проделать очень много простых повторяющихся действий.
Все тестировщики делятся на две группы: мануальщики и автотестеры. Первые предпочитают искать баги вручную, вторые пишут программы для автоматического поиска. Но это деление достаточно условно.
Нет ни одного любителя автоматизации, который не смог бы протестировать программу вручную. И наоборот, многие мануальные тестировщики осваивают языки программирования и пишут автоматические тесты, чтобы избавить себя от рутины. Опытные специалисты в основном владеют навыками и тех, и других.
Если вас уже приняли на работу, то лучше всего изучить тот язык программирования, на котором ведутся разработки в компании. Если еще нет – учите любой из наиболее популярных сегодня языков.
Раз уж речь зашла о языках, то еще один не помешает знать каждому тестировщику – английский. Хотя бы на уровне чтения и перевода со словарем. Большинство литературы печатается в основном на английском, и знание языка существенно поможет в работе.
Необходимые для тестировщика личные качества
Как и во многих профессиях, при обучении на QA-engineer важно знать, какими личными качествами должен обладать тестировщик. Вот основные из них:
- Усидчивость и настойчивость. Иметь их необходимо, так как дефекты порой приходится искать очень долго. Опытный тестировщик утверждает, что программ без ошибок не бывает, бывают лишь не очень добросовестно проверенные.
- Критическое мышление, умение анализировать любую информацию.
- Тщательность исследования, педантичность, дотошность, заставляющая проверять все варианты: «А что произойдет, если нажать эту кнопку? А если ввести в поле этот символ?».
- Коммуникабельность и умение работать в команде: тестировщик вынужден постоянно общаться со всеми, кто занят в разработке – представителями заказчика, дизайнерами, разработчиками, бизнес-аналитиками.
- Железное терпение и самообладание. Никто не любит, когда ему указывают на его собственные ошибки, особенно разработчики. Порой тестировщику приходится по несколько раз напоминать о найденном баге, чтобы были приняты меры по его исправлению. Но при этом настойчивость не должна мешать хорошим отношениям в команде.
- Ответственность и здоровый перфекционизм. В данном случае «комплекс отличника» сослужит хорошую службу в стремлении постоянно улучшать качество разрабатываемого продукта.
- Умение грамотно и четко формулировать свои мысли. Тогда тестировщик сможет составлять планы и тест-кейсы, понятные разработчикам. Если он нашел ошибку, то его задача – подробно и доступно описать, при каких условиях она возникает, чтобы ее могли быстро исправить.
- Стремление учиться и развиваться в выбранной профессии – еще одно важное качество тестировщика. Чтобы оставаться востребованным, он должен постоянно осваивать новые техники тестирования, изучать тематическую литературу, принимать участие в семинарах и конференциях, смотреть видеокурсы.
Процесс обучения на QA-инженера
Стать тестировщиком довольно просто – техническое образование для этого не требуется. Главное, чтобы человек был по-настоящему увлечен IT-сферой и хотел продолжать развиваться в этом направлении.
Как вы будете осваивать новую специальность, решать только вам, лишь бы это было удобно и эффективно: по книгам, по статьям, по видеокурсам или использовать все источники знаний одновременно. Благо, их очень много и в любой форме, так что проблем с поиском информации быть не должно.
Попробуйте начать погружение в профессию с чтения книг. Вот четверка наиболее полезных:
- Ли Коуплэнд, «Практическое руководство по тест-дизайну» (Lee Copeland, Practitioner’s Guide to Software Test Design).
- Гленфорд Майерс, Том Баджетт, Кори Сэндлер, «Искусство тестирования программ» (Glenford J. Myers, Corey Sandler, Tom Badgett, The Art of Software Testing).
- Лиза Криспин, Джанет Грегори, «Agile-тестирование. Обучающийкурс для всей команды» (Lisa Crispin, Agile Testing: A Practical Guide for Testers and Agile Teams).
- Марк Фьюстер, Дороти Грэм, «Автоматизация тестирования программного обеспечения» (Mark Fewster, Dorothy Graham, Software Test Automation).
Некоторым из этих книг уже около 20 лет, но своей актуальности они не потеряли до сих пор. Написанные простым понятным языком, они станут хорошими помощниками начинающим.
В интернете можно найти образовательные платформы с курсами QA engineer, в том числе и бесплатными. Но для качественного обучения лучше все-таки выбрать платные.
На таких курсах обязательно дают домашние задания, которые проверяют преподаватели. По большей части занятия ведут действующие специалисты, значит, они делятся теми знаниями, которые востребованы на рынке сегодня.
Плюс к этому курсы дают возможность пройти практику на реальном проекте. Потенциальный работодатель обязательно отметит для себя этот пункт в резюме соискателя. Никакая теория не заменит практического тестирования задачи за час до релиза.
Чтобы обеспечить себе постоянный приток специалистов, многие IT-компании открывают собственные школы тестировщиков, а затем наиболее одаренных приглашают на вакансию QA-инженера в штат. Если хотите устроиться на работу в конкретную компанию, обратите на это внимание.
Способы начать зарабатывать
Надо понимать, что ни одни, даже самые престижные, курсы в мире не гарантируют трудоустройство, если человек сам не приложит к этому усилия. Но полученные на них знания помогут быстрее войти в профессию – и в этом их огромное преимущество.
Когда ваш уровень подготовки станет достаточно надежным, попробуйте самостоятельно протестировать какой-нибудь сайт или приложение. Напишите тест-кейсы, составьте чек-листы, чтобы проверить работоспособность ресурса, подумайте над тем, как можно отследить взаимодействие ресурса с его бэкендом (серверной частью).
В сети существуют платформы для краудтестинга, куда компании выкладывают свои программные продукты и предлагают всем желающим протестировать их на конкретном устройстве и ОС. Это хороший шанс заполучить реальный проект и проверить свои силы. Правда, об оплате речь в таких случаях практически не идет, только некоторые компании готовы это делать, и работать придется за «спасибо», но вы сможете приобрести необходимый опыт и оцените работу опытных QA-инженеров.
Есть еще и такой способ, как стажировка QA-инженера в крупных IT-компаниях. Платят там немного, но если вам удастся себя показать, то есть шанс получить рекомендацию для будущих собеседований или даже приглашение на работу.
Еще один вариант начать карьеру тестировщика – заняться бета-тестированием. IT-компании, занимающиеся разработкой игр, приложений для ПК и мобильных гаджетов для миллионов людей, порой не в состоянии проверить все возможные сценарии пользовательского поведения.
Для этого они приглашают бета-тестеров, которые будут тестировать работу программы с точки зрения конечного пользователя. Их основная задача – найти как можно больше ошибок и выяснить, насколько удобен продукт в эксплуатации.
Бета-тестеры не проверяют программные коды и не пишут скрипты, их работа гораздо проще, чем у QA-инженера, поэтому можно спокойно совмещать с бета-тестированием обучение. Такая работа учит логически мыслить, искать в программах ошибки, придумывать самые невероятные пользовательские сценарии и еще многим навыкам, которые пригодятся в работе тестировщика. Да и упоминание о бета-тестировании в резюме и портфолио сделает их гораздо привлекательнее.
Возможности карьерного роста
Работа тестировщика предполагает довольно заметный карьерный рост. Все зависит от вашего желания двигаться дальше. Вот как это происходит внутри компании.
Первая ступень – младший специалист, задача которого состоит в ручном тестировании программ по готовым тест-кейсам. Чтобы превратиться из «обезьянки» в мидла, надо изучить проект, знать язык кода и уметь пользоваться автоматическим тестированием.
Джуниор, старательно набирающий багаж знаний и хорошо показавший себя на своем месте, через 2-3 года получит повышение. Должность мидла позволит ему самостоятельно вести документацию и составлять тест-кейсы.
Год-полтора успешной работы мидлом – и можно говорить об уровне Senior QA Engineer (старший специалист). Зона ответственности увеличивается: в подчинении сеньора команда джуниоров, он сам планирует работы по тестированию.
Еще лет через пять вполне реально дослужиться до тимлида – руководителя группы тестировщиков. Для этой должности требуются профессиональные возможности и компетенции, владение основами менеджмента, умение мыслить глобально и решать сложные задачи.
Мы рассмотрели вертикальный карьерный рост специалиста внутри компании. Но довольно часто тестировщики стараются развиваться внутри профессии, например, специализируются на каком-то одном виде тестирования:
- Security-тестировщики — тестируют безопасность программы.
- Performance-тестировщики — выясняют, как ведет себя программа при возрастающей нагрузке.
- Usability-тестировщики — проверяют, насколько удобно пользователю работать с ней.
Уровень зарплаты QA-инженера в 2023 году
Доход тестировщика определяется несколькими факторами:
- Квалификация. На уровне junior зарплата составит от 25-35 тысяч рублей, на уровне middle- или senior-специалистов – от 80 тысяч рублей.
- Работодатель. Хорошо оплачивают тестирование программных продуктов в IT-сфере, банковских и финансовых организациях, телекоммуникационных компаниях.
- Регион. В крупных городах уровень заработной платы выше, чем за их пределами из-за большего числа вакансий.
Если верить статистике, то QA engineer получает среднюю зарплату порядка 68 000 рублей. В большей части объявлений о подобных вакансиях указан оклад от 60 000 рублей. В числе лидеров по уровню зарплаты Калининград, Воронеж, Санкт-Петербург, Москва и Новосибирск.
Заработок тестировщика на фрилансе зависит от многих условий: степени профессионализма, объема работы, выбора клиентов и т.д.
Например, на одной из бирж фриланса был предложен заказ на проведение комплексного тестирования ПО перед выпуском прототипа системы машинного зрения. На выполнение работы давался 1 месяц. Заказчик был готов заплатить 100 тысяч рублей.
Плюсы и минусы профессии
Идеальных профессий не существует, у каждой из них есть свои плюсы и минусы. Есть они и у профессии тестировщика. Начнем с преимуществ.
- Легкий вход в профессию. На начальном этапе новичку потребуются минимальные технические данные. Тестировщик – отличное начало карьеры в сфере IT.
- Перспективность и востребованность. За последние лет десять спрос на тестировщиков заметно возрос. Высокая конкуренция и борьба за качество заставляют компании привлекать этих специалистов для тестирования своих программных продуктов. Перспективы роста тоже выглядят весьма привлекательно – от junior QA engineer дорасти до сеньора, а затем стать тимлидом и руководить группой специалистов или перейти в аналитический отдел.
- Быстрое обучение. Стать тестировщиком гораздо проще и быстрее, чем, к примеру, программистом. Обучение на курсах длится не более нескольких месяцев.
- Возможность работать удаленно и в гибком графике. В сфере IT дистанционная работа – явление вполне обычное. Можно тестировать продукт из дома или офиса в удобное для себя время.
Читайте также!
Есть факторы, которые можно рассматривать одновременно и как плюсы, и как минусы профессии – все зависит от точки зрения.
- Ответственная и интересная работа. Если вам нравится ощущать свою важность, необходимость, вы гордитесь тем, что ваша деятельность помогает совершенствовать продукт и тем самым улучшать жизнь пользователей, то тестирование очень скоро станет вашим любимым делом. Обратная сторона медали – высокая степень ответственности оборачивается для человека серьезной психологической нагрузкой.
- Постоянная учеба. IT-сфера находится в постоянном развитии, и, чтобы сохранить свою востребованность, тестировщик должен внимательно следить за появлением нового: читать книги, проходить обучение на курсах, заниматься самообразованием, участвовать в профильных конференциях. И еще: резюме на вакансию QA engineer станет гораздо привлекательнее, если в нем будет указано знание английского языка.
А теперь об очевидных минусах:
- Однообразие. Надо раз за разом проходить тест-кейсы и фиксировать найденные ошибки в системе отслеживания. Многие тестировщики-новички не выдерживают большого количества рутинной работы и уходят из профессии.
- Малоподвижный образ жизни. Сидячая работа – бич многих современных профессий, особенно связанных с IT-деятельностью. Надо просто заранее продумать, как грамотно сочетать длительное сидение за компьютером с физической активностью или занятиями спортом.
Недостатков у профессии тестировщика не так уж и много, так что, если решили проверить себя в этом направлении – дерзайте! По мнению экспертов, это один из самых простых способов оказаться в сфере информационных технологий.
Но не стоит забывать, что QA-инженер – это не «обезьянка», нажимающая на кнопки, а квалифицированный специалист, который находится в постоянном развитии и всегда готов улучшать свои знания и навыки. Именно таким профессионалам работодатели предлагают достойную зарплату.
информация очень грамотно изложено. Все четко! Спасибо автору за труд. )