Стремительное развитие возможностей AI во всех областях заставляет переосмысливать роли специалистов многих профессий. Обеспечение качества ПО — один из важнейших процессов разработки IT-продуктов — не стало исключением. Подход к тестированию уже изменила автоматизация, которая позволила повысить его эффективность, а теперь искусственный интеллект выводит автоматизацию на новый уровень, поднимая закономерный вопрос: сможет ли AI полностью заменить тестировщиков в ближайшем будущем? Как искусственный интеллект уже влияет на ручное и автотестирование, как внедрение этого инструмента отражается на числе вакансий и зарплате тестировщиков и о будущем этой специальности Хайтек+ поговорил с экспертом по автоматизированному тестированию Евгением Заяц — автором ряда научных статей об использовании AI в тестировании, о роли искусственного интеллекта в тестировании ПО и методах его обучения в журналах Сomponents of Scientific and Technological Progress, «Перспективы науки» и «Наука и бизнес: пути развития».
— Евгений, вы исследуете взаимодействие с AI на научном уровне — ваши статьи на эту тему опубликованы в нескольких изданиях из перечня Высшей аттестационной комиссии. Как вы относитесь к появлению и популяризации ChatGPT? Вас не беспокоит вероятность остаться из-за него без работы?
— С AI я знаком с университетских лет, поэтому каким-то сюрпризом сама технология для меня не стала. Однако популярность, удобство использования и результат на выходе, конечно, произвели впечатление. К появлению ChatGPT отнесся с энтузиазмом и сразу же пытался применить для рабочих задач, что-то получилось, что-то нет. Страхов по поводу потери работы никаких и не было, и нет. AI вообще и ChatGPT в частности — прекрасные инструменты, которые упрощают некоторые рутинные задачи.
— Многие считают простой работой ручное тестирование. И это одна из самых популярных специализаций на курсах для вхождения в IT. Может ли AI вытеснить таких тестировщиков?
— Я всю свою карьеру занимался автоматизированным тестированием, ручным занимался немного, но мне повезло встретить несколько ручных тестировщиков, которые могли в готовой и протестированной моими автотестами системе найти огромное количество проблем, про которые никто кроме них и подумать не мог. Я много раз пытался понять логику, по которой они находят проблемы, но убеждался, что это скорее интуиция. Сложно представить, как AI сможет заменить опытных ручных тестировщиков, которые обладают уникальной способностью находить неочевидные ошибки и проблемы в системе.
Если мы говорим о генерации тестовых сценариев для хорошо описанной системы с известными требованиями — да, AI может нам помочь сгенерировать тест-кейсы и может заменить тех, кто прокликивает какие-то готовые тестовые сценарии для тестирования веб-страницы. В этом случае AI можно будет грамотно расписать, что мы хотим, как мы хотим, какие тестовые сценарии нужны, какой вид тестирования хотим применить. После нескольких итераций, AI генерирует вполне себе хороший тестовый план, который можно применить, и с использованием других инструментов эти тестовые сценарии даже можно начать автоматически запускать. Тут можно говорить о необходимости некой переквалификации таких работников — вместо прокликивания кнопок на сайте, они будут пытаться сгенерировать правильный запрос в AI и валидировать ответ. Однако, если мы говорим про серьезных ручных тестировщиков, то для них в реальных задачах все не так просто. Кроме того, что часто функционал выпускается без понятных требований, которые надо самому придумать исходя из здравого смысла, который у AI отсутствует. И здесь очень важна интуиция — понимание того, что стоит тестировать и где выше вероятность найти проблемы.
— С ручным — понятно, а если говорить про автоматизацию: AI умеет генерировать код — может сам проводить автоматизацию, — вам нужно только объяснить ему тест-кейс, определить язык программирования, и AI все сделает за вас. Останется только скопировать готовые сценарии. Или тут есть какие-то подводные камни?
— К моему большому сожалению, код, который генерирует тот же ChatGPT, редко работает сразу, как надо, для рабочих задач. Обычно есть слишком много специфики, из-за которой нет возможности сгенерировать подходящее решение. Иногда бывает быстрее самому сразу написать правильно, чем мучать AI запросами. Вот в плане поиска ошибок в каком-то коде AI может хорошо подсказать. А в плане генерации поддерживаемого и чистого кода, AI пока далек до идеала. Он хороший помощник, но не более.
— У вас большой опыт работы тестировщиком в крупнейших компаниях вроде Dell EMC и Yadro, скажите, как появление и внедрение AI отражается на количестве рабочих мест в области тестирования и доходах специалистов?
— Прямо сейчас влияния на число вакансий не наблюдаю, и, на мой взгляд, количество рабочих мест совершенно точно не уменьшится в ближайшем будущем, однако эффективность текущих сотрудников определенно повысится. В большинстве компаний инженеры из отдела тестирования зачастую очень многофункциональные специалисты, и даже если какая-то определенная область их деятельности будет делегирована AI, для инженеров все еще останется достаточно других задач. Что касается зарплаты — за последний два года их уровень в крупных компаниях относительно стабилизировался, бурного роста уже нет, но и тренда на уменьшение тоже не вижу. Тут AI не сыграл никакой значимой роли.
— Исходя из вашего знания и понимания рынка вакансий тестировщиков, скажите, появились ли какие-то новые требования по умению работать с AI?
— В подавляющем большинстве вакансий никаких существенных изменений не произошло. Все зависит от конкретной бизнес-области. Если бизнес каким-то образом завязан на AI, то, да, требования по базовому пониманию AI, конечно, присутствуют. Но они были и до появления ChatGPT. Некоторые работодатели стали добавлять дополнительные требования по промт-инжинирингу, но это не носит повсеместный характер и связано с конкретными бизнес-задачами.
— Насколько часто сейчас в тестировании используется AI?
— Несмотря на большие ожидания, реальное применение AI в тестировании остается ограниченным. Многие попробовали различные AI-инструменты, но быстро разочаровались, потому что AI не решил их конкретные задачи. И осталось отношение как к интересной игрушке, но не более того. Часть компаний продолжает экспериментировать с AI, но часто ограничиваются использованием его в качестве вспомогательного инструмента. Если говорить обо мне, я использую его почти каждый день. И для рутинных задач — написание каких-то заготовок, — и как замена поиску в Google.
— Какие перспективы использования AI видите в ближайшем будущем?
— Жду появления новых инструментов на базе AI. На самом деле, простор использования огромный. У меня есть несколько своих идей, надеюсь, получится реализовать. В частности — это инструменты анализа логов, более совершенные инструменты генерации автоматических тест кейсов, инструмент для менеджмента тест кейсов и в целом менеджмента тестовых процессов. Текущие инструменты страдают от своей закостенелости и большого количества ненужных ручных действий. Однако, если говорить в целом про индустрию, то ждать кардинальных изменений из-за появления AI не стоит. Говорить о том, что AI полностью заменит тестировщиков, совершенно точно нельзя. Мы в безопасности на ближайшие года. Что будет дальше — покажет время.