Тестировщик ПО, или Quality Assurance tester — человек, который ищет (и находит!) баги в программном продукте после его внедрения. Он не формирует процессы тестирования на этапе разработки приложения или сайта — этим занимается QA инженер (engineer) — но тоже дотошно изучает его, помогая программистам создать качественный продукт, а пользователям — работать с ним без ошибок. О том, как расшифровывается QA, чем занимаются тестировщики сайта, и как ими становятся с нуля — в нашей статье.
ЧТО ТАКОЕ QA ТЕСТИРОВАНИЕ? ВИДЫ ТЕСТИРОВАНИЯ
QA, или Quality Assurance — это комплекс мер для обеспечения качества ПО. В этот комплекс входит анализ всех условий, которые могут сказаться на качестве разработки и готового продукта.
QA тестирование бывает функциональным и нефункциональным:
- Функциональным. Проверяет работу всех функций мобильного/десктопного приложения или сайта и анализирует взаимодействие разрабатываемой системы с другими программными продуктами. Функциональное тестирование показывает, насколько приложение производительно, насколько удобно пользоваться интерфейсом, устанавливать его. Эти тесты проверяют защищенность и надежность системы, ее совместимость.
- Нефункциональным. Эти тесты исследуют характеристики приложения или сайта, которые можно измерить. Такие тесты демонстрирует «КАК», насколько хорошо работает программа.
Также тестировщики занимаются:
- Тестированием производительности. Нагрузочные тесты показывают, справляется ли ПО со стандартной нагрузкой и помогают определить максимально возможную нагрузку на систему. Стресс-тесты изучают работу приложения или сайта при нестандартных нагрузках.
- Регресс-тестами. Проверяют, насколько сказываются новые опции программы и откорректированные ошибки на функциональности программы.
- Модульными тестами. Отдельная проверка модулей для нахождения тех, которые вызывают проблему.
- Тестированием безопасности. Проверка защищенности программного продукта от вирусов, хакеров, кражи конфиденциальной информации.
- Проверкой локализованных версий приложения. Тесты показывают, насколько корректен перевод интерфейса, выдаваемых пользователю сообщений, пояснительной документации.
- Usability-тестированием. Тестирование удобства работы с приложением/сайтом для пользователей, его понятности и простоты. Такие исследования позволяют выявить проблемы с навигацией, основным и дополнительным функционалом.
Словом, QA специалист — это человек, который проверяет программный продукт вдоль и поперек. Тестировщик выясняет, как ПО поведет себя при ожидаемом или отличном от ожидаемого поведении пользователя. Изучает, что происходит с приложением, когда с ним работает знающий или не знающий систему человек – тестирование «белого ящика» и «черного ящика» соответственно.
ОБЯЗАННОСТИ ТЕСТИРОВЩИКА ПО (ЧЕМ ЗАНИМАЕТСЯ ТЕСТИРОВЩИК?)
QA специалист занимается решением таких вопросов:
- изучает технические документы;
- уточняет пожелания заказчика;
- определяет возможные риски;
- пишет тестовые документы и описывает идеи по повышению качества продукта (т.н. тест-кейсы);
- занимается, собственно, тестированием приложения;
- находит уязвимые места, документирует обсуждает их с программистами;
- тестирует продукт после того, как программисты исправили баги;
- оптимизирует тестировочный процесс;
- пишет автоматические тесты (automation tests).
КВАЛИФИКАЦИЯ QA ТЕСТИРОВЩИКОВ БЫВАЕТ РАЗНОЙ:
- стажер Trainee;
- новичок Junior со стажем 1-6 месяцев, знакомый с базовыми понятиями QA (тест-планами и тест-кейсами, дефектами Severity и Priority), умеющий выполнять простые операции в SQL;
- средний уровень Middle с опытом до 3 лет, умеющий тестировать продукты самостоятельно и обучать стажеров/новичков;
- высший уровень Senior, способный справляться с технически сложными задачами и тестировать приложения разными методами.
Обратите внимание! Senior QA engineer это человек, в совершенстве овладевший профессией, может двигаться в направлении QA team lead — QA-manager — Head of QA department и стать начальником отдела. Или чуть изменить специальность, став разработчиком или аналитиком.
ЧТО НУЖНО ЗНАТЬ, ЧТОБЫ СТАТЬ ТЕСТИРОВЩИКОМ QA?
QA-тестеру полагается:
- свободно читать по-английски;
- уметь работать с баг-трекером JIRA, Redmine, YouTrack или подобными;
- знать язык запросов SQL, чтобы писать запросы в базы данных;
- тому, кто собирается тестировать сайты, необходимо освоить HTML/CSS верстку, JavaScript, jQuery и HTTP, а тому, кому нравится работать с мобильными приложениями — системы Genymotion, VirtualBox и iOS Simulator;
- владеть приемами тест-дизайна;
- знать особенности клиент-серверного взаимодействия.
Это не все, что нужно освоить начинающему тестировщику: для успешного развития в профессии он должен обладать определенными навыками (Soft skills):
- аналитический и критический склад ума, склонность к перфекционизму;
- умение мыслить стратегически;
- ответственность и настойчивость;
- способность моделировать ситуации и абстрагироваться от них;
- коммуникабельность, необходимая для обсуждения спорных вопросов с программистами и заказчиками и поиска компромиссов;
- внимательность и усидчивость;
- умение мгновенно переключаться от задачи к задаче.
Важно! Перед тем, как стать QA тестировщиком и углубиться в эту специальность, желательно прочитать книгу «Тестирование дот ком» Романа Савина, Software Testing Рона Паттона и «Тестирование программного обеспечения» Сэма Канера. Эти издания — не новинки, но они помогут составить представление о профессии и сформировать некоторые важные навыки тестировщика.
Из Телеграм-каналов для новичков будут полезными QA_ru (русскоязычный чат тестеров), QA Channel (общая разноплановая информация для QA специалистов) и Серьезный тестировщик (интересные статьи и забавные гифки по теме). Украинские QA специалисты и консультанты ведут каналы automation-remarks.com, BigQueryInsights и CatOps.
ПЛЮСЫ И МИНУСЫ ПРОФЕССИИ ТЕСТИРОВЩИКА ПО
Задаваясь вопросом о том, кто такой тестировщик сайтов и мобильных приложений, и принимая решении о начале обучения, стоит соотнести преимущества и недостатки специальности.
ПЛЮСЫ
- Придется постоянно повышать квалификацию, и это будет интересно! IT-отрасль развивается динамично и не дает специалистам деградировать интеллектуально.
- Зарплата тестировщика с опытом высока и приближается к зарплате программиста.
- QA тестеры и инженеры — люди востребованные, и спада популярности этой профессии не наблюдается. В том числе, в периоды экономических кризисов.
МИНУСЫ
- Работа тестировщика — рутинная. В особенности, если речь о ручном проведении тест-кейсов и написании документации. Эта работа подходит для людей с соответствующим мышлением.
- Придется много сидеть за компьютером и отдельно заниматься поддержанием физической формы.
- Важно научиться приходить к компромиссу с большим количеством людей, обладающих разными пожеланиями к программному продукту. Мнения программистов, заказчиков и пользователей могут не совпадать, и эти проблемы часто придется решать тестировщику.
КАК СТАТЬ ТЕСТИРОВЩИКОМ QA?
Идеальный вариант для того, чтобы стать тестировщиком — получить высшее образование по направлению «Программная инженерия». Это поможет сделать знания системными и обзавестись полезными знакомствами.
Сэкономить время, отказавшись от изучения общеобразовательных предметов и сконцентировавшись на практических знаниях, можно, если записаться на курсы тестировщиков.
Преподаватели курсов QA — практикующие инженеры и разработчики программных продуктов. Это значит, что их знания актуальны, и слушатели смогут применять их в работе сразу по окончании обучения.
Внимание! Чтобы устроиться на работу QA инженером или тестером, необходимо грамотно составить резюме тестировщика. В резюме необходимо внести только то образование и опыт работы, которые имеют отношение к профессии. Курсы тестировщиков — строчка, значительно повышающая уровень специалиста в глазах работодателя.
ПЕРСПЕКТИВЫ ПРОФЕССИИ И ЗАРПЛАТА ТЕСТИРОВЩИКА
Выяснив, какими качествами должен обладать QA тестировщик, чтобы быть успешным в своей профессии, стоит узнать, какие ступени развития его ожидают в последующие годы.
Senior QA Engineer может стать тимлидом, менеджером проекта или руководителем отдела. Если в процессе работы он освоит новые языки программирования или займется обучением дополнительно, появляется шанс стать разработчиком мобильных/десктопных приложений или сайтов, руководителем разработчиков.
Также можно будет совмещать основную работу тестировщика с преподаванием — считается, что заниматься обучением и поддержкой новичков престижно.
По данным портала DOU, статистика зарплаты тестировщиков в Украине на декабрь 2021 такова:
В Киеве зарплаты таких специалистов — самые высокие. Так, Senior QA получит в Киеве 2700$, это +200$ если сравнивать его зарплату с Львовом и Харьковом, в то же время самая высокая зарплата в Одессе — 3000$.
Кроме того, Senior Automation QA получает приблизительно на 2000$ больше, чем зарплата Junior QA, занятые другими работами в этой области