Вне IT-сферы мало кто знает, в чем заключается работа тестировщиков. Часто их воспринимают как неквалифицированных программистов или просто любителей, которые нажимают все кнопки подряд лишь бы по счастливой случайности найти ошибку. Но в действительности хороший Quality Assurance специалист – это важный элемент в цепи создания продукта.
Тестировщик должен исследовать производственные процессы, обдумывать сценарии сбоев, определять, какие факторы влияют на продукт, и правильно доносить свои наблюдения остальным участницам процесса.
Бытует мнение, что тестировщик должен знать основы программирования и что это обязательно технический дипломированный специалист, просто менее значимый, чем разработчик.
Правда в том, что для старта вовсе не обязательно быть программистом: можно выполнять ручное тестирование и без анализа кода. Чтобы смоделировать действия пользователя, подойдет представитель любой сферы деятельности, например, лучше врача никто другой не сможет оценить медицинские программы, а администратор или бухгалтер способен лучше любого айтишника создать ситуации из разряда «оно само».
Войти в профессию может каждый: иногда компании намерено берут в тестировщики кандидатов из других сфер деятельности, которые хорошо знают только свою предметную область.
По сути, для QA-инженера самое главное – это внимательность. Остальные навыки можно получить в процессе, ведь его работа – идеальное пространство для непрерывного развития. Для тестировщика важно не только быть способным, но и обладать богатым жизненным опытом, потому что логика, вариативность мышления и здравомыслие для него ценнее, чем знание ЯП.
Многие считают QA-инженера всего лишь стартовой площадкой для роста к более значимой профессии в ИТ. А между тем это самодостаточная, довольно трудная работа, которую нельзя качественно выполнить без таланта и специфического склада ума.
Если программист ответственен за код, то тестировщик – за целый продукт. Разработчика главным образом интересует лишь функциональность: как сделать приложение максимально эффективным, и с какими техническими трудностями предстоит справиться команде. А тестировщик должен быть в первую очередь клиентоориентированным, т.е. уметь понимать заказчика и оценивать ПО с точки зрения удобства пользования.
Таким образом, QA-инженер – это посредник между командой программистов и пользователями. Его задача – понимать каждую из сторон и разговаривать с ней на понятном языке.
Говорят, что в тестировку идут те, кому не удалось стать программистом. Поэтому разработчики относятся к ним с пренебрежением, не уважают и пропускают мимо ушей все советы.
Естественно, это две совершенно разные профессии, которые подходят людям с различными типами мышления и мировоззрением. Именно поэтому они представляют собой отличный тандем: для успешной реализации проекта важны ценности каждого. Задачи тестировщика легче, чем у хорошего разработчика. Но именно он выступает связующим звеном между командой программистов, создающих программу, и людьми, которые потом ею пользуются. Получается, что создатель ПО мыслит кодом, а QA-инженер – ситуацией.
Главная миссия QA-инженера – убедиться в том, что созданный компанией продукт получился высококачественным и дружелюбным для пользователя. Так что его работа – это нечто большее, чем просто нажатие клавиш согласно инструкции.
Тестировщику приходится часто коммуницировать с людьми, обсуждать детали со многими участниками процесса, разбирать требования и разрабатывать сценарии тестирования, ставить десятки экспериментов и предоставлять аргументированную критику. Умение постоянно перевоплощаться из разработчика ПО в пользователя и обратно, чтобы рассматривать ситуации с разных точек зрения, определенно требует творческого подхода, согласны?
Тестировщик – это интересная и творческая работа, ведь, по сути, он – настоящий детектив, обладающий аналитическим мышлением, проницательностью и отличной памятью.
Если это первая работа и у вас совершенно нет опыта, то так, скорее всего, и будет.
Но тестировщики растут быстро, поэтому, если стремиться к развитию и давать компании отличные результаты, продвижение по карьерной лестнице, более интересные проекты и высокая оплата труда придут к вам гораздо раньше, чем к программисту в таком же положении.
Это будет правдой, если вы остановитесь на ручном тестировании и не захотите развиваться дальше.
А тем, кто обладает целеустремленностью, активностью и амбициями, карьера предложит 2 новых пути: перспективная QA-инженерия или административное направление – управление проектами. Здесь каждый делает свой выбор: продолжать развиваться в своей профессии, либо же уйти в менеджмент. Тестировщик может успешно применить свои таланты везде, где требуется аналитика, обеспечение качества и контроль реализации проектов.
Тестирование состоит из нескольких этапов. И часто бывает ограниченным определенными рамками. Вот почему конечный результат не всегда на 100% зависит от качества работы QA-инженеров.
Даже если после завершения всего цикла тестирования в программе остаются баги, в этом не обязательно виноваты специалисты по QA. Им могли помешать ограниченные сроки, многочисленные изменения в требованиях и пр. Кроме того, тестировщики просто находят проблемы и передают эту информацию разработчикам. А вот решение, как поступить с выявленными ошибками – исправлять или отложить – принимают последние.
Так что профессия тестировщика – это удивительный симбиоз творчества, технических задач, активной коммуникации и интересных жизненных ситуаций. А секрет успеха хорошего QA-инженера – лишь правильно все это смешать и грамотно применять свои навыки.