QA-инженер, тестировщик, QS, AQA – в зависимости от страны специалистов по тестированию IT-продуктов называют по-разному. Без их участия невозможно представить современную разработку. Quality Assurance или обеспечение качества – неотъемлемое требование к созданию любого цифрового сервиса. Как раз за него и отвечают QA-инженеры и тестировщики. Почему на плечах таких специалистов лежит большая ответственность и что они должны уметь, разбираемся вместе с Senior QA Engineer Инной Ионовой.
От джуна до сеньора в QA за три года
В тестирование Инна Ионова попала через разработку, отучившись по специальности Software engineer в Малайзии. Там же она стажировалась и потом почти год работала в индийском стартапе. Ее основным направлением была web-разработка на AngularJS, не считая задач на Python и SQL. Также ей приходилось заниматься тестированием, и, сама того не планируя, Инна освоила новую специальность.
“В классическом индийском стартапе разработчики нередко совмещают разные задачи. Там я впервые познакомилась с QA. Потом случился COVID, и, вернувшись в Алматы, уехать обратно в Малайзию я не могла. Зато полученные навыки помогли мне в поиске работы”, – вспоминает Инна.
Первой компанией, откликнувшейся на резюме, оказалась Aviata. Инна вышла туда на позицию тестировщика и с нуля выстроила процесс тестирования во всех продуктовых командах, заодно прокачавшись до техлида. На тот момент в компании было два тестировщика, и перед Инной стояла задача внедрить тест-менеджмент системы. Такое программное обеспечение (ПО) упрощает планирование и управление тестовыми задачами и результатами тестирования.
Сократить время ручного тестирования в компании помог стэк технологий Appium + Python. Отладив все процессы, Инна решила двигаться дальше, перейдя в группу компаний DAR на должность Senior QA.
Миф первый: тестировщики проверяют готовый продукт
Любой IT-проект начинается с идеи. Сначала ее прорабатывает бизнес-команда а потом визуализируют дизайнеры, создавая макет. Тестировщик подключается уже на этапе дизайна и отмечает, где у разработчиков могут возникнуть проблемы. Для этого он составляет тест-кейс – своего рода инструкцию, в которой прописаны все ожидания от будущего функционала IT-продукта, порядок его работы и участки, где возможны ошибки. Как правило, тест-кейсы пишут в соответствии с техническим заданием.
“Тестирование на раннем этапе помогает компании сократить расходы на разработку и предусмотреть возможные баги. Следуя тесткейсам, разработчики сразу закладывают функционал, учитывающий все слабые места. На следующем этапе, когда продукт готов, его передают тестировщикам на функциональное и регрессионное тестирование. Первый вариант включает проверку системы на соответствие изначальным требованиям, а второй – тестирование всей программы после внедрения новых функций”, – объясняет Инна.
Миф второй: QA – это легкий способ войти в IT
Отчасти это правда, но есть нюансы. На первый взгляд может казаться, что QA – это про “поехавшие” кнопки и верстка на странице сайта. На самом деле, визуальные баги далеко не самые критичные проблемы из возможных. Причина неисправности может скрываться на невидимой стороне сайта – бэкенде, и решить проблему без технических знаний не получится.
“Must have любого тестировщика – системное и критическое мышление. Обладая им, специалист сможет продумывать какие-то сценарии тестирования и быстро находить причины багов. В моем случае важную роль в профессиональном развитии сыграл опыт в разработке и увлечение компьютерными играми”, – говорит специалист.
Миф третий: тестирование проще, чем разработка
В последнее время вакансии для QA иногда выглядят даже сложнее, чем у разработчиков. От тестировщика требуется знать всего понемногу, плюс обладать экспертизой в своей сфере. Такой специалист должен знать основы менеджмента, дизайна и быть технически подкованным. Например, знать, что такое API, клиент-серверная архитектура и т.д.
“Один мой знакомый тестировщик как-то сказал, что начать карьеру в IT даже проще через разработку, чем QA. Нередко тестировщики переходят в разработку и, как правило, знают хотя бы один язык программирования, протоколы http и https и многое другое”, – отмечает Инна.
Миф четвертый: QA – это только про баги
В Казахстане обязанности тестировщика обычно подразумевают проведение функционального и регрессионного тестирования по заготовленным тест-кейсам. Задачи QA-инженера обычно шире – он тесно работает с командой разработки, продакт-менеджером и при необходимости с заказчиком. Такой специалист создает тест-кейсы и пишет тест-планы, по которым будет работать тестировщик.
“Еще QA-инженер отвечает за качество программы. Финальное слово -готов ли продукт к релизу?” — тоже остается за нами. Также мы автоматизируем тестирование насколько это возможно с помощью авто-тестов. Умение их писать – отдельный навык”, – говорит QA-инженер.
Миф пятый: тестировщики не программируют
Есть два вида проверки функционала ПО – вручную и с помощью авто-тестов. Второй вариант возможен, когда система работает отлажено. При этом создание авто-тестов требует навыков программирования.
К слову, существует трехуровневая пирамида тестирования. Она включает в себя:
- Юнит тесты – таких тестов больше всего, и пишут их программисты. По сути это код, который проверяет другой код.
- Интеграционные тесты – проверка того, как сайт или приложение передает данные на бэкенд. Такие тесты пишут тестировщики на одном из языков программирования, будь то Python, GO, Java и не только.
- UI-тесты – своего рода имитация действий пользователей на сайте либо в приложении. Для мобильных устройств их пишут на фреймворке Appium, а для веб-приложений используют Selenium.
Создание интеграционных и UI-тестов как правило входит в задачи QA, соответственно для этой профессии требуется знание программирования.Также QA владеют SQL, умеют работать с iOS и Android-системами. Например, в западных странах есть такая позиции, как SDET (Software Development Engineer in Test). Она рассчитана на опытных разработчиков, которые проверяют систему еще на этапе создания архитектуры. Также они занимаются код ревью (проверкой качества кода)”, — поясняет специалист.
Что нужно знать джуну, чтобы стартовать в QA?
На собеседованиях у начинающих QA-специалистов часто проверяют знание таких базовых понятий, как API, клиент-серверная архитектура, статусы ответов, чем отличается web-тестирование от тестирования на мобильных устройствах и задают им другие технические вопросы.
Также стоит обязательно изучить, что такое снифферы трафика, как использовать network в браузере для тестирования и другие базовые вещи. Еще в QA, как и в IT в целом, немаловажную роль играют гибкие навыки (soft skills). Они понадобятся для эффективной коммуникации с другими разработчиками, причем из разных команд.
Вход в профессию сегодня также облегчают образовательные ресурсы. Например, в DAR University доступен стартовый онлайн-курс по профессии QA. Пройдя его, вы научитесь проектировать тесты, понимать жизненные циклы ПО, использовать техники тест-дизайна, составлять баг-репорты и многому другому. С этими знаниями вам будет проще пройти собеседование на позицию Junior или попасть на стажировку в IT-компанию.
Текст и фото: Роман Лукьянчиков