Искусственный интеллект в тестировании ПО: идут AI боты!
Термин «AI» использовался в видеоиграх с момента их создания, но под ним не подразумевался настоящий искусственный интеллект. Это общий термин для описания заранее запрограммированного противника или персонажа, который просто следует узкому набору инструкций.
Но все меняется, и ранее мы уже писали о том, что Electronic Arts начала тестировать самообучающихся ботов в Battlefield 1, делая уверенный шаг вперед в игровом искусстве. Разработчики заявили, что, используя технологии самообучения при тестировании игр, можно обойтись без участия живых людей. Но так ли это на самом деле? Давайте порассуждаем!
Тестирование и AI
Компьютеры действительно хорошо играют и даже разрабатывают видеоигры, от простых платформеров до более сложных, таких как Mortal Combat. А сейчас весь мир следит за тем, как машины могут позаботиться об одной из самых мучительных проблем в современной разработке игр — тестировании.
Тестирование видеоигры немного отличается от обычного тестирования программного обеспечения, так как многие из стандартных методов в данном случае неприменимы. Кроме того, этот процесс автоматизировать достаточно сложно.
Модульное тестирование существенно помогает улучшить качество программного обеспечения. Но подобные подходы, применяемые на практике тестировщиками, встречаются редко. Причина состоит в самом функционале игры, которая зависит от процесса рендеринга в игровой механике.
Что грядет?
Ключом к успешному тестированию видеоигр является игра в качестве реального пользователя. Этого можно добиться, подражая реальным пользователям, а именно — создав самообучающегося бота AI. Компания Electronic Arts продемонстрировала самообучающийся искусственный интеллект в экшене Battlefield 1, намекая на то, что рано или поздно индустрия придет к тому, что ИИ позволит модифицировать процесс разработки игр, упразднив многие ее этапы. С помощью ботов разработчики смогут, без привлечения сторонних компаний, проектировать и тестировать свои продукты, создавать массовость на серверах и симулировать нагрузки на них, искать геймплейные ошибки, недочеты, механические проблемы с отсутствием объектов или присутствием их не там, где надо. Это можно будет сделать просто снимая информацию с ботов, которые день и ночь будут трудиться на благо геймеров.
Вскоре исчезнут проблемы с недостатком онлайна на серверах! Игроки больше не будут стоять в долгих очередях в лобби и ждать недостающих игроков. Спустя еще какое-то время ботов научат определять cкилл игрока на сервере и подстраиваться под него…
Определенно, нас ждет интересное будущее в развитии игровой индустрии!
Заберут ли AI-боты всю работу по тестированию QA?
Реальная ценность в тестировании — это креатив, необходимый для выявления ошибок, которые люди (программисты) не думали или не могли предсказать на момент разработки продукта. И одна из самых больших проблем для разработчиков AI сегодня — наделить машины здравым смыслом.
Независимо от того, насколько сложным может быть искусственный интеллект, ему все еще нужен кто-то, ведущий его за руку.
Или, как сказал Янн ЛеКун (Yann LeCun), руководитель исследования AI в Facebook, на конференции в Париже: «Даже у крысы больше сознания, чем у лучших систем искусственного интеллекта, которые мы можем построить».
Неужели боты смогут рассказать разработчикам о том, что на здании не прорисовались текстуры, о разрывах карт, графических артефактах и попадании в неигровые зоны, так сказать, подсадки? И в итоге тонны терабайт логов после ботов также будут просматривать люди. Тогда все усложнится, добавится больше работы и больше ошибок. Понадобится больше людей, отделов, удорожает производство и конечный продукт, который и без того не является дешевым в ряде стран.
Также на сегодняшний день открытыми остаются множество вопросов. Будет ли у игроков возможность взаимодействия с ботами, помощь, чат, будут ли боты использовать специализации в играх (медик, снайпер, саппорт, штурмовик), возможно ли будет играть слаженно, так, чтобы боты помогали игроку, а не игрок прикрывался ими?
Вывод
Подводя итог, можно сказать, что тестирование с участием живых людей никуда не денется в ближайшем будущем, но машинное обучение позволит изменить эту работу. AI заметит каждую мелочь, которая добавляется или удаляется из приложения. Там, где ручное тестирование пропускает изменения в последнем билде, боты автоматически нажмут каждую новую кнопку, добавленную в приложение, обратят внимание на каждую картинку, пропавшую из него, в то время как тестировщики могут сосредоточиться на более сложных задачах, заменяя монотонность процесса тестирования словом «творчество».