Профессия тестировщик ПО: что с ней будет в ближайшие 5 лет

Профессия тестировщик ПО процветает. На сегодняшний день она остается одним из самых простых способов войти в IT-сферу. Вакансий много, возможен быстрый профессиональный рост. При этом вокруг тестирования время от времени возникают разговоры о том, что скоро ситуация может измениться.

В нашей IT-Академии это самая популярная специальность. Сюда идет самый большой поток обучающихся. Мы регулярно проводим опросы наших выпускников и их результаты впечатляют — более 80% начинают работать тестировщиком в течении полугода. В течении 2 лет зарплата у половины вырастает в среднем в 2-3 раза.

На различных конференциях по разработке программного обеспечения часто можно услышать гипотезу о том, что тестирование умирает. Почти всегда доклад на эту тему строится на том, что новые методы разработки постепенно уничтожают данную профессию в чистом виде. Сюда включают автоматическое тестирование, системы доставки, непрерывную интеграцию, микросервисы, системы мониторинга и возможности отката.

Как изменится данная профессия в ближайшие 5-10 лет? Попробовали выделить ведущие тенденции, о которых чаще всего говорят на специализированных ресурсах.

Автоматизация станет важным навыком в тестировании.

Конечно же, ручное тестирование никуда не исчезнет — его объемы в процентном соотношении к общим объемам тестирования останутся прежними, возможно, даже вырастут. Но тестировщикам нужно будет знать языки программирования для более эффективной работы в команде. При этом автоматизация ни в коем случае не означает уменьшение роли человека в данном процессе, как об этом часто можно услышать. GUI можно запустить напрямую или использовать скрипт, но при любом варианте необходим специалист для оценки результатов и исследования ситуации.

Кроме того, существуют такие аспекты, где автоматизацию применять нерационально. Например, тестирование пользовательского интерфейса, удобства, доступности. На Западе многие эксперты считают, что уже давно пора перестать разделять ручное и автоматическое тестирование. Есть просто тестирование, которое в любом случае завязано на живых специалистах. Автоматические юнит-тесты ничего не говорят о том, работает ли программа. Такое утверждение давно уже стало определенной мантрой на специализированных ресурсах зарубежных тестировщиков.

Александр Таранков, Senior QA Engineer в компании Plesk, преподаватель курса Тестирования ПО в IT-Академии Алексея Сухорукова.  

Можно ли быть отличным специалистом по тестированию, совсем не умея программировать? Можно. Автоматизация для тестировщика далеко не самое главное. Но это не значит, что ей не стоит учиться. Хотя бы для того, чтобы лучше понимать, что происходит в голове разработчика, как он решает задачу. Или для того, чтобы сделать более эффективной свою работу, написав небольшой скриптик, который сэкономит впоследствии часы ручного труда. В общем, программирование для тестировщика — это ещё один навык, который помогает ему быть более эффективным и полезным в команде.

Если начинать, то, пожалуй, лучше с Python — он проще в освоении и при этом имеет развитую экосистему для автотестов. Экосистема — это наличие готовых библиотек и инструментов, которые можно использовать для автоматизации тестирования.

 

Любовь Попова, тест-инженера в компании Premium IT solution, преподаватель онлайн-курса Тестирования ПО в IT-Академии Алексея Сухорукова.  

Даже самые совершенные роботы тут заменить человека не смогут – тестирование требует слишком много нелинейного анализа, слишком много эвристики, слишком много именно человеческого участия.

 

Конвергенция навыков и непрерывное тестирование.  

