QAOps (quality assurance + software operations) — не новая специализация. В разных компаниях уже довольно давно используют различные связки терминов Test и OPS для описания этой проектной роли: в Microsoft выбрали название TestOps, в Google — TestSecOps, в ЕРАМ — DevTestSecOps.
QAOps
Эти, на первый взгляд, громоздкие термины, на самом деле помогают полнее понять, чем же занимаются специалисты по автоматизации тестирования.
Ведь их круг обязанностей изначально предполагает умение не только написать тест, но и интегрировать его в существующую инфраструктуру или создать новую, извлечь необходимые данные, обработать и проанализировать результаты.
Гораздо быстрее сделать это самостоятельно, чем вовлекать в процесс коллег-разработчиков или DevOps-инженеров.
Примечательно, что именно QAOps часто находят такой функционал облачных систем, о котором не знают даже DevOps. Мы — провокаторы продвинутого обучения 😊
Что должен уметь DevTestSecOps?
DevTestSecOps — это универсальный солдат, который может с нуля развернуть фреймворк, создать всю необходимую для тестирования инфраструктуру, поддерживать автотесты в рабочем состоянии, в случае найденных дефектов в коде приложения уметь их исправить.
Это своего рода Full-Stack-инженеры с фокусом на тестировании программного обеспечения, которые, помимо своих непосредственных обязанностей, могут выполнять ряд других задач.
DevTestSecOps-специалистам (равно как и автоматизаторам тестирования) очень важно просматривать код разработчиков, чтобы заранее отследить изменения в продукте, понимать те области, на которые следует обратить внимание при тестировании, и, как бонус, прокачивать собственный стиль написания кода, учась у разработчиков.
Это может прозвучать страшно для автоматизатора тестирования — пофиксить найденный дефект. На деле же — это очень интересно.
Вовлекаясь в процесс разработки со всех сторон — ты понимаешь продукт со всех сторон, и разобраться в причине дефекта становится вопросом нескольких минут. Своего рода открывается «третий глаз».
Почему DevSecOps востребованы на проектах
В двух словах: клиенту выгодно иметь в команде проекта DevSecOps-специалиста, даже несмотря на то, что оплата его работы, как правило, выше, чем инженера по автоматизации тестирования.
Такой специалист, помимо своих прямых задач по тестированию программного продукта, может частично брать на себя обязанности DevOps-специалистов или разработчиков, когда это критично необходимо. Например, при подготовке к релизу или наличии более приоритетных задач для девелоперов.
Приведу пару примеров из практики.
В рамках проекта для клиента из сферы e-commerce команда разбивала большую систему на пять отдельных подсистем. Нагрузка была большой и в определенный момент разработчики начали выбиваться из планового графика.
Привлечение в проект DevSecOps-специалиста позволило освободить девелоперов от рутинной работы, отнимающей много времени, в частности, починки регрессионых дефектов, и дало им возможность сосредоточиться на наращивании новых модулей. В результате продуктивность работы повысилась в разы.
Интересен пример использования искусственного интеллекта в работе DevSecOps. Для одного из клиентов, крупной страховой компании, был разработан робот для ускорения обработки входящей документации, поступающей в неоднородном формате. В итоге мы переиспользовали этого робота для генерации тестовых данных для написания автотестов.
Как освоить профессию и почему стоит это делать?
DevTestSecOps-специалистам гораздо проще общаться и с разработчиками, и с DevOps-инженерами, поскольку они работают с одними и теми же инструментами, используют общую профессиональную лексику.
Повышение квалификации с инженера по автоматизации тестирования до DevTestSecOps обычно происходит либо на практике, «в полях», либо путем самостоятельного освоения информации. Я – самоучка, меня мотивирует мой «внутренний ребенок», которому постоянно хочется все изучать, пробовать и исследовать. Но это далеко не показательный пример.
Middle QAOps
Чаще всего траектория обучения выглядит следующим образом: до уровня middle специалист по автоматизации тестирования прокачивает ключевые навыки:
- оттачивает мастерство написания тестов на своем основном языке программирования;
- изучает технологии;
- учится автоматизировать определенные уровни приложений;
- накапливает знания и приобретает практический опыт, который позволяет быстро реагировать на запросы клиента, ориентироваться в задачах и путях их решения.
Senior QAOps
Начиная с уровня senior, к автоматизаторам предъявляют требования более высокого порядка:
- они отвечают за инфраструктуру;
- должны уметь дописать скрипт для расширения возможностей cloud-провайдера;
- провести качественный код-ревью, оптимизировать ключевые функции.
Найти необходимую информацию чаще всего помогают DevOps-инженеры или правильно составленный запрос к поисковым системам.
Кстати, корректно сформулировать вопрос, для того чтобы Google выдал нужный ответ — это тоже навык, которым далеко не все владеют «по умолчанию».
На этом же уровне специалист выбирает дальнейший вектор развития: развивать технические компетенции или выбрать путь в менеджмент.
С компанией ЕРАМ в настоящее время сотрудничает уже свыше 1000 DevTestSecOps-специалистов, и некоторые из них признаются, что перешли в эту профессию ради интересных задач и работы с перспективными технологиями (даже с незначительным понижением собственной позиции на начальном этапе).
DevTestSecOps ≠ автоматизатор
В нашем профессиональном сообществе DevTestSecOps-специалисты довольно ревностно относятся к правильному наименованию их позиции. И если вы вдруг назовете кого-то из них «тестировщиком», возможно вас и не удалят из списка контактов, но осадок останется.
Почему это так важно? В самом названии позиции заложено полное и правильное понимание задач, с которыми работает специалист. Потому в дальнейшем им будут предлагать соответствующие проектные роли и позиции.
Этот материал – не редакционный, это – личное мнение его автора. Редакция может не разделять это мнение.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: