Здравствуйте, уважаемые читатели!
Хотите изучить не только высокооплачиваемую, перспективную и востребованную, но еще и очень важную профессию как для работодателя, так и для клиента? Тогда можете стать тестировщиком. Этот специалист может сэкономить деньги компании, найти и исправить ошибки веб-разработчиков, а также сделать взаимодействие пользователя и IT-продукта максимально комфортным и простым.
Заинтересовались? Тогда давайте подробно разберем, кто такой тестировщик, чем он занимается, плюсы и минусы должности, как им стать с нуля.
Особенности профессии
Люди, которые занимаются тестированием и проверкой различных программных продуктов, ищут в них ошибки и сбои, ограждают ПО от хакерских атак и улучшают для пользователей взаимодействие с IT-товаром, называются тестировщиками. По-другому этих специалистов называют QA-инженерами.
Сотрудники следят, чтобы IT-продукты работали, как это было задумано разработчиками, соответствовали ожидаемому уровню, качественно функционировали без багов и на разных устройствах и операционных системах. В качестве объектов, которые надо протестировать, могут выступать:
- программные обеспечения,
- мобильные приложения,
- компьютерные и мобильные версии игр,
- сайты.
Тестировщик в первую очередь должен спланировать тестирование, т. е. смоделировать несколько разных возможных ситуаций, во время которых могут всплыть ошибки. И в конце надо подготовить отчет о проделанной работе и найденных багах.
Специалисты создают полезные IT-продукты, используя различные инструменты контроля качества и стратегии тестирования.
Работа тестировщика не так проста, как может показаться на первый взгляд. Это деятельность совмещает в себе информационные технологии, UX-дизайн и продукт-менеджмент. Но тем не менее эта должность является одной из самых простых для освоения и проникновения в IT-сферу.
QA-инженеры могут работать как удаленно, так и из офиса. Также они могут быть не только штатными сотрудниками, но и фрилансерами.
У тестировщиков есть и классификация. Всех специалистов делят на мануальщиков и автотестеров в зависимости от того, работают они вручную или автоматизированно. Первые отвечают за ручное тестирование, которое в первую очередь изучается новичками.
Вторые работают при помощи написанных ими же программ. Они сильно облегчают труд тестировщиков, сокращают время, затрачиваемое для поиска ошибок, и уменьшают до минимума часы рутины, что немаловажно. Над крупными проектами в основном работают только автотестеры, так как объем работы огромен, а сроки не резиновые.
Но следует отметить, что деление это скорее условное, так как любой автотестер умеет находить баги вручную. А мануальщики вполне могут научиться писать автоматические тесты. Было бы желание.
Также имеются тест-аналитики – люди, которые анализируют программный продукт, определяют, какие именно тесты следует проводить, и составляют логическую карту ПО. Тест-дизайнеры – специалисты, разрабатывающие тесты, используя данные тест-аналитиков. И security-тестировщики – работники, которые заботятся о безопасности систем.
Есть еще классификация в зависимости от предмета тестирования. Например, тестировщики СУБД, тестировщики DevOps и т. д.
В маленьких и средних компаниях всю работу может выполнять один сотрудник – тестировщик-универсал. В крупных же организациях обязанности поделены между несколькими работниками.
Хороший тестировщик знает, как смотреть на IT-продукт не только глазами разработчика, но и пользователя, чтобы клиентам было максимально удобно использовать товар.
QA-инженер способен значительно сократить расходы компании. Ведь чем раньше найдены сбои и баги, тем легче и менее затратно их будет устранить. Поэтому тестировщик должен от а до я знать продукт, понимать, как он работает и где может быть спрятана ошибка.
Обязанности и задачи специалиста
В чем же заключается работа тестировщика? Если говорить об этапах работы, то типичная деятельность специалиста может быть отображена в следующей логической цепочке:
- Получение задания о проверке программного продукта.
- Изучение полученного IT-продукта.
- Определение приоритетов тестирования, создание тестовой модели.
- Подбор необходимого комплекса тестов.
- Сопоставление реальной работы ПО с ожидаемыми результатами и выявление несоответствий.
- Поиск багов и ошибок.
- Устранение недостатков, улучшение функционирования IT-товара.
- Проведение нового тестирования.
- Написание отчета о проведенных процедурах.
При необходимости после второго тестирования снова идет поиск и устранение ошибок, а затем проведение еще одного теста. И процесс повторяется, пока продукт не пройдет порог качества, что делает работу QA-инженера цикличной. Во время тестирования специалисту надо совершить все возможные операции, которые могут сделать пользователи, чтобы найти все ошибки.
Сложность состоит в том, что в лабораторных условиях баги не проявят себя, а клиент додумается нажать на вот эту кнопку или перейти по вон той ссылке и обнаружит сбой. Поэтому тестировщикам нужно предугадывать стандартное и нестандартное поведение пользователей, что является творческим процессом. При этом нужно уметь применять смекалку и анализировать данные.
При ручном тестировании нужно самому сыграть пользователя и сымитировать все его действия по отношению к игре, приложению или сайту. Поэтому такой вид тестирования могут называть поведенческим.
При автоматическом же тестировании специалист работает со специальными программами. Он их подбирает и настраивает, пишет для них код, готовит данные для тестов, а после запускает само тестирование. Затем работник анализирует зафиксированные результаты и пишет отчет, который потом передает разработчикам.
Какие ошибки может искать тестировщик? Например, после регистрации не приходит письмо на электронную почту для подтверждения email, но в требованиях это прописано. Или в приложении обувного магазина не работают фильтры. Или игра постоянно “вылетает” без видимых причин. Специалист в каждом описанном случае проходит весь путь пользователя и ищет, где скрывается проблема.
Создание пошаговых инструкций к тестированию, т. е. тест-кейсов, в которых учитываются все требования аналитиков, тоже лежит на плечах QA-инженеров.
Знания, умения и личные качества
Теперь переходим к вопросу, что должен знать и уметь делать тестировщик:
- четко формулировать мысли, чтобы подробно описать баги и погрешности,
- составлять тест-кейсы,
- создавать сценарии тестирования,
- знать основы тестирования, его классификацию, методики и инструменты,
- знать язык SQL, HTML и CSS,
- работать с базами данных,
- знать системы контроля версий,
- владеть инструментами ручного и автоматического тестирования,
- пользоваться системами тестирования,
- знать английский язык,
- работать с командной строкой,
- знать браузеры,
- пользоваться инструментами веб-разработчиков,
- понимать первопричину проблемы и устранять ее,
- составлять и оформлять отчеты,
- владеть основами Linux,
- понимать архитектуру ПК,
- распределять время и укладываться в сроки,
- анализировать чужой код,
- работать с системами баг-трекинга,
- обладать навыками командной работы,
- составлять и автоматизировать тесты,
- понимать особенности операционных систем,
- оценивать, качественно ли проведено тестирование,
- анализировать полученные после тестирования результаты,
- понимать процесс веб-разработки.
На начальных этапах знание языков программирования не обязательно. Но если тестировщик хочет получить повышение и увеличить зарплату, их изучить придется.
Кроме этого, нужно иметь определенный набор личных качеств:
- коммуникабельность,
- внимательность к мелочам,
- аналитические навыки,
- терпение,
- стрессоустойчивость,
- усидчивость,
- педантичность,
- перфекционизм,
- логическое мышление,
- способность запоминать большие объемы информации,
- адаптивность,
- настойчивость,
- ответственность.
Плюс ко всему у тестировщика должно быть стремление к развитию. Ему необходимо постоянно осваивать новые методики, читать техническую литературу, принимать участие в конференциях и семинарах.
Размер заработной платы и место работы
На работу QA-инженеров могут взять:
- IT-компании по разработке ПО, игр, мобильных приложений, систем безопасности,
- поставщики программно-аппаратных комплексов,
- финансовые учреждения, например, банки или брокерские компании,
- автомобильные заводы,
- СМИ,
- ритейлеры,
- онлайн-школы.
Можно выбрать организацию, продукт которой приходится по душе, изучить его со всех сторон и впоследствии стать веб-разработчиком или проект-менеджером.
Работать можно в офисе, удаленно и на фрилансе. Крупные компании обязательно имеют в штате целый отдел тестировщиков, в средних и мелких может работать или один штатный сотрудник, или же и вовсе его ищут на фрилансе.
Строить карьеру штатного сотрудника можно развиваясь и поднимаясь вверх относительно своей должности, а можно уйти в смежную область.
При первом варианте все складывается следующим образом:
- Стажер.
- Младший сотрудник, или junior.
- Работник среднего звена, или middle.
- Старший сотрудник, или senior.
- Ведущий специалист, или lead, он же может быть начальником отдела тестировщиков.
В среднем стажеры получают от 20 до 30 тыс. руб., junior – 40–60 тыс. руб., middle – от 60 000 до 90 000 руб., senior – от 90 000 до 130 000 руб., lead зарабатывает от 140 и выше.
Если говорить территориально, то в регионах средний уровень зарплаты составляет около 60 000 руб., в столице – около 100 000 руб.
На фрилансе часто встречается почасовая оплата. Нередко можно встретить от 1 000 руб. за час работы и выше. Чем больше опыта и навыков и выше рейтинг, тем на большую сумму можно претендовать.
Самые популярные площадки для фрилансеров – это Workzilla, Fl.ru, Kwork. Также в качестве саморекламы не помешает создать сайт-визитку и рабочий аккаунт в социальных сетях.
Попытать счастья и найти выгодные вакансии можно на зарубежных биржах фриланса. Иностранные клиенты готовы заплатить 15–20 $ за час работы, а опытные специалисты могут зарабатывать и в 2 раза больше.
Из-за дефицита грамотных профессионалов-тестировщиков востребованность в специалистах только растет.
Плюсы и минусы
Достоинства профессии:
- Востребованность в специалистах.
- Одна из самых легких профессий для вхождения в IT-сферу.
- Есть возможность работать удаленно, из офиса или на фрилансе по свободному графику.
- Перспективность.
- Достойная оплата труда.
Недостатки работы:
- Большая ответственность.
- Необходимо знать иностранный язык для повышения квалификации.
- Много рутинной, однообразной и скучной работы, особенно на первых порах.
- Нужно постоянно развиваться и следить за новшествами в IT-сфере.
Обучение на тестировщика
Обучиться можно в вузе на таких IT-специальностях, как “Информатика и вычислительная техника”, “Программная инженерия”, “Фундаментальная информатика и информационные технологии” и др.
Но для новичков не обязательно иметь профильное высшее образование. Можно пройти курсы тестировщиков ПО, чего для работодателей будет достаточно.
Например, для ознакомления предлагаю следующие онлайн-программы:
- Профессия Тестировщик – Skillbox
- Факультет тестирования ПО – GeekBrains
- Тестировщик – Нетология
- Тестировщик программного обеспечения – SkillFactory
- Онлайн-курс тестировщиков – Hedu
Для самостоятельного обучения и в качестве дополнения к основной учебе могу посоветовать книги:
- А. Джейсон, К. Джефф, У. Джеймс “Как тестируют в Google”
- Г. Майерс, Т. Баджетт, К. Сандлер “Искусство тестирования программ”
- Р. Савин “Тестирование Дот Ком”
Заключение
Тестировщик – одна из самых перспективных и востребованных интернет-профессий современности.
Это высокооплачиваемая специальность, по которой можно работать удаленно и по свободному графику. Но и минусов не избежать: рутинность, ответственность и постоянное обучение могут отвадить желающих от этой работы.
Если вы все еще желаете стать тестировщиком, предлагаю пройти онлайн-курсы для быстрого освоения профессии. Не помешает при устройстве на работу знание иностранного языка и современных тенденций в мире информационных технологий.
Удачи в освоении специальности QA-инженера! Продолжайте развиваться и учиться вместе с блогом ermail.ru.
Всего доброго!