В современной разработке ПО остается все меньше ролей, которые сосредоточены на выполнении одной функции. Методологии разработки Agile и DevOps в каком-то смысле делают профессию тестировщика в чистом виде более уязвимой. В Agile ключевое значение имеют компетенции, а не роли. Разработка ПО и его тестирование становятся единым процессом, а комплексное тестирование необходимо внедрять уже на самых ранних циклах разработки (и вести его параллельно). При этом за качество тестирования отвечает почти вся команда, а не только тестировщики.

 Этот процесс будет только усиливаться и принимать всеобщий характер. Один из главных принципов Agile — вносить новые работающие фичи каждую итерацию. И эта итерация не может быть завершена без прогона тестов и работы с багами (как часто бывает в реальности). Если происходит по другому, то количество ошибок (технический долг) только продолжает накапливаться и нарастать.

Именно поэтому непрерывное тестирование станет обязательным. Нельзя сказать, что это какой-то новый тренд, но в будущем его значение увеличится.

Повсеместное использование тестирования в облаке.

Многие проекты уже давно тестируют свои приложения с использованием облачных технологий. Такой подход позволяет проверять программы и моделировать любые сценарии их работы в изолированной среде без риска для “живой” инфраструктуры. Это означает и существенную экономию — облачные платформы избавляют от необходимости в покупке, установке и настройке серверов, систем хранения, баз данных, операционных систем, различных инструментов разработки и тестирования. CEO Oracle Марк Хёрд считает, что к 2025 году в облако уйдет вся разработка и тестирование. В больших объемах такая миграция будет происходить как раз в ближайшие 2-3 года.

Экономия, скорость и коллективная работа — вот главные преимущества облачных технологий. Из соображений безопасности многие IT-компании разворачивают свое “частное облако”, однако чаще всего по функционалу и возможностям оно уступает крупным облачным платформам.

Рост потребности в тестировщиках больших данных.

Широкое распространение Big Data приводит к возникновению пока еще неклассических задач для тестировщиков. Особенно это касается миграции баз данных на новые ресурсы и окружение. При такой миграции из одной архитектуры в другую возможен целый ряд проблем: утеря данных, миграция нерабочих компонентов, различные нарушения в правах доступа. Для работы с такими ошибками и привлекаются инженеры по тестированию ПО. Здесь будет происходить разработка новых подходов и методологий тестирования, появление и внедрение новых инструментов. Существующие автоматизированные сервисы по тестированию больших данных также получат новые импульсы для развития.

 

Тестировщики начнут тестировать нейронные сети и приложения для машинного обучения.

Нейронные сети продолжают  свое повсеместное проникновение. За такими технологиями — все будущее IT-сферы. Интересно, что именно нейронные сети, по мнению ряда специалистов, способны заменить тестировщиков. Однако пока до этого слишком далеко, и сами нейронные сети нуждаются в тестировщиках.

Нейронные сети уже сейчас начинают применяться в качестве инструмента тестирования. Однако универсальный искусственный интеллект для тестирования создать невозможно — для каждой задачи должна быть разработана и обучена своя нейронная сеть. Таким образом, в сфере тестирования ПО возможно выделение отдельного направления по работе с нейронными сетями. Это касается и их обучения для решения задач по тестированию, а также и их непосредственное тестирование.

 

IOT тестирование

Развитие интернета вещей также происходит семимильными шагами. Что касается тестирования таких технологий, то здесь есть свои особенности. Главная из них — комплексное тестирование программного обеспечения и аппаратной части (шлюзы, сенсоры и так далее). Работа этих компонентов IOT напрямую зависит друг от друга и, фактически, превращается в единый процесс. Тестирование сетевой архитектуры также приобретает здесь решающее значение из-за важности скорости передачи данных.

Тестирование IOT со временем превратится в главное направлений для работы команд тестировщиков. Подходы здесь будут сильно отличаться в зависимости от конкретной операционной системы, типа устройства, протокола и используемого коммуникационного модуля.

 

Чтобы успевать за всеми этими изменениями, не нужно делать ничего особенного. Нужно делать то же самое, что обязаны делать все IT-специалисты — постоянно улучшать и развивать свои навыки. В данном случае — навыки тестирования.

IT-Академия Алексея Сухорукова проводит курсы по тестированию ПО в очном и онлайн форматах